chore(l10n): remove 70 unused localization keys

1,303 stale entries dropped across 19 locales (largest groups:
Spotify credentials flow, collection playlists, notification
channels, backup strings); generated localizations rebuilt.

Crowdin sources need a resync after this lands.
This commit is contained in:
zarzet
2026-07-12 20:23:19 +07:00
parent 85949eef8c
commit e1af1c8dc9
35 changed files with 10 additions and 11015 deletions
-420
View File
@@ -236,12 +236,6 @@ abstract class AppLocalizations {
/// **'Appearance'**
String get settingsAppearance;
/// Settings section - app options
///
/// In en, this message translates to:
/// **'Options'**
String get settingsOptions;
/// Settings section - extension management
///
/// In en, this message translates to:
@@ -344,12 +338,6 @@ abstract class AppLocalizations {
/// **'Grid'**
String get appearanceHistoryViewGrid;
/// Options settings page title
///
/// In en, this message translates to:
/// **'Options'**
String get optionsTitle;
/// Main search provider setting
///
/// In en, this message translates to:
@@ -380,12 +368,6 @@ abstract class AppLocalizations {
/// **'Choose which tab opens first for new search results.'**
String get optionsDefaultSearchTabSubtitle;
/// Hint to switch back from extension search
///
/// In en, this message translates to:
/// **'Choose the default search provider to switch back from an extension'**
String get optionsSwitchBack;
/// Auto-retry with other services
///
/// In en, this message translates to:
@@ -398,24 +380,6 @@ abstract class AppLocalizations {
/// **'Try other services if download fails'**
String get optionsAutoFallbackSubtitle;
/// Legacy setting label for extension download providers
///
/// In en, this message translates to:
/// **'Use Extension Providers'**
String get optionsUseExtensionProviders;
/// Status when extension providers enabled
///
/// In en, this message translates to:
/// **'Extension providers are enabled'**
String get optionsUseExtensionProvidersOn;
/// Legacy status when extension providers would be disabled
///
/// In en, this message translates to:
/// **'Extension providers are required'**
String get optionsUseExtensionProvidersOff;
/// Embed lyrics in audio files
///
/// In en, this message translates to:
@@ -464,12 +428,6 @@ abstract class AppLocalizations {
/// **'Rescan ReplayGain'**
String get trackReplayGain;
/// Subtitle for the rescan ReplayGain menu option
///
/// In en, this message translates to:
/// **'Analyze loudness and write ReplayGain tags'**
String get trackReplayGainSubtitle;
/// Snackbar/progress message while scanning ReplayGain for a single track
///
/// In en, this message translates to:
@@ -632,36 +590,6 @@ abstract class AppLocalizations {
/// **'Enable for bug reports'**
String get optionsDetailedLoggingOff;
/// Spotify API credentials setting
///
/// In en, this message translates to:
/// **'Spotify Credentials'**
String get optionsSpotifyCredentials;
/// Shows configured client ID preview
///
/// In en, this message translates to:
/// **'Client ID: {clientId}...'**
String optionsSpotifyCredentialsConfigured(String clientId);
/// Prompt to set up credentials
///
/// In en, this message translates to:
/// **'Required - tap to configure'**
String get optionsSpotifyCredentialsRequired;
/// Info about Spotify API requirement
///
/// In en, this message translates to:
/// **'Spotify requires your own API credentials. Get them free from developer.spotify.com'**
String get optionsSpotifyWarning;
/// Warning about Spotify API deprecation
///
/// In en, this message translates to:
/// **'Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.'**
String get optionsSpotifyDeprecationWarning;
/// Extensions page title
///
/// In en, this message translates to:
@@ -680,12 +608,6 @@ abstract class AppLocalizations {
/// **'Version {version}'**
String extensionsVersion(String version);
/// Extension author credit
///
/// In en, this message translates to:
/// **'by {author}'**
String extensionsAuthor(String author);
/// Uninstall extension button
///
/// In en, this message translates to:
@@ -1352,18 +1274,6 @@ abstract class AppLocalizations {
/// **'History cleared'**
String get snackbarHistoryCleared;
/// Snackbar - Spotify credentials saved
///
/// In en, this message translates to:
/// **'Credentials saved'**
String get snackbarCredentialsSaved;
/// Snackbar - Spotify credentials removed
///
/// In en, this message translates to:
/// **'Credentials cleared'**
String get snackbarCredentialsCleared;
/// Snackbar - tracks deleted
///
/// In en, this message translates to:
@@ -1376,12 +1286,6 @@ abstract class AppLocalizations {
/// **'Cannot open file: {error}'**
String snackbarCannotOpenFile(String error);
/// Snackbar - validation error
///
/// In en, this message translates to:
/// **'Please fill all fields'**
String get snackbarFillAllFields;
/// Snackbar action - view download queue
///
/// In en, this message translates to:
@@ -1520,18 +1424,6 @@ abstract class AppLocalizations {
/// **'Deselect'**
String get actionDeselect;
/// Action button - delete Spotify credentials
///
/// In en, this message translates to:
/// **'Remove Credentials'**
String get actionRemoveCredentials;
/// Action button - save Spotify credentials
///
/// In en, this message translates to:
/// **'Save Credentials'**
String get actionSaveCredentials;
/// Selection count indicator
///
/// In en, this message translates to:
@@ -1826,12 +1718,6 @@ abstract class AppLocalizations {
/// **'If a track is not available on the first provider, the app will automatically try the next one.'**
String get providerPriorityInfo;
/// Section title for choosing which download extensions can be used as fallback providers
///
/// In en, this message translates to:
/// **'Extension Fallback'**
String get providerPriorityFallbackExtensionsTitle;
/// Section description for extension fallback selection
///
/// In en, this message translates to:
@@ -1844,12 +1730,6 @@ abstract class AppLocalizations {
/// **'Only enabled extensions with download-provider capability are listed here.'**
String get providerPriorityFallbackExtensionsHint;
/// Legacy label retained for old generated localization compatibility
///
/// In en, this message translates to:
/// **'Legacy'**
String get providerBuiltIn;
/// Label for extension-provided providers
///
/// In en, this message translates to:
@@ -1874,18 +1754,6 @@ abstract class AppLocalizations {
/// **'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'**
String get metadataProviderPriorityInfo;
/// Deezer provider description
///
/// In en, this message translates to:
/// **'No rate limits'**
String get metadataNoRateLimits;
/// Spotify provider description
///
/// In en, this message translates to:
/// **'May rate limit'**
String get metadataMayRateLimit;
/// Logs screen title
///
/// In en, this message translates to:
@@ -1970,42 +1838,6 @@ abstract class AppLocalizations {
/// **'Entries ({count})'**
String logEntries(int count);
/// Credentials dialog title
///
/// In en, this message translates to:
/// **'Spotify Credentials'**
String get credentialsTitle;
/// Credentials dialog explanation
///
/// In en, this message translates to:
/// **'Enter your Client ID and Secret to use your own Spotify application quota.'**
String get credentialsDescription;
/// Client ID field label - DO NOT TRANSLATE
///
/// In en, this message translates to:
/// **'Client ID'**
String get credentialsClientId;
/// Client ID placeholder
///
/// In en, this message translates to:
/// **'Paste Client ID'**
String get credentialsClientIdHint;
/// Client Secret field label - DO NOT TRANSLATE
///
/// In en, this message translates to:
/// **'Client Secret'**
String get credentialsClientSecret;
/// Client Secret placeholder
///
/// In en, this message translates to:
/// **'Paste Client Secret'**
String get credentialsClientSecretHint;
/// Update channel - stable releases
///
/// In en, this message translates to:
@@ -2168,12 +2000,6 @@ abstract class AppLocalizations {
/// **'Service, quality, fallback'**
String get settingsDownloadSubtitle;
/// Options settings description
///
/// In en, this message translates to:
/// **'Fallback, metadata, lyrics, cover art'**
String get settingsOptionsSubtitle;
/// Extensions settings description
///
/// In en, this message translates to:
@@ -2516,12 +2342,6 @@ abstract class AppLocalizations {
/// **'https://github.com/user/repo'**
String get storeRepoUrlHint;
/// Helper text below the repository URL input field
///
/// In en, this message translates to:
/// **'e.g. https://github.com/user/extensions-repo'**
String get storeRepoUrlHelper;
/// Button to submit a new repository URL
///
/// In en, this message translates to:
@@ -2570,24 +2390,6 @@ abstract class AppLocalizations {
/// **'No extensions found'**
String get storeEmptyNoResults;
/// Default search provider option
///
/// In en, this message translates to:
/// **'Default Search'**
String get extensionDefaultProvider;
/// Subtitle for default provider
///
/// In en, this message translates to:
/// **'Use the default metadata search'**
String get extensionDefaultProviderSubtitle;
/// Extension detail - author
///
/// In en, this message translates to:
/// **'Author'**
String get extensionAuthor;
/// Extension detail - unique ID
///
/// In en, this message translates to:
@@ -2942,12 +2744,6 @@ abstract class AppLocalizations {
/// **'Smallest size, ~4MB per track'**
String get downloadLossyOpus128Subtitle;
/// Note about quality availability
///
/// In en, this message translates to:
/// **'Actual quality depends on track availability from the service'**
String get qualityNote;
/// Setting - show quality picker
///
/// In en, this message translates to:
@@ -3188,12 +2984,6 @@ abstract class AppLocalizations {
/// **'{count} selected'**
String downloadedAlbumSelectedCount(int count);
/// Status - all items selected
///
/// In en, this message translates to:
/// **'All tracks selected'**
String get downloadedAlbumAllSelected;
/// Selection hint
///
/// In en, this message translates to:
@@ -4232,24 +4022,12 @@ abstract class AppLocalizations {
/// **'Save Cover Art'**
String get trackSaveCoverArt;
/// Subtitle for save cover art action
///
/// In en, this message translates to:
/// **'Save album art as .jpg file'**
String get trackSaveCoverArtSubtitle;
/// Menu action - save lyrics as .lrc file
///
/// In en, this message translates to:
/// **'Save Lyrics (.lrc)'**
String get trackSaveLyrics;
/// Subtitle for save lyrics action
///
/// In en, this message translates to:
/// **'Fetch and save lyrics as .lrc file'**
String get trackSaveLyricsSubtitle;
/// Snackbar while saving lyrics to file
///
/// In en, this message translates to:
@@ -4268,12 +4046,6 @@ abstract class AppLocalizations {
/// **'Search metadata online and embed into file'**
String get trackReEnrichOnlineSubtitle;
/// Section title for field selection in re-enrich dialog
///
/// In en, this message translates to:
/// **'Fields to update'**
String get trackReEnrichFieldsTitle;
/// Checkbox label for cover art field in re-enrich
///
/// In en, this message translates to:
@@ -4376,12 +4148,6 @@ abstract class AppLocalizations {
/// **'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n{count} selected'**
String queueFlacConfirmMessage(int count);
/// Snackbar while resolving remote matches for local FLAC redownloads
///
/// In en, this message translates to:
/// **'Finding FLAC matches... ({current}/{total})'**
String queueFlacFindingProgress(int current, int total);
/// Snackbar when no safe FLAC redownload matches were found
///
/// In en, this message translates to:
@@ -4406,12 +4172,6 @@ abstract class AppLocalizations {
/// **'Convert Format'**
String get trackConvertFormat;
/// Subtitle for convert format menu item
///
/// In en, this message translates to:
/// **'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC'**
String get trackConvertFormatSubtitle;
/// Title of convert bottom sheet
///
/// In en, this message translates to:
@@ -4485,12 +4245,6 @@ abstract class AppLocalizations {
/// **'Split CUE Sheet'**
String get cueSplitTitle;
/// Subtitle for CUE split menu item
///
/// In en, this message translates to:
/// **'Split CUE+FLAC into individual tracks'**
String get cueSplitSubtitle;
/// Album name in CUE split sheet
///
/// In en, this message translates to:
@@ -4581,12 +4335,6 @@ abstract class AppLocalizations {
/// **'Favorite Artists'**
String get collectionFavoriteArtists;
/// Custom user playlists folder
///
/// In en, this message translates to:
/// **'Playlists'**
String get collectionPlaylists;
/// Single playlist label
///
/// In en, this message translates to:
@@ -4611,12 +4359,6 @@ abstract class AppLocalizations {
/// **'No playlists yet'**
String get collectionNoPlaylistsYet;
/// Empty state subtitle when user has no playlists
///
/// In en, this message translates to:
/// **'Create a playlist to start categorizing tracks'**
String get collectionNoPlaylistsSubtitle;
/// Track count label for custom playlists
///
/// In en, this message translates to:
@@ -4641,12 +4383,6 @@ abstract class AppLocalizations {
/// **'Already in \"{playlistName}\"'**
String collectionAlreadyInPlaylist(String playlistName);
/// Snackbar after creating playlist
///
/// In en, this message translates to:
/// **'Playlist created'**
String get collectionPlaylistCreated;
/// Hint text for playlist name input
///
/// In en, this message translates to:
@@ -4671,18 +4407,6 @@ abstract class AppLocalizations {
/// **'Delete playlist'**
String get collectionDeletePlaylist;
/// Confirmation message for deleting playlist
///
/// In en, this message translates to:
/// **'Delete \"{playlistName}\" and all tracks inside it?'**
String collectionDeletePlaylistMessage(String playlistName);
/// Snackbar after deleting playlist
///
/// In en, this message translates to:
/// **'Playlist deleted'**
String get collectionPlaylistDeleted;
/// Snackbar after renaming playlist
///
/// In en, this message translates to:
@@ -4749,12 +4473,6 @@ abstract class AppLocalizations {
/// **'Remove from folder'**
String get collectionRemoveFromFolder;
/// Snackbar after removing a track from a collection
///
/// In en, this message translates to:
/// **'\"{trackName}\" removed'**
String collectionRemoved(String trackName);
/// Snackbar after adding track to loved folder
///
/// In en, this message translates to:
@@ -4885,12 +4603,6 @@ abstract class AppLocalizations {
/// **'Convert {count} {count, plural, =1{track} other{tracks}} to {format}? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.'**
String selectionBatchConvertConfirmMessageLossless(int count, String format);
/// Snackbar during batch conversion progress
///
/// In en, this message translates to:
/// **'Converting {current} of {total}...'**
String selectionBatchConvertProgress(int current, int total);
/// Snackbar after batch conversion completes
///
/// In en, this message translates to:
@@ -5095,12 +4807,6 @@ abstract class AppLocalizations {
/// **'Choose backup file'**
String get backupImportButton;
/// Progress text while a backup is being created
///
/// In en, this message translates to:
/// **'Creating backup...'**
String get backupCreating;
/// Snackbar after a backup file is created
///
/// In en, this message translates to:
@@ -5113,12 +4819,6 @@ abstract class AppLocalizations {
/// **'Failed to create backup'**
String get backupCreateFailed;
/// Snackbar when there is no data to back up
///
/// In en, this message translates to:
/// **'There is nothing to back up yet'**
String get backupEmpty;
/// Confirmation dialog title before restoring a backup
///
/// In en, this message translates to:
@@ -5137,12 +4837,6 @@ abstract class AppLocalizations {
/// **'Restore'**
String get backupRestoreConfirmButton;
/// Progress text while restoring a backup
///
/// In en, this message translates to:
/// **'Restoring backup...'**
String get backupRestoring;
/// Snackbar after a successful restore
///
/// In en, this message translates to:
@@ -5499,12 +5193,6 @@ abstract class AppLocalizations {
/// **'Select a provider with quality options to enable this option'**
String get downloadSelectServiceToEnable;
/// Legacy info shown when a provider does not expose quality options
///
/// In en, this message translates to:
/// **'Select a provider with quality options to choose audio quality'**
String get downloadSelectTidalQobuz;
/// Subtitle when lyrics embedding is blocked by metadata toggle
///
/// In en, this message translates to:
@@ -5835,12 +5523,6 @@ abstract class AppLocalizations {
/// **'Downloading ({count})'**
String queueDownloadingCount(int count);
/// Header label for downloaded items section in library
///
/// In en, this message translates to:
/// **'Downloaded'**
String get queueDownloadedHeader;
/// Shown while filter results are being computed
///
/// In en, this message translates to:
@@ -6057,12 +5739,6 @@ abstract class AppLocalizations {
/// **'Re-analyzing audio...'**
String get audioAnalysisRescanning;
/// Extensions page - subtitle for default metadata search provider option
///
/// In en, this message translates to:
/// **'Search with {providerName}'**
String extensionsSearchWith(String providerName);
/// Extensions page - label for home feed provider selector
///
/// In en, this message translates to:
@@ -6111,18 +5787,6 @@ abstract class AppLocalizations {
/// **'No extensions with home feed'**
String get extensionsNoHomeFeedExtensions;
/// Sort option - alphabetical ascending
///
/// In en, this message translates to:
/// **'A-Z'**
String get sortAlphaAsc;
/// Sort option - alphabetical descending
///
/// In en, this message translates to:
/// **'Z-A'**
String get sortAlphaDesc;
/// Dialog title when confirming cancellation of an active download
///
/// In en, this message translates to:
@@ -6159,48 +5823,6 @@ abstract class AppLocalizations {
/// **'Failed to open folder picker: {error}'**
String snackbarFolderPickerFailed(String error);
/// Error state shown when album fails to load
///
/// In en, this message translates to:
/// **'Failed to load album'**
String get errorLoadAlbum;
/// Error state shown when playlist fails to load
///
/// In en, this message translates to:
/// **'Failed to load playlist'**
String get errorLoadPlaylist;
/// Error state shown when artist fails to load
///
/// In en, this message translates to:
/// **'Failed to load artist'**
String get errorLoadArtist;
/// Android notification channel name for download progress
///
/// In en, this message translates to:
/// **'Download Progress'**
String get notifChannelDownloadName;
/// Android notification channel description for download progress
///
/// In en, this message translates to:
/// **'Shows download progress for tracks'**
String get notifChannelDownloadDesc;
/// Android notification channel name for library scan
///
/// In en, this message translates to:
/// **'Library Scan'**
String get notifChannelLibraryScanName;
/// Android notification channel description for library scan
///
/// In en, this message translates to:
/// **'Shows local library scan progress'**
String get notifChannelLibraryScanDesc;
/// Notification title while downloading a track
///
/// In en, this message translates to:
@@ -6427,18 +6049,6 @@ abstract class AppLocalizations {
/// **'Paste'**
String get actionPaste;
/// Placeholder for the search screen input
///
/// In en, this message translates to:
/// **'Search tracks...'**
String get searchTracksHint;
/// Empty-state prompt on the search screen
///
/// In en, this message translates to:
/// **'Search for tracks'**
String get searchTracksEmptyPrompt;
/// Placeholder shown in the tutorial search demo
///
/// In en, this message translates to:
@@ -6481,18 +6091,6 @@ abstract class AppLocalizations {
/// **'Disabled (advanced): skip all metadata embedding'**
String get optionsEmbedMetadataSubtitleOff;
/// Subtitle for max quality cover when metadata embedding is disabled
///
/// In en, this message translates to:
/// **'Disabled when metadata embedding is off'**
String get optionsMaxQualityCoverSubtitleDisabled;
/// Example placeholder for the download filename format input
///
/// In en, this message translates to:
/// **'{artist} - {title}'**
String downloadFilenameHintExample(Object artist, Object title);
/// Message shown when a track file has no embedded cover art
///
/// In en, this message translates to:
@@ -6761,18 +6359,6 @@ abstract class AppLocalizations {
/// **'Open album {albumName}'**
String a11yOpenAlbum(String albumName);
/// Default search tab option - Albums tab
///
/// In en, this message translates to:
/// **'Albums'**
String get optionsDefaultSearchTabAlbums;
/// Default search tab option - Tracks tab
///
/// In en, this message translates to:
/// **'Tracks'**
String get optionsDefaultSearchTabTracks;
/// Settings menu item - file and folder settings
///
/// In en, this message translates to:
@@ -7297,12 +6883,6 @@ abstract class AppLocalizations {
/// **'Invalid folder selected'**
String get errorInvalidFolderSelected;
/// Error when persistent folder access cannot be saved
///
/// In en, this message translates to:
/// **'Could not keep access to the selected folder'**
String get errorCouldNotKeepFolderAccess;
/// Store detail value when any app version is accepted
///
/// In en, this message translates to:
-240
View File
@@ -63,9 +63,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get settingsAppearance => 'المظهر';
@override
String get settingsOptions => 'الخيارات';
@override
String get settingsExtensions => 'الإضافات';
@@ -118,9 +115,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'شبكة';
@override
String get optionsTitle => 'خيارات';
@override
String get optionsPrimaryProvider => 'المزود الرئيسي';
@@ -140,25 +134,12 @@ class AppLocalizationsAr extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'اختر علامة التبويب التي تفتح أولاً لنتائج البحث الجديدة.';
@override
String get optionsSwitchBack =>
'اختر مزود البحث الافتراضي للتبديل من مكون إضافي';
@override
String get optionsAutoFallback => 'التراجع التلقائي';
@override
String get optionsAutoFallbackSubtitle => 'تجربة خدمات أخرى إذا فشل التنزيل';
@override
String get optionsUseExtensionProviders => 'استخدام مزودي الإضافات';
@override
String get optionsUseExtensionProvidersOn => 'مزودي الإضافات مفعلين';
@override
String get optionsUseExtensionProvidersOff => 'مزودي الإضافات مطلوبين';
@override
String get optionsEmbedLyrics => 'تضمين كلمات الأغنية';
@@ -185,10 +166,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get trackReplayGain => 'إعادة مسح ReplyGain';
@override
String get trackReplayGainSubtitle =>
'تحليل ارتفاع الصوت وكتابة وسوم ReplayGain';
@override
String get trackReplayGainScanning => 'تحليل الصوت...';
@@ -282,25 +259,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'تمكين لتقارير الأخطاء';
@override
String get optionsSpotifyCredentials => 'بيانات اعتماد Spotify';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'معرف العميل: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired => 'مطلوب - انقر للتهيئة';
@override
String get optionsSpotifyWarning =>
'Spotify يتطلب بيانات اعتماد API الخاصة بك. احصل عليها مجاناً من developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'سيتم إلغاء البحث في Spotify في 3 مارس 2026 بسبب تغييرات API Spotify. الرجاء التبديل إلى Deezer.';
@override
String get extensionsTitle => 'الإضافات';
@@ -312,11 +270,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'الإصدار $version';
}
@override
String extensionsAuthor(String author) {
return 'من قِبل $author';
}
@override
String get extensionsUninstall => 'إلغاء التثبيت';
@@ -701,12 +654,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'تم مسح السجل.';
@override
String get snackbarCredentialsSaved => 'تم حفظ بيانات الاعتماد';
@override
String get snackbarCredentialsCleared => 'تم مسح بيانات الاعتماد';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -727,9 +674,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'تعذر فتح الملف: $error';
}
@override
String get snackbarFillAllFields => 'من فضلك قم بإدخال جميع البيانات';
@override
String get snackbarViewQueue => 'عرض قائمة الانتظار';
@@ -811,12 +755,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get actionDeselect => 'إلغاء التحديد';
@override
String get actionRemoveCredentials => 'إزالة بيانات الاعتماد';
@override
String get actionSaveCredentials => 'حفظ بيانات الاعتماد';
@override
String selectionSelected(int count) {
return 'تم تحديد $count';
@@ -974,10 +912,6 @@ class AppLocalizationsAr extends AppLocalizations {
String get providerPriorityInfo =>
'إذا كانت الأغنية غير متوفرة عند أول مزود، فإن التطبيق سيجرب تلقائياً المزود التالي.';
@override
String get providerPriorityFallbackExtensionsTitle =>
'المكون الإضافي الاحتياطي';
@override
String get providerPriorityFallbackExtensionsDescription =>
'اختر إضافات التحميل المثبتة التي يمكن استخدامها أثناء الرجوع التلقائي للمزود الاحتياطي.';
@@ -986,9 +920,6 @@ class AppLocalizationsAr extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'الإضافات المفعلة فقط مع قدرة توفير التنزيل مدرجة هنا.';
@override
String get providerBuiltIn => 'قديم';
@override
String get providerExtension => 'الإضافة';
@@ -1004,12 +935,6 @@ class AppLocalizationsAr extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer ليس لديه حدود للطلبات ومُوصى به كأساسي. Spotify لديه حد للطلبات وقد لا يعمل بعد عدة عمليات.';
@override
String get metadataNoRateLimits => 'لا حدود للطلبات';
@override
String get metadataMayRateLimit => 'قد يفرض حدودا للطلب';
@override
String get logTitle => 'السجلات';
@@ -1057,25 +982,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'الإدخالات ($count)';
}
@override
String get credentialsTitle => 'بيانات اعتماد Spotify';
@override
String get credentialsDescription =>
'أدخل معرف العميل الخاص بك و الكود السري لاستخدام حصة تطبيق Spotify الخاصة بك.';
@override
String get credentialsClientId => 'Client ID';
@override
String get credentialsClientIdHint => 'لصق Client ID';
@override
String get credentialsClientSecret => 'Client Secret';
@override
String get credentialsClientSecretHint => 'لصق Client Secret';
@override
String get channelStable => 'مستقر';
@@ -1160,10 +1066,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'الخدمة والجودة الأحتياطات';
@override
String get settingsOptionsSubtitle =>
'الإحتياطات، البيانات الوصفية (metadata)، كلمات الأغاني، غلاف الأغنية';
@override
String get settingsExtensionsSubtitle => 'إدارة موفري التحميل';
@@ -1360,10 +1262,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'مثال: https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'أضف مستودعًا';
@@ -1388,16 +1286,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get storeEmptyNoResults => 'لم يتم العثور على إضافات';
@override
String get extensionDefaultProvider => 'البحث الافتراضي';
@override
String get extensionDefaultProviderSubtitle =>
'استخدام البحث الافتراضي عن البيانات الوصفية';
@override
String get extensionAuthor => 'المؤلف';
@override
String get extensionId => 'ID';
@@ -1594,9 +1482,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'أصغر حجم, ~4 ميغابايت لكل مسار';
@override
String get qualityNote => 'الجودة الفعلية تعتمد على المسار المتوفر من الخدمة';
@override
String get downloadAskBeforeDownload => 'اسأل قبل التحميل';
@@ -1741,9 +1626,6 @@ class AppLocalizationsAr extends AppLocalizations {
return '$count selected';
}
@override
String get downloadedAlbumAllSelected => 'All tracks selected';
@override
String get downloadedAlbumTapToSelect => 'Tap tracks to select';
@@ -2383,15 +2265,9 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2402,9 +2278,6 @@ class AppLocalizationsAr extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2462,11 +2335,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2484,10 +2352,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -2535,9 +2399,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get cueSplitTitle => 'Split CUE Sheet';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2595,9 +2456,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2610,10 +2468,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2646,9 +2500,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2661,14 +2512,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -2706,11 +2549,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2822,11 +2660,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2953,18 +2786,12 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2975,9 +2802,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3243,10 +3067,6 @@ class AppLocalizationsAr extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3470,9 +3290,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3600,11 +3417,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3634,12 +3446,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3663,27 +3469,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3859,12 +3644,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3888,15 +3667,6 @@ class AppLocalizationsAr extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4065,12 +3835,6 @@ class AppLocalizationsAr extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4440,10 +4204,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-245
View File
@@ -64,9 +64,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get settingsAppearance => 'Erscheinungsbild';
@override
String get settingsOptions => 'Optionen';
@override
String get settingsExtensions => 'Erweiterungen';
@@ -121,9 +118,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Raster';
@override
String get optionsTitle => 'Optionen';
@override
String get optionsPrimaryProvider => 'Primärer Anbieter';
@@ -143,10 +137,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Wähle aus, welcher Tab zuerst für neue Suchergebnisse geöffnet wird.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Automatischer Fallback';
@@ -154,17 +144,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Andere Dienste versuchen, wenn Download fehlschlägt';
@override
String get optionsUseExtensionProviders => 'Erweiterungsanbieter verwenden';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Liedtexte einbetten';
@@ -193,10 +172,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -292,26 +267,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Für Fehlerberichte aktivieren';
@override
String get optionsSpotifyCredentials => 'Spotify-Anmeldedaten';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Client-ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired =>
'Erforderlich - zum Konfigurieren tippen';
@override
String get optionsSpotifyWarning =>
'Spotify erfordert eigene API-Anmeldedaten. Kostenlos erhältlich auf developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify-Suche wird am 3. März 2026 aufgrund von Änderungen der Spotify-API entfernt. Bitte wechsel vorher zu Deezer.';
@override
String get extensionsTitle => 'Erweiterungen';
@@ -323,11 +278,6 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Version $version';
}
@override
String extensionsAuthor(String author) {
return 'von $author';
}
@override
String get extensionsUninstall => 'Deinstallieren';
@@ -712,12 +662,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'Verlauf gelöscht';
@override
String get snackbarCredentialsSaved => 'Anmeldedaten gespeichert';
@override
String get snackbarCredentialsCleared => 'Anmeldedaten gelöscht';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -734,9 +678,6 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Datei kann nicht geöffnet werden: $error';
}
@override
String get snackbarFillAllFields => 'Bitte fülle alle Felder aus';
@override
String get snackbarViewQueue => 'Warteschlange anzeigen';
@@ -820,12 +761,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get actionDeselect => 'Alle abwählen';
@override
String get actionRemoveCredentials => 'Anmeldedaten entfernen';
@override
String get actionSaveCredentials => 'Anmeldedaten speichern';
@override
String selectionSelected(int count) {
return '$count ausgewählt';
@@ -986,9 +921,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get providerPriorityInfo =>
'Wenn kein Titel bei dem ersten Anbieter nicht verfügbar ist, wird die App automatisch den nächsten versuchen.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Erweiterungs-Fallback';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Wähle aus, welche installierten Download-Erweiterungen beim automatischen Fallback verwendet werden sollen.';
@@ -997,9 +929,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Hier werden nur aktivierte Erweiterungen mit Download-Provider-Funktion aufgelistet.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Erweiterung';
@@ -1014,12 +943,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer hat keine Limits und wird als primäre empfohlen. Spotify kann nach vielen Anfragen begrenzen.';
@override
String get metadataNoRateLimits => 'Keine Limitierungen';
@override
String get metadataMayRateLimit => 'Hat vielleicht Limitierungen';
@override
String get logTitle => 'Logs';
@@ -1068,25 +991,6 @@ class AppLocalizationsDe extends AppLocalizations {
return '$count Einträge';
}
@override
String get credentialsTitle => 'Spotify-Anmeldedaten';
@override
String get credentialsDescription =>
'Gebe deine Client-ID und Secret ein, um dein eigenes Spotify Anwendungs Limit zu haben.';
@override
String get credentialsClientId => 'Client ID';
@override
String get credentialsClientIdHint => 'Client ID einfügen';
@override
String get credentialsClientSecret => 'Client Secret';
@override
String get credentialsClientSecretHint => 'Client Secret einfügen';
@override
String get channelStable => 'Stabil';
@@ -1171,10 +1075,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Anbieter, Qualität, Rückfall';
@override
String get settingsOptionsSubtitle =>
'Fallback, Metadaten, Lyrics, Cover-Art';
@override
String get settingsExtensionsSubtitle => 'Download-Anbieter verwalten';
@@ -1369,10 +1269,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'z.B. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Repository hinzufügen';
@@ -1397,16 +1293,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get storeEmptyNoResults => 'Keine Erweiterungen gefunden';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Entwickler';
@override
String get extensionId => 'ID';
@@ -1608,10 +1494,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'Kleinste Größe, ~4MB pro Track';
@override
String get qualityNote =>
'Die eigentliche Qualität hängt von der Verfügbarkeit des Dienstes ab';
@override
String get downloadAskBeforeDownload => 'Qualität vor Download fragen';
@@ -1756,9 +1638,6 @@ class AppLocalizationsDe extends AppLocalizations {
return '$count ausgewählt';
}
@override
String get downloadedAlbumAllSelected => 'Alle Titel sind ausgewählt';
@override
String get downloadedAlbumTapToSelect => 'Tippe auf Titel zum Auswählen';
@@ -2403,15 +2282,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Cover speichern';
@override
String get trackSaveCoverArtSubtitle => 'Albumcover als .jpg Datei speichern';
@override
String get trackSaveLyrics => 'Lyrics als .lrc speichern';
@override
String get trackSaveLyricsSubtitle => 'Lade Lyrics als .lrc Datei';
@override
String get trackSaveLyricsProgress => 'Speichere Lyrics...';
@@ -2422,9 +2295,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Metadaten online suchen und in Datei einbinden';
@override
String get trackReEnrichFieldsTitle => 'Felder zum Aktualisieren';
@override
String get trackReEnrichFieldCover => 'Cover-Art';
@@ -2483,11 +2353,6 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Suche Online-Matches für ausgewählte Titel und Playlists für FLAC-Downloads.\n\nVorhandene Dateien werden weder geändert noch gelöscht.\n\nNur eindeutige Treffer werden automatisch zur Warteschlange hinzugefügt.\n\n$count ausgewählt';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Suche nach FLAC-Übereinstimmungen... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'Keine zuverlässigen Online-Übereinstimmungen für die Auswahl gefunden';
@@ -2505,10 +2370,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get trackConvertFormat => 'Format konvertieren';
@override
String get trackConvertFormatSubtitle =>
'Zu AAC/M4A, MP3, Opus, ALAC oder FLAC konvertieren';
@override
String get trackConvertTitle => 'Audio konvertieren';
@@ -2556,9 +2417,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get cueSplitTitle => 'CUE-Sheet aufteilen';
@override
String get cueSplitSubtitle => 'CUE+FLAC in einzelne Titel aufteilen';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2617,9 +2475,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Lieblingskünstler';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2632,10 +2487,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'Noch keine Playlists';
@override
String get collectionNoPlaylistsSubtitle =>
'Playlist erstellen, um Titel zu kategorisieren';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2668,9 +2519,6 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Bereits in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist erstellt';
@override
String get collectionPlaylistNameHint => 'Playlist-Name';
@@ -2683,14 +2531,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Playlist löschen';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Willst du \"$playlistName\" und alle darin enthaltenen Titel löschen?';
}
@override
String get collectionPlaylistDeleted => 'Playlist gelöscht';
@override
String get collectionPlaylistRenamed => 'Playlist umbenannt';
@@ -2729,11 +2569,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Aus Ordner entfernen';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" entfernt';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" zu Lieblingssongs hinzugefügt';
@@ -2846,11 +2681,6 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Konvertiere $count $_temp0 in $format? (kein Qualitätsverlust)\n\nOriginaldateien werden nach der Konvertierung gelöscht.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Konvertiere $current von $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return '$success von $total Titeln in $format konvertiert';
@@ -2980,18 +2810,12 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -3002,9 +2826,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3273,10 +3094,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled =>
'Metadaten-Einbettung zuerst aktivieren';
@@ -3502,9 +3319,6 @@ class AppLocalizationsDe extends AppLocalizations {
return '$count werden heruntergeladen';
}
@override
String get queueDownloadedHeader => 'Heruntergeladen';
@override
String get queueFilteringIndicator => 'Filtere...';
@@ -3634,11 +3448,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Audio wird analysiert...';
@override
String extensionsSearchWith(String providerName) {
return 'Mit $providerName suchen';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Anbieter';
@@ -3669,12 +3478,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get extensionsNoHomeFeedExtensions =>
'Keine Erweiterungen mit Home-Feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Download abbrechen?';
@@ -3699,29 +3502,6 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Fehler beim Öffnen des Ordners: $error';
}
@override
String get errorLoadAlbum => 'Fehler beim Laden des Albums';
@override
String get errorLoadPlaylist => 'Fehler beim Laden der Playlist';
@override
String get errorLoadArtist => 'Fehler beim Laden des Interpreten';
@override
String get notifChannelDownloadName => 'Download Fortschritt';
@override
String get notifChannelDownloadDesc =>
'Zeigt Download-Fortschritt für Titel an';
@override
String get notifChannelLibraryScanName => 'Bibliotheksscan';
@override
String get notifChannelLibraryScanDesc =>
'Zeigt den Fortschritt des lokalen Bibliotheksscans an';
@override
String notifDownloadingTrack(String trackName) {
return '$trackName wird heruntergeladen';
@@ -3898,12 +3678,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get actionPaste => 'Einfügen';
@override
String get searchTracksHint => 'Titel suchen...';
@override
String get searchTracksEmptyPrompt => 'Nach Titel suchen';
@override
String get tutorialSearchHint => 'Einfügen oder suchen...';
@@ -3927,15 +3701,6 @@ class AppLocalizationsDe extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Deaktiviert (erweitert): Metadateneinbettung überspringen';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Deaktiviert, wenn Metadateneinbettung aus ist';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt =>
'Kein eingebettetes Albumcover gefunden';
@@ -4106,12 +3871,6 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Album öffnen $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Alben';
@override
String get optionsDefaultSearchTabTracks => 'Titel';
@override
String get settingsFiles => 'Dateien & Ordner';
@@ -4479,10 +4238,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Ungültiger Ordner ausgewählt';
@override
String get errorCouldNotKeepFolderAccess =>
'Konnte nicht auf den ausgewählten Ordner zugreifen';
@override
String get storeAnyVersion => 'Alle';
-241
View File
@@ -62,9 +62,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get settingsAppearance => 'Appearance';
@override
String get settingsOptions => 'Options';
@override
String get settingsExtensions => 'Extensions';
@@ -118,9 +115,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Grid';
@override
String get optionsTitle => 'Options';
@override
String get optionsPrimaryProvider => 'Primary Provider';
@@ -140,10 +134,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Choose which tab opens first for new search results.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Auto Fallback';
@@ -151,17 +141,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Try other services if download fails';
@override
String get optionsUseExtensionProviders => 'Use Extension Providers';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Embed Lyrics';
@@ -190,10 +169,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -287,25 +262,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Enable for bug reports';
@override
String get optionsSpotifyCredentials => 'Spotify Credentials';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Client ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired => 'Required - tap to configure';
@override
String get optionsSpotifyWarning =>
'Spotify requires your own API credentials. Get them free from developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.';
@override
String get extensionsTitle => 'Extensions';
@@ -317,11 +273,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Version $version';
}
@override
String extensionsAuthor(String author) {
return 'by $author';
}
@override
String get extensionsUninstall => 'Uninstall';
@@ -703,12 +654,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'History cleared';
@override
String get snackbarCredentialsSaved => 'Credentials saved';
@override
String get snackbarCredentialsCleared => 'Credentials cleared';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -725,9 +670,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Cannot open file: $error';
}
@override
String get snackbarFillAllFields => 'Please fill all fields';
@override
String get snackbarViewQueue => 'View Queue';
@@ -809,12 +751,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get actionDeselect => 'Deselect';
@override
String get actionRemoveCredentials => 'Remove Credentials';
@override
String get actionSaveCredentials => 'Save Credentials';
@override
String selectionSelected(int count) {
return '$count selected';
@@ -974,9 +910,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get providerPriorityInfo =>
'If a track is not available on the first provider, the app will automatically try the next one.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Extension Fallback';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Choose which installed download extensions can be used during automatic fallback.';
@@ -985,9 +918,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Only enabled extensions with download-provider capability are listed here.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Extension';
@@ -1002,12 +932,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.';
@override
String get metadataNoRateLimits => 'No rate limits';
@override
String get metadataMayRateLimit => 'May rate limit';
@override
String get logTitle => 'Logs';
@@ -1054,25 +978,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Entries ($count)';
}
@override
String get credentialsTitle => 'Spotify Credentials';
@override
String get credentialsDescription =>
'Enter your Client ID and Secret to use your own Spotify application quota.';
@override
String get credentialsClientId => 'Client ID';
@override
String get credentialsClientIdHint => 'Paste Client ID';
@override
String get credentialsClientSecret => 'Client Secret';
@override
String get credentialsClientSecretHint => 'Paste Client Secret';
@override
String get channelStable => 'Stable';
@@ -1156,9 +1061,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Service, quality, fallback';
@override
String get settingsOptionsSubtitle => 'Fallback, metadata, lyrics, cover art';
@override
String get settingsExtensionsSubtitle => 'Manage download providers';
@@ -1350,10 +1252,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'e.g. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Add Repository';
@@ -1378,16 +1276,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get storeEmptyNoResults => 'No extensions found';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Author';
@override
String get extensionId => 'ID';
@@ -1585,10 +1473,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'Smallest size, ~4MB per track';
@override
String get qualityNote =>
'Actual quality depends on track availability from the service';
@override
String get downloadAskBeforeDownload => 'Ask Before Download';
@@ -1731,9 +1615,6 @@ class AppLocalizationsEn extends AppLocalizations {
return '$count selected';
}
@override
String get downloadedAlbumAllSelected => 'All tracks selected';
@override
String get downloadedAlbumTapToSelect => 'Tap tracks to select';
@@ -2373,15 +2254,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2392,9 +2267,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2452,11 +2324,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2474,10 +2341,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -2525,9 +2388,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get cueSplitTitle => 'Split CUE Sheet';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2585,9 +2445,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2600,10 +2457,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2636,9 +2489,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2651,14 +2501,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -2696,11 +2538,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2812,11 +2649,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2943,18 +2775,12 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2965,9 +2791,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3233,10 +3056,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3460,9 +3279,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3590,11 +3406,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3624,12 +3435,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3653,27 +3458,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3849,12 +3633,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3878,15 +3656,6 @@ class AppLocalizationsEn extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4055,12 +3824,6 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4430,10 +4193,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-486
View File
@@ -62,9 +62,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get settingsAppearance => 'Appearance';
@override
String get settingsOptions => 'Options';
@override
String get settingsExtensions => 'Extensions';
@@ -118,9 +115,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Grid';
@override
String get optionsTitle => 'Options';
@override
String get optionsPrimaryProvider => 'Primary Provider';
@@ -140,10 +134,6 @@ class AppLocalizationsEs extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Choose which tab opens first for new search results.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Auto Fallback';
@@ -151,17 +141,6 @@ class AppLocalizationsEs extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Try other services if download fails';
@override
String get optionsUseExtensionProviders => 'Use Extension Providers';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Embed Lyrics';
@@ -190,10 +169,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -287,25 +262,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Enable for bug reports';
@override
String get optionsSpotifyCredentials => 'Spotify Credentials';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Client ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired => 'Required - tap to configure';
@override
String get optionsSpotifyWarning =>
'Spotify requires your own API credentials. Get them free from developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.';
@override
String get extensionsTitle => 'Extensions';
@@ -317,11 +273,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Version $version';
}
@override
String extensionsAuthor(String author) {
return 'by $author';
}
@override
String get extensionsUninstall => 'Uninstall';
@@ -703,12 +654,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'History cleared';
@override
String get snackbarCredentialsSaved => 'Credentials saved';
@override
String get snackbarCredentialsCleared => 'Credentials cleared';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -725,9 +670,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Cannot open file: $error';
}
@override
String get snackbarFillAllFields => 'Please fill all fields';
@override
String get snackbarViewQueue => 'View Queue';
@@ -809,12 +751,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get actionDeselect => 'Deselect';
@override
String get actionRemoveCredentials => 'Remove Credentials';
@override
String get actionSaveCredentials => 'Save Credentials';
@override
String selectionSelected(int count) {
return '$count selected';
@@ -974,9 +910,6 @@ class AppLocalizationsEs extends AppLocalizations {
String get providerPriorityInfo =>
'If a track is not available on the first provider, the app will automatically try the next one.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Extension Fallback';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Choose which installed download extensions can be used during automatic fallback.';
@@ -985,9 +918,6 @@ class AppLocalizationsEs extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Only enabled extensions with download-provider capability are listed here.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Extension';
@@ -1002,12 +932,6 @@ class AppLocalizationsEs extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.';
@override
String get metadataNoRateLimits => 'No rate limits';
@override
String get metadataMayRateLimit => 'May rate limit';
@override
String get logTitle => 'Logs';
@@ -1054,25 +978,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Entries ($count)';
}
@override
String get credentialsTitle => 'Spotify Credentials';
@override
String get credentialsDescription =>
'Enter your Client ID and Secret to use your own Spotify application quota.';
@override
String get credentialsClientId => 'Client ID';
@override
String get credentialsClientIdHint => 'Paste Client ID';
@override
String get credentialsClientSecret => 'Client Secret';
@override
String get credentialsClientSecretHint => 'Paste Client Secret';
@override
String get channelStable => 'Stable';
@@ -1156,9 +1061,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Service, quality, filename format';
@override
String get settingsOptionsSubtitle => 'Fallback, lyrics, cover art, updates';
@override
String get settingsExtensionsSubtitle => 'Manage download providers';
@@ -1350,10 +1252,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'e.g. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Add Repository';
@@ -1378,16 +1276,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get storeEmptyNoResults => 'No extensions found';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Author';
@override
String get extensionId => 'ID';
@@ -1585,10 +1473,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'Smallest size, ~4MB per track';
@override
String get qualityNote =>
'Actual quality depends on track availability from the service';
@override
String get downloadAskBeforeDownload => 'Ask Before Download';
@@ -1731,9 +1615,6 @@ class AppLocalizationsEs extends AppLocalizations {
return '$count selected';
}
@override
String get downloadedAlbumAllSelected => 'All tracks selected';
@override
String get downloadedAlbumTapToSelect => 'Tap tracks to select';
@@ -2373,15 +2254,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2392,9 +2267,6 @@ class AppLocalizationsEs extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2452,11 +2324,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2474,10 +2341,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -2525,9 +2388,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get cueSplitTitle => 'Split CUE Sheet';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2585,9 +2445,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2600,10 +2457,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2636,9 +2489,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2651,14 +2501,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -2696,11 +2538,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2812,11 +2649,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2943,18 +2775,12 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2965,9 +2791,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3233,10 +3056,6 @@ class AppLocalizationsEs extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3460,9 +3279,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3590,11 +3406,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3624,12 +3435,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3653,27 +3458,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3843,12 +3627,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3872,15 +3650,6 @@ class AppLocalizationsEs extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4049,12 +3818,6 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4424,10 +4187,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
@@ -4865,9 +4624,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get settingsAppearance => 'Apariencia';
@override
String get settingsOptions => 'Opciones';
@override
String get settingsExtensions => 'Extensiones';
@@ -4923,9 +4679,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get appearanceHistoryViewGrid => 'Cuadrícula';
@override
String get optionsTitle => 'Opciones';
@override
String get optionsPrimaryProvider => 'Proveedor Principal';
@@ -4945,10 +4698,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
String get optionsDefaultSearchTabSubtitle =>
'Elige qué pestaña se abre primero al mostrar nuevos resultados de búsqueda.';
@override
String get optionsSwitchBack =>
'Elija el proveedor de búsqueda por defecto para volver de una extensión';
@override
String get optionsAutoFallback => 'Cambio automático';
@@ -4956,17 +4705,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
String get optionsAutoFallbackSubtitle =>
'Probar otros servicios si la descarga falla';
@override
String get optionsUseExtensionProviders => 'Usar proveedores de extensiones';
@override
String get optionsUseExtensionProvidersOn =>
'Proveedores de extensiones habilitados';
@override
String get optionsUseExtensionProvidersOff =>
'Proveedores de extensiones habilitados';
@override
String get optionsEmbedLyrics => 'Incrustar letras';
@@ -4995,10 +4733,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get trackReplayGain => 'Reescanear ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analizar el volumen y guardar las etiquetas ReplayGain';
@override
String get trackReplayGainScanning => 'Analizando el nivel de volumen...';
@@ -5095,26 +4829,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get optionsDetailedLoggingOff => 'Activar para informes de errores';
@override
String get optionsSpotifyCredentials => 'Credenciales de Spotify';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'ID de cliente: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired =>
'Requerido: toca para configurar';
@override
String get optionsSpotifyWarning =>
'Spotify requiere tus propias credenciales de API. Consíguelas gratis en developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'La búsqueda de Spotify quedará obsoleta el 3 de marzo de 2026 debido a cambios en la API de Spotify. Por favor, cambia a Deezer.';
@override
String get extensionsTitle => 'Extensiones';
@@ -5126,11 +4840,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return 'Versión $version';
}
@override
String extensionsAuthor(String author) {
return 'por $author';
}
@override
String get extensionsUninstall => 'Desinstalar';
@@ -5516,12 +5225,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get snackbarHistoryCleared => 'Historial borrado';
@override
String get snackbarCredentialsSaved => 'Credenciales guardadas';
@override
String get snackbarCredentialsCleared => 'Credenciales borradas';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -5538,9 +5241,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return 'No se puede abrir el archivo: $error';
}
@override
String get snackbarFillAllFields => 'Por favor, completa todos los campos';
@override
String get snackbarViewQueue => 'Ver cola';
@@ -5623,12 +5323,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get actionDeselect => 'Deseleccionar';
@override
String get actionRemoveCredentials => 'Eliminar credenciales';
@override
String get actionSaveCredentials => 'Guardar credenciales';
@override
String selectionSelected(int count) {
return '$count seleccionado';
@@ -5789,9 +5483,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
String get providerPriorityInfo =>
'Si una pista no está disponible en el primer proveedor, la aplicación intentará automáticamente el siguiente.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Respaldo de extensión';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Elija las extensiones de descarga que se usarán como respaldo automático.';
@@ -5800,9 +5491,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
String get providerPriorityFallbackExtensionsHint =>
'Solo las extensiones activas con proveedor de descarga se listan aquí.';
@override
String get providerBuiltIn => 'Heredado';
@override
String get providerExtension => 'Extensión';
@@ -5817,12 +5505,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
String get metadataProviderPriorityInfo =>
'Deezer no tiene límites de tasa y se recomienda como principal. Spotify puede valorar el límite después de muchas solicitudes.';
@override
String get metadataNoRateLimits => 'Sin límites de tasa';
@override
String get metadataMayRateLimit => 'Sin límites de tasa';
@override
String get logTitle => 'Registros';
@@ -5871,25 +5553,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return 'Entradas ($count)';
}
@override
String get credentialsTitle => 'Credenciales de Spotify';
@override
String get credentialsDescription =>
'Introduzca su ID de cliente y secreto para utilizar su propia cuota de aplicación de Spotify.';
@override
String get credentialsClientId => 'ID del cliente';
@override
String get credentialsClientIdHint => 'Pegar ID de cliente';
@override
String get credentialsClientSecret => 'Cliente Secreto';
@override
String get credentialsClientSecretHint => 'Pegar Cliente Secreto';
@override
String get channelStable => 'Estable';
@@ -5974,9 +5637,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get settingsDownloadSubtitle => 'Servicio, calidad, respaldo';
@override
String get settingsOptionsSubtitle => 'Respaldo, meta datos, letras, portada';
@override
String get settingsExtensionsSubtitle =>
'Administrar proveedores de descarga';
@@ -6171,10 +5831,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'e.j. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Añadir repositorio';
@@ -6199,16 +5855,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get storeEmptyNoResults => 'No se encontraron extensiones';
@override
String get extensionDefaultProvider => 'Búsqueda predeterminada';
@override
String get extensionDefaultProviderSubtitle =>
'Usar la búsqueda de metadatos predeterminada';
@override
String get extensionAuthor => 'Autor/a';
@override
String get extensionId => 'ID';
@@ -6410,10 +6056,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get downloadLossyOpus128Subtitle => 'Tamaño mínimo: ~4 MB por pista';
@override
String get qualityNote =>
'La calidad real depende de la disponibilidad de la pista del servicio';
@override
String get downloadAskBeforeDownload => 'Preguntar antes de descargar';
@@ -6544,9 +6186,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return '$count seleccionado';
}
@override
String get downloadedAlbumAllSelected => 'Todas las pistas seleccionadas';
@override
String get downloadedAlbumTapToSelect => 'Toca las pistas para seleccionar';
@@ -7194,17 +6833,9 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get trackSaveCoverArt => 'Guardar portada';
@override
String get trackSaveCoverArtSubtitle =>
'Guardar imagen del álbum como archivo .jpg';
@override
String get trackSaveLyrics => 'Guardar letra (.lrc)';
@override
String get trackSaveLyricsSubtitle =>
'Buscar y guardar letras como archivo .lrc';
@override
String get trackSaveLyricsProgress => 'Guardando letra...';
@@ -7215,9 +6846,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
String get trackReEnrichOnlineSubtitle =>
'Buscar información en línea y incrustar al archivo';
@override
String get trackReEnrichFieldsTitle => 'Campos a actualizar';
@override
String get trackReEnrichFieldCover => 'Carátula';
@@ -7276,11 +6904,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return 'Buscar coincidencias en línea para las pistas seleccionadas y en cola de descargas\n\nArchivos existentes no serán afectados o borrados.\n\nSolo coincidencia de alta confianza serán puestas automáticamente.\n\n$count seleccionado';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Buscando coincidencias FLAC';
}
@override
String get queueFlacNoReliableMatches =>
'Sin coincidencias en línea de confianza';
@@ -7298,10 +6921,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get trackConvertFormat => 'Convertir formato';
@override
String get trackConvertFormatSubtitle =>
'Convertir a AAC/M4A, MP3, Opus, ALAC, o FLAC';
@override
String get trackConvertTitle => 'Convertir audio';
@@ -7349,9 +6968,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get cueSplitTitle => 'Dividir hoja CUE';
@override
String get cueSplitSubtitle => 'Dividir CUE + FLAC en pistas individuales';
@override
String cueSplitAlbum(String album) {
return 'Álbum: $album';
@@ -7410,9 +7026,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get collectionFavoriteArtists => 'Artistas favoritos';
@override
String get collectionPlaylists => 'Listas de reproducción';
@override
String get collectionPlaylist => 'Lista de reproducción';
@@ -7425,10 +7038,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get collectionNoPlaylistsYet => 'Aún no hay listas de reproducción';
@override
String get collectionNoPlaylistsSubtitle =>
'Crear una lista de reproducción para empezar a categorizar pistas';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -7461,9 +7070,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return 'Ya está en \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Lista de reproducción creada';
@override
String get collectionPlaylistNameHint => 'Nombre de la lista de reproducción';
@@ -7477,14 +7083,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get collectionDeletePlaylist => 'Eliminar lista de reproducción';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return '¿Eliminar \"$playlistName\" y todas las pistas que contiene?';
}
@override
String get collectionPlaylistDeleted => 'Lista de reproducción eliminada';
@override
String get collectionPlaylistRenamed => 'Lista de reproducción renombrada';
@@ -7525,11 +7123,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get collectionRemoveFromFolder => 'Quitar de la carpeta';
@override
String collectionRemoved(String trackName) {
return 'Se eliminó \"$trackName\"';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" se agregó a «Me gusta»';
@@ -7643,11 +7236,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return '¿Convertir $count $_temp0 a $format? (Sin pérdida — no hay pérdida de calidad)\n\nLos archivos originales se eliminarán después de la conversión.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Convirtiendo $current de $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Se convirtieron $success de $total pistas a $format';
@@ -7778,18 +7366,12 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get backupImportButton => 'Elegir archivo de copia de seguridad';
@override
String get backupCreating => 'Creando copia de seguridad...';
@override
String get backupCreated => 'Copia de seguridad creada';
@override
String get backupCreateFailed => 'No se pudo crear la copia de seguridad';
@override
String get backupEmpty => 'Aún no hay nada que respaldar';
@override
String get backupRestoreConfirmTitle => '¿Restaurar esta copia de seguridad?';
@@ -7800,9 +7382,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get backupRestoreConfirmButton => 'Restaurar';
@override
String get backupRestoring => 'Restaurando copia de seguridad...';
@override
String get backupRestored => 'Copia de seguridad restaurada correctamente';
@@ -8057,10 +7636,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -8285,9 +7860,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return 'Descargando ($count)';
}
@override
String get queueDownloadedHeader => 'Descargadas';
@override
String get queueFilteringIndicator => 'Filtrando...';
@@ -8416,11 +7988,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get audioAnalysisRescanning => 'Volviendo a analizar audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Buscar con $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -8450,12 +8017,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => '¿Cancelar descarga?';
@@ -8479,28 +8040,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc =>
'Muestra el progreso de la descarga para las pistas';
@override
String get notifChannelLibraryScanName => 'Escaneo de biblioteca';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -8669,12 +8208,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get actionPaste => 'Pegar';
@override
String get searchTracksHint => 'Buscar canciones...';
@override
String get searchTracksEmptyPrompt => 'Buscar pistas';
@override
String get tutorialSearchHint => 'Pegar o buscar...';
@@ -8698,15 +8231,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -8875,12 +8399,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
return 'Abrir álbum $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Álbumes';
@override
String get optionsDefaultSearchTabTracks => 'Pistas';
@override
String get settingsFiles => 'Archivos y carpetas';
@@ -9251,10 +8769,6 @@ class AppLocalizationsEsEs extends AppLocalizationsEs {
@override
String get errorInvalidFolderSelected => 'Directorio seleccionado inválido';
@override
String get errorCouldNotKeepFolderAccess =>
'No se puede obtener acceso al directorio seleccionado';
@override
String get storeAnyVersion => 'Cualquier';
-250
View File
@@ -64,9 +64,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get settingsAppearance => 'Apparence';
@override
String get settingsOptions => 'Options';
@override
String get settingsExtensions => 'Extensions';
@@ -121,9 +118,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Grille';
@override
String get optionsTitle => 'Options';
@override
String get optionsPrimaryProvider => 'Fournisseur principal';
@@ -143,10 +137,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Choisissez l\'onglet qui s\'ouvre en premier pour les nouveaux résultats de recherche.';
@override
String get optionsSwitchBack =>
'Choisissez le moteur de recherche par défaut pour revenir à la configuration d\'origine après avoir utilisé une extension';
@override
String get optionsAutoFallback => 'Récupération automatique';
@@ -154,18 +144,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Essayez d\'autres services si le téléchargement échoue';
@override
String get optionsUseExtensionProviders =>
'Utiliser des fournisseurs d\'extension';
@override
String get optionsUseExtensionProvidersOn =>
'Les fournisseurs d\'extensions sont activés';
@override
String get optionsUseExtensionProvidersOff =>
'Les fournisseurs d\'extensions sont requis';
@override
String get optionsEmbedLyrics => 'Intégrer les paroles';
@@ -194,10 +172,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get trackReplayGain => 'Réanalyser ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyser le niveau sonore et créer des balises ReplayGain';
@override
String get trackReplayGainScanning => 'Analyse du volume sonore...';
@@ -296,26 +270,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Activer pour les rapports de bogues';
@override
String get optionsSpotifyCredentials => 'Identifiants Spotify';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Identifiant client : $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired =>
'Obligatoire - appuyez pour configurer';
@override
String get optionsSpotifyWarning =>
'Spotify nécessite vos propres identifiants API. Vous pouvez les obtenir gratuitement sur developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'La fonction de recherche Spotify sera supprimée le 3 mars 2026 en raison de modifications apportées à l\'API Spotify. Veuillez passer à Deezer.';
@override
String get extensionsTitle => 'Extensions';
@@ -327,11 +281,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Version $version';
}
@override
String extensionsAuthor(String author) {
return 'par $author';
}
@override
String get extensionsUninstall => 'Désinstaller';
@@ -721,12 +670,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'Historique effacé';
@override
String get snackbarCredentialsSaved => 'Identifiants enregistrés';
@override
String get snackbarCredentialsCleared => 'Identifiants validés';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -743,9 +686,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Impossible d\'ouvrir le fichier : $error';
}
@override
String get snackbarFillAllFields => 'Veuillez remplir tous les champs';
@override
String get snackbarViewQueue => 'Afficher la file d\'attente';
@@ -831,12 +771,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get actionDeselect => 'Désélectionner';
@override
String get actionRemoveCredentials => 'Supprimer les identifiants';
@override
String get actionSaveCredentials => 'Enregistrer les identifiants';
@override
String selectionSelected(int count) {
return '$count sélectionnés';
@@ -997,10 +931,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get providerPriorityInfo =>
'Si un morceau n\'est pas disponible chez le premier fournisseur, l\'application essaiera automatiquement le suivant.';
@override
String get providerPriorityFallbackExtensionsTitle =>
'Solution de secours pour les extensions';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Sélectionnez les extensions de téléchargement installées qui peuvent être utilisées lors du basculement automatique.';
@@ -1009,9 +939,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Seules les extensions activées disposant de la fonctionnalité « fournisseur de téléchargement » sont répertoriées ici.';
@override
String get providerBuiltIn => 'Héritage';
@override
String get providerExtension => 'Extension';
@@ -1026,12 +953,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer n\'impose aucune limite de débit et est recommandé comme service principal. Spotify peut limiter le débit après un certain nombre de requêtes.';
@override
String get metadataNoRateLimits => 'Pas de limite de débit';
@override
String get metadataMayRateLimit => 'Limite de taux de métadonnées';
@override
String get logTitle => 'Journaux';
@@ -1081,25 +1002,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Entrées ($count)';
}
@override
String get credentialsTitle => 'Identifiants Spotify';
@override
String get credentialsDescription =>
'Saisissez votre identifiant client et votre clé secrète pour utiliser votre propre quota d\'application Spotify.';
@override
String get credentialsClientId => 'Identifiant client';
@override
String get credentialsClientIdHint => 'Coller l\'identifiant client';
@override
String get credentialsClientSecret => 'Clé secrète du client';
@override
String get credentialsClientSecretHint => 'Coller la clé secrète du client';
@override
String get channelStable => 'Stable';
@@ -1186,10 +1088,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get settingsDownloadSubtitle =>
'Service, qualité, solution de secours';
@override
String get settingsOptionsSubtitle =>
'Fichier de secours, métadonnées, paroles, pochette';
@override
String get settingsExtensionsSubtitle =>
'Gérez les fournisseurs de téléchargement';
@@ -1387,10 +1285,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'par exemple : https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Ajouter un dépôt';
@@ -1415,16 +1309,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get storeEmptyNoResults => 'Aucune extension trouvée';
@override
String get extensionDefaultProvider => 'Recherche par défaut';
@override
String get extensionDefaultProviderSubtitle =>
'Utiliser la recherche par métadonnées par défaut';
@override
String get extensionAuthor => 'Auteur';
@override
String get extensionId => 'Identifiant';
@@ -1630,10 +1514,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get downloadLossyOpus128Subtitle =>
'Taille minimale : environ 4 Mo par piste';
@override
String get qualityNote =>
'La qualité réelle dépend de la disponibilité des pistes sur le service';
@override
String get downloadAskBeforeDownload => 'Demander avant de télécharger';
@@ -1781,9 +1661,6 @@ class AppLocalizationsFr extends AppLocalizations {
return '$count sélectionnés';
}
@override
String get downloadedAlbumAllSelected => 'Tous les titres sélectionnés';
@override
String get downloadedAlbumTapToSelect =>
'Appuyez sur les titres pour les sélectionner';
@@ -2435,17 +2312,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Enregistrer la pochette';
@override
String get trackSaveCoverArtSubtitle =>
'Enregistrez la pochette de l\'album au format .jpg';
@override
String get trackSaveLyrics => 'Enregistrer les paroles (.lrc)';
@override
String get trackSaveLyricsSubtitle =>
'Récupérez et enregistrez les paroles sous forme de fichier .lrc';
@override
String get trackSaveLyricsProgress => 'Enregistrement des paroles...';
@@ -2456,9 +2325,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Rechercher des métadonnées en ligne et les intégrer dans un fichier';
@override
String get trackReEnrichFieldsTitle => 'Champs à mettre à jour';
@override
String get trackReEnrichFieldCover => 'Illustration de couverture';
@@ -2518,11 +2384,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Recherchez en ligne les correspondances pour les morceaux sélectionnés et ajoutez les téléchargements FLAC à la file d\'attente.\n\nLes fichiers existants ne seront ni modifiés ni supprimés.\n\nSeules les correspondances hautement fiables sont automatiquement ajoutées à la file d\'attente.\n\n$count sélectionnés';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Recherche de fichiers FLAC... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'Aucun résultat pertinent n\'a été trouvé en ligne pour cette sélection';
@@ -2540,10 +2401,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get trackConvertFormat => 'Convertir le format';
@override
String get trackConvertFormatSubtitle =>
'Convertir au format AAC/M4A, MP3, Opus, ALAC ou FLAC';
@override
String get trackConvertTitle => 'Convertir un fichier audio';
@@ -2591,10 +2448,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get cueSplitTitle => 'Fiche CUE fractionnée';
@override
String get cueSplitSubtitle =>
'Diviser un fichier CUE+FLAC en pistes individuelles';
@override
String cueSplitAlbum(String album) {
return 'Album : $album';
@@ -2653,9 +2506,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Artistes Favoris';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2668,10 +2518,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'Aucune playlist pour le moment';
@override
String get collectionNoPlaylistsSubtitle =>
'Créez une playlist pour commencer à classer vos morceaux';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2704,9 +2550,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Déjà présent dans « $playlistName »';
}
@override
String get collectionPlaylistCreated => 'Playlist créée';
@override
String get collectionPlaylistNameHint => 'Nom de la playlist';
@@ -2720,14 +2563,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Supprimer la playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Supprimer « $playlistName » et tous les morceaux qu\'elle contient ?';
}
@override
String get collectionPlaylistDeleted => 'Playlist supprimée';
@override
String get collectionPlaylistRenamed => 'Playlist renommée';
@@ -2766,11 +2601,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Supprimer du dossier';
@override
String collectionRemoved(String trackName) {
return '« $trackName » supprimé';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" ajouté aux Favoris';
@@ -2887,11 +2717,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Convertir $count $_temp0 au format $format ? (Sans perte — aucune perte de qualité)\n\nLes fichiers d\'origine seront supprimés après la conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Conversion de $current sur $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return '$success pistes sur $total ont été converties au format $format';
@@ -3021,18 +2846,12 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get backupImportButton => 'Choisissez un fichier de sauvegarde';
@override
String get backupCreating => 'Création d\'une sauvegarde...';
@override
String get backupCreated => 'Sauvegarde créée';
@override
String get backupCreateFailed => 'Échec de la création de la sauvegarde';
@override
String get backupEmpty => 'Il n\'y a encore rien à sauvegarder';
@override
String get backupRestoreConfirmTitle => 'Restaurer cette sauvegarde ?';
@@ -3043,9 +2862,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restaurer';
@override
String get backupRestoring => 'Restauration de la sauvegarde...';
@override
String get backupRestored => 'La sauvegarde a été restaurée avec succès';
@@ -3321,10 +3137,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Choisissez un fournisseur proposant des options de qualité pour activer cette fonctionnalité';
@override
String get downloadSelectTidalQobuz =>
'Choisissez un fournisseur proposant différentes options pour sélectionner la qualité audio';
@override
String get downloadEmbedLyricsDisabled =>
'Activez d\'abord l\'intégration des métadonnées';
@@ -3555,9 +3367,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Téléchargement ($count)';
}
@override
String get queueDownloadedHeader => 'Téléchargé';
@override
String get queueFilteringIndicator => 'Filtrage...';
@@ -3689,11 +3498,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Réanalyse du fichier audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Rechercher avec $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Fournisseur de flux RSS';
@@ -3724,12 +3528,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get extensionsNoHomeFeedExtensions =>
'Aucune extension avec le flux principal';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Annuler le téléchargement ?';
@@ -3754,29 +3552,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Impossible d\'ouvrir le sélecteur de dossiers : $error';
}
@override
String get errorLoadAlbum => 'Impossible de charger l\'album';
@override
String get errorLoadPlaylist => 'Impossible de charger la playlist';
@override
String get errorLoadArtist => 'Impossible de charger l\'artiste';
@override
String get notifChannelDownloadName => 'Progression du téléchargement';
@override
String get notifChannelDownloadDesc =>
'Affiche la progression du téléchargement des morceaux';
@override
String get notifChannelLibraryScanName => 'Analyse de la bibliothèque';
@override
String get notifChannelLibraryScanDesc =>
'Affiche la progression de la numérisation dans la bibliothèque locale';
@override
String notifDownloadingTrack(String trackName) {
return 'Téléchargement de $trackName';
@@ -3957,12 +3732,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get actionPaste => 'Coller';
@override
String get searchTracksHint => 'Rechercher des morceaux...';
@override
String get searchTracksEmptyPrompt => 'Rechercher des morceaux';
@override
String get tutorialSearchHint => 'Collez ou effectuez une recherche...';
@@ -3986,15 +3755,6 @@ class AppLocalizationsFr extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Désactivé (avancé) : ignorer l\'intégration de toutes les métadonnées';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Désactivé lorsque l\'intégration des métadonnées est désactivée';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt =>
'Aucune pochette d\'album n\'a été trouvée';
@@ -4166,12 +3926,6 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Ouvrir l\'album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Titres';
@override
String get settingsFiles => 'Fichiers & Dossiers';
@@ -4545,10 +4299,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Dossier non valide sélectionné';
@override
String get errorCouldNotKeepFolderAccess =>
'Impossible de conserver l\'accès au dossier sélectionné';
@override
String get storeAnyVersion => 'N\'importe lequel';
-241
View File
@@ -62,9 +62,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get settingsAppearance => 'Appearance';
@override
String get settingsOptions => 'Options';
@override
String get settingsExtensions => 'Extensions';
@@ -118,9 +115,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Grid';
@override
String get optionsTitle => 'Options';
@override
String get optionsPrimaryProvider => 'Primary Provider';
@@ -140,10 +134,6 @@ class AppLocalizationsHi extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Choose which tab opens first for new search results.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Auto Fallback';
@@ -151,17 +141,6 @@ class AppLocalizationsHi extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Try other services if download fails';
@override
String get optionsUseExtensionProviders => 'Use Extension Providers';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Embed Lyrics';
@@ -190,10 +169,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -287,25 +262,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Enable for bug reports';
@override
String get optionsSpotifyCredentials => 'Spotify Credentials';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Client ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired => 'Required - tap to configure';
@override
String get optionsSpotifyWarning =>
'Spotify requires your own API credentials. Get them free from developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.';
@override
String get extensionsTitle => 'Extensions';
@@ -317,11 +273,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Version $version';
}
@override
String extensionsAuthor(String author) {
return 'by $author';
}
@override
String get extensionsUninstall => 'Uninstall';
@@ -703,12 +654,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'History cleared';
@override
String get snackbarCredentialsSaved => 'Credentials saved';
@override
String get snackbarCredentialsCleared => 'Credentials cleared';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -725,9 +670,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Cannot open file: $error';
}
@override
String get snackbarFillAllFields => 'Please fill all fields';
@override
String get snackbarViewQueue => 'View Queue';
@@ -809,12 +751,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get actionDeselect => 'Deselect';
@override
String get actionRemoveCredentials => 'Remove Credentials';
@override
String get actionSaveCredentials => 'Save Credentials';
@override
String selectionSelected(int count) {
return '$count selected';
@@ -974,9 +910,6 @@ class AppLocalizationsHi extends AppLocalizations {
String get providerPriorityInfo =>
'If a track is not available on the first provider, the app will automatically try the next one.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Extension Fallback';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Choose which installed download extensions can be used during automatic fallback.';
@@ -985,9 +918,6 @@ class AppLocalizationsHi extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Only enabled extensions with download-provider capability are listed here.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Extension';
@@ -1002,12 +932,6 @@ class AppLocalizationsHi extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.';
@override
String get metadataNoRateLimits => 'No rate limits';
@override
String get metadataMayRateLimit => 'May rate limit';
@override
String get logTitle => 'Logs';
@@ -1054,25 +978,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Entries ($count)';
}
@override
String get credentialsTitle => 'Spotify Credentials';
@override
String get credentialsDescription =>
'Enter your Client ID and Secret to use your own Spotify application quota.';
@override
String get credentialsClientId => 'Client ID';
@override
String get credentialsClientIdHint => 'Paste Client ID';
@override
String get credentialsClientSecret => 'Client Secret';
@override
String get credentialsClientSecretHint => 'Paste Client Secret';
@override
String get channelStable => 'Stable';
@@ -1156,9 +1061,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Service, quality, fallback';
@override
String get settingsOptionsSubtitle => 'Fallback, metadata, lyrics, cover art';
@override
String get settingsExtensionsSubtitle => 'Manage download providers';
@@ -1350,10 +1252,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'e.g. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Add Repository';
@@ -1378,16 +1276,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get storeEmptyNoResults => 'No extensions found';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Author';
@override
String get extensionId => 'ID';
@@ -1585,10 +1473,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'Smallest size, ~4MB per track';
@override
String get qualityNote =>
'Actual quality depends on track availability from the service';
@override
String get downloadAskBeforeDownload => 'Ask Before Download';
@@ -1731,9 +1615,6 @@ class AppLocalizationsHi extends AppLocalizations {
return '$count selected';
}
@override
String get downloadedAlbumAllSelected => 'All tracks selected';
@override
String get downloadedAlbumTapToSelect => 'Tap tracks to select';
@@ -2373,15 +2254,9 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2392,9 +2267,6 @@ class AppLocalizationsHi extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2452,11 +2324,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2474,10 +2341,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -2525,9 +2388,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get cueSplitTitle => 'Split CUE Sheet';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2585,9 +2445,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2600,10 +2457,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2636,9 +2489,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2651,14 +2501,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -2696,11 +2538,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2812,11 +2649,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2943,18 +2775,12 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2965,9 +2791,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3233,10 +3056,6 @@ class AppLocalizationsHi extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3460,9 +3279,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3590,11 +3406,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3624,12 +3435,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3653,27 +3458,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3849,12 +3633,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3878,15 +3656,6 @@ class AppLocalizationsHi extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4055,12 +3824,6 @@ class AppLocalizationsHi extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4430,10 +4193,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-241
View File
@@ -64,9 +64,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get settingsAppearance => 'Tampilan';
@override
String get settingsOptions => 'Opsi';
@override
String get settingsExtensions => 'Ekstensi';
@@ -121,9 +118,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Kisi';
@override
String get optionsTitle => 'Opsi';
@override
String get optionsPrimaryProvider => 'Provider Utama';
@@ -143,10 +137,6 @@ class AppLocalizationsId extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Pilih tab mana yang terbuka terlebih dahulu untuk hasil pencarian baru.';
@override
String get optionsSwitchBack =>
'Pilih penyedia pencarian default untuk beralih kembali dari ekstensi';
@override
String get optionsAutoFallback => 'Cadangan Otomatis';
@@ -154,15 +144,6 @@ class AppLocalizationsId extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Coba layanan lain jika unduhan gagal';
@override
String get optionsUseExtensionProviders => 'Gunakan Provider Ekstensi';
@override
String get optionsUseExtensionProvidersOn => 'Penyedia ekstensi diaktifkan';
@override
String get optionsUseExtensionProvidersOff => 'Penyedia ekstensi diwajibkan';
@override
String get optionsEmbedLyrics => 'Sematkan Lirik';
@@ -191,10 +172,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get trackReplayGain => 'Pindai ulang ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analisis kenyaringan dan tulis tag ReplayGain';
@override
String get trackReplayGainScanning => 'Menganalisis kenyaringan...';
@@ -286,26 +263,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Aktifkan untuk laporan bug';
@override
String get optionsSpotifyCredentials => 'Kredensial Spotify';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'ID Klien: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired =>
'Diperlukan - ketuk untuk mengatur';
@override
String get optionsSpotifyWarning =>
'Spotify memerlukan kredensial API Anda sendiri. Dapatkan gratis dari developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Pencarian Spotify akan dihentikan pada 3 Maret 2026 karena perubahan API Spotify. Silakan beralih ke Deezer.';
@override
String get extensionsTitle => 'Ekstensi';
@@ -317,11 +274,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Versi $version';
}
@override
String extensionsAuthor(String author) {
return 'oleh $author';
}
@override
String get extensionsUninstall => 'Copot';
@@ -704,12 +656,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'Riwayat dihapus';
@override
String get snackbarCredentialsSaved => 'Kredensial disimpan';
@override
String get snackbarCredentialsCleared => 'Kredensial dihapus';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -726,9 +672,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Tidak dapat membuka file: $error';
}
@override
String get snackbarFillAllFields => 'Harap isi semua field';
@override
String get snackbarViewQueue => 'Lihat Antrian';
@@ -810,12 +753,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get actionDeselect => 'Batal Pilih';
@override
String get actionRemoveCredentials => 'Hapus Kredensial';
@override
String get actionSaveCredentials => 'Simpan Kredensial';
@override
String selectionSelected(int count) {
return '$count dipilih';
@@ -975,9 +912,6 @@ class AppLocalizationsId extends AppLocalizations {
String get providerPriorityInfo =>
'Jika lagu tidak tersedia di provider pertama, aplikasi akan otomatis mencoba yang berikutnya.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Ekstensi Cadangan';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Pilih ekstensi unduhan terpasang mana yang dapat digunakan selama fallback otomatis.';
@@ -986,9 +920,6 @@ class AppLocalizationsId extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Hanya ekstensi yang diaktifkan dengan kemampuan penyedia unduhan yang tercantum di sini.';
@override
String get providerBuiltIn => 'Warisan';
@override
String get providerExtension => 'Ekstensi';
@@ -1003,12 +934,6 @@ class AppLocalizationsId extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer tidak memiliki batas rate dan direkomendasikan sebagai utama. Spotify mungkin membatasi rate setelah banyak permintaan.';
@override
String get metadataNoRateLimits => 'Tidak ada batas rate';
@override
String get metadataMayRateLimit => 'Mungkin dibatasi rate';
@override
String get logTitle => 'Log';
@@ -1057,25 +982,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Entri ($count)';
}
@override
String get credentialsTitle => 'Kredensial Spotify';
@override
String get credentialsDescription =>
'Masukkan Client ID dan Secret Anda untuk menggunakan kuota aplikasi Spotify Anda sendiri.';
@override
String get credentialsClientId => 'ID Klien';
@override
String get credentialsClientIdHint => 'Tempel Client ID';
@override
String get credentialsClientSecret => 'Rahasia Klien';
@override
String get credentialsClientSecretHint => 'Tempel Client Secret';
@override
String get channelStable => 'Stabil';
@@ -1160,10 +1066,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Layanan, kualitas, cadangan';
@override
String get settingsOptionsSubtitle =>
'Cadangan, metadata, lirik, sampul album';
@override
String get settingsExtensionsSubtitle => 'Kelola provider unduhan';
@@ -1355,10 +1257,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'misalnya https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Tambahkan Repositori';
@@ -1383,16 +1281,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get storeEmptyNoResults => 'Tidak ada ekstensi ditemukan';
@override
String get extensionDefaultProvider => 'Pencarian default';
@override
String get extensionDefaultProviderSubtitle =>
'Gunakan pencarian metadata default';
@override
String get extensionAuthor => 'Pembuat';
@override
String get extensionId => 'ID';
@@ -1593,10 +1481,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'Ukuran terkecil, ~4MB per trek';
@override
String get qualityNote =>
'Kualitas sebenarnya tergantung ketersediaan lagu dari layanan';
@override
String get downloadAskBeforeDownload => 'Tanya Sebelum Unduh';
@@ -1740,9 +1624,6 @@ class AppLocalizationsId extends AppLocalizations {
return '$count dipilih';
}
@override
String get downloadedAlbumAllSelected => 'Semua lagu dipilih';
@override
String get downloadedAlbumTapToSelect => 'Ketuk lagu untuk memilih';
@@ -2382,15 +2263,9 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2401,9 +2276,6 @@ class AppLocalizationsId extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2461,11 +2333,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2483,10 +2350,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -2534,9 +2397,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get cueSplitTitle => 'Split CUE Sheet';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2594,9 +2454,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2609,10 +2466,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2645,9 +2498,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2660,14 +2510,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -2705,11 +2547,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2821,11 +2658,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2952,18 +2784,12 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2974,9 +2800,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3242,10 +3065,6 @@ class AppLocalizationsId extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3469,9 +3288,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3599,11 +3415,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3633,12 +3444,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3662,27 +3467,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3858,12 +3642,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3887,15 +3665,6 @@ class AppLocalizationsId extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4064,12 +3833,6 @@ class AppLocalizationsId extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4439,10 +4202,6 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-240
View File
@@ -62,9 +62,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get settingsAppearance => '外観';
@override
String get settingsOptions => 'オプション';
@override
String get settingsExtensions => '拡張';
@@ -118,9 +115,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'グリッド';
@override
String get optionsTitle => 'オプション';
@override
String get optionsPrimaryProvider => 'プライマリーのプロバイダー';
@@ -140,10 +134,6 @@ class AppLocalizationsJa extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Choose which tab opens first for new search results.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Auto Fallback';
@@ -151,17 +141,6 @@ class AppLocalizationsJa extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Try other services if download fails';
@override
String get optionsUseExtensionProviders => '拡張のプロバイダーを使用する';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => '歌詞を埋め込む';
@@ -189,10 +168,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -285,25 +260,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'バグレポートを有効';
@override
String get optionsSpotifyCredentials => 'Spotify の認証情報';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'クライアント ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired => '必須 - タップで設定';
@override
String get optionsSpotifyWarning =>
'Spotify は独自の API 認証情報が必要です。developer.spotify.com から取得できます。';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.';
@override
String get extensionsTitle => '拡張';
@@ -315,11 +271,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'バージョン $version';
}
@override
String extensionsAuthor(String author) {
return '作者 $author';
}
@override
String get extensionsUninstall => 'アンインストール';
@@ -700,12 +651,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get snackbarHistoryCleared => '履歴を消去しました';
@override
String get snackbarCredentialsSaved => '認証情報を保存しました';
@override
String get snackbarCredentialsCleared => '認証情報を消去しました';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -722,9 +667,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'ファイルが開けません: $error';
}
@override
String get snackbarFillAllFields => 'すべての項目を入力してください';
@override
String get snackbarViewQueue => 'キューを表示';
@@ -805,12 +747,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get actionDeselect => '選択を解除';
@override
String get actionRemoveCredentials => '認証情報を削除';
@override
String get actionSaveCredentials => '認証情報を保存';
@override
String selectionSelected(int count) {
return '$count 個を選択済み';
@@ -969,9 +905,6 @@ class AppLocalizationsJa extends AppLocalizations {
String get providerPriorityInfo =>
'If a track is not available on the first provider, the app will automatically try the next one.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Extension Fallback';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Choose which installed download extensions can be used during automatic fallback.';
@@ -980,9 +913,6 @@ class AppLocalizationsJa extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Only enabled extensions with download-provider capability are listed here.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => '拡張';
@@ -997,12 +927,6 @@ class AppLocalizationsJa extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.';
@override
String get metadataNoRateLimits => 'レート制限はありません';
@override
String get metadataMayRateLimit => 'May rate limit';
@override
String get logTitle => 'ログ';
@@ -1049,25 +973,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'エントリー ($count)';
}
@override
String get credentialsTitle => 'Spotify の認証情報';
@override
String get credentialsDescription =>
'Enter your Client ID and Secret to use your own Spotify application quota.';
@override
String get credentialsClientId => 'クライアント ID';
@override
String get credentialsClientIdHint => 'クライアント ID を貼り付け';
@override
String get credentialsClientSecret => 'クライアントシークレット';
@override
String get credentialsClientSecretHint => 'クライアントシークレットを貼り付け';
@override
String get channelStable => '安定版';
@@ -1151,9 +1056,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Service, quality, fallback';
@override
String get settingsOptionsSubtitle => 'Fallback, metadata, lyrics, cover art';
@override
String get settingsExtensionsSubtitle => 'ダウンロードプロバイダーを管理';
@@ -1345,10 +1247,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'e.g. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Add Repository';
@@ -1373,16 +1271,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get storeEmptyNoResults => 'No extensions found';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => '作者';
@override
String get extensionId => 'ID';
@@ -1576,9 +1464,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'Smallest size, ~4MB per track';
@override
String get qualityNote => '実際の品質はサービスからのトラックの可用性に依存します';
@override
String get downloadAskBeforeDownload => 'ダウンロード前に確認する';
@@ -1719,9 +1604,6 @@ class AppLocalizationsJa extends AppLocalizations {
return '$count 個を選択済み';
}
@override
String get downloadedAlbumAllSelected => 'すべてのトラックを選択済み';
@override
String get downloadedAlbumTapToSelect => 'トラックをタップで選択';
@@ -2361,15 +2243,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get trackSaveCoverArt => 'カバー画像を保存';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => '歌詞を保存 (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2380,9 +2256,6 @@ class AppLocalizationsJa extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2440,11 +2313,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2462,10 +2330,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get trackConvertFormat => '変換の形式';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'オーディオを変換';
@@ -2513,9 +2377,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get cueSplitTitle => '分割 CUE シート';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2573,9 +2434,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2588,10 +2446,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2624,9 +2478,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2639,14 +2490,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -2684,11 +2527,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'フォルダから削除';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2800,11 +2638,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2931,18 +2764,12 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2953,9 +2780,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3221,10 +3045,6 @@ class AppLocalizationsJa extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3448,9 +3268,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3578,11 +3395,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3612,12 +3424,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3641,27 +3447,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3837,12 +3622,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3866,15 +3645,6 @@ class AppLocalizationsJa extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4043,12 +3813,6 @@ class AppLocalizationsJa extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4418,10 +4182,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-232
View File
@@ -62,9 +62,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get settingsAppearance => '디자인';
@override
String get settingsOptions => '옵션';
@override
String get settingsExtensions => '확장 프로그램';
@@ -117,9 +114,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => '그리드';
@override
String get optionsTitle => '옵션';
@override
String get optionsPrimaryProvider => '기본 제공자';
@@ -137,24 +131,12 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get optionsDefaultSearchTabSubtitle => '새 검색 결과를 표시할 탭을 먼저 선택하세요';
@override
String get optionsSwitchBack => '확장 프로그램에서 기본 검색 제공자로 전환하려면 기본 검색 제공자를 선택하세요';
@override
String get optionsAutoFallback => '자동 대체';
@override
String get optionsAutoFallbackSubtitle => '다운로드가 실패한 경우에 다른 서비스를 이용해 보세요';
@override
String get optionsUseExtensionProviders => '확장 프로그램 사용';
@override
String get optionsUseExtensionProvidersOn => '확장 프로그램 제공자가 활성화됨';
@override
String get optionsUseExtensionProvidersOff => '확장 프로그램 제공자가 필요함';
@override
String get optionsEmbedLyrics => '가사 삽입';
@@ -179,9 +161,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get trackReplayGain => '리플레이게인 다시 스캔';
@override
String get trackReplayGainSubtitle => '음량 분석 및 리플레이게인 태그 작성';
@override
String get trackReplayGainScanning => '음량을 분석하는 중...';
@@ -272,25 +251,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => '버그 보고서 활성화';
@override
String get optionsSpotifyCredentials => 'Spotify 자격 증명';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return '클라이언트 ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired => '필수 - 탭하여 설정';
@override
String get optionsSpotifyWarning =>
'Spotify는 사용자 고유의 API 자격 증명을 요구합니다. \'developer.spotify.com\'에서 무료로 발급받으세요';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify API 변경으로 인해 Spotify 검색 기능은 2026년 3월 3일부터 더 이상 지원되지 않습니다. Deezer로 전환해 주세요';
@override
String get extensionsTitle => '확장 프로그램';
@@ -302,11 +262,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '버전 $version';
}
@override
String extensionsAuthor(String author) {
return '작성자: $author';
}
@override
String get extensionsUninstall => '제거';
@@ -683,12 +638,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get snackbarHistoryCleared => '기록 삭제됨';
@override
String get snackbarCredentialsSaved => '자격 증명이 저장됨';
@override
String get snackbarCredentialsCleared => '자격 증명이 삭제됨';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -705,9 +654,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '파일을 열 수 없음: $error';
}
@override
String get snackbarFillAllFields => '모든 항목을 입력해 주세요';
@override
String get snackbarViewQueue => '다운로드 목록 보기';
@@ -786,12 +732,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get actionDeselect => '선택 해제';
@override
String get actionRemoveCredentials => '자격 증명 제거';
@override
String get actionSaveCredentials => '자격 증명 저장';
@override
String selectionSelected(int count) {
return '$count 개 선택됨';
@@ -946,9 +886,6 @@ class AppLocalizationsKo extends AppLocalizations {
String get providerPriorityInfo =>
'첫 ​​번째 제공자에서 트랙을 사용할 수 없는 경우에 앱은 자동으로 다음 제공자를 시도합니다';
@override
String get providerPriorityFallbackExtensionsTitle => '확장 프로그램 대체';
@override
String get providerPriorityFallbackExtensionsDescription =>
'자동 대체 중에 사용할 수 있는 설치된 다운로드 확장 프로그램을 선택하세요';
@@ -957,9 +894,6 @@ class AppLocalizationsKo extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'다운로드 공급자 기능이 활성화된 확장 프로그램만 여기에 나열됩니다';
@override
String get providerBuiltIn => '레거시';
@override
String get providerExtension => '확장 프로그램';
@@ -974,12 +908,6 @@ class AppLocalizationsKo extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer는 요청 횟수 제한이 없으므로 기본 앱으로 사용하는 것이 좋습니다. Spotify는 요청 횟수가 많아지면 요청 횟수를 제한할 수 있습니다';
@override
String get metadataNoRateLimits => '사용 제한 없음';
@override
String get metadataMayRateLimit => '사용 제한이 있을 수 있음';
@override
String get logTitle => '로그';
@@ -1026,25 +954,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '항목 ($count)';
}
@override
String get credentialsTitle => 'Spotify 자격 증명';
@override
String get credentialsDescription =>
'Spotify 애플리케이션 할당량을 사용하려면 클라이언트 ID와 비밀키를 입력하세요';
@override
String get credentialsClientId => '클라이언트 ID';
@override
String get credentialsClientIdHint => '클라이언트 ID를 붙여넣으세요';
@override
String get credentialsClientSecret => '클라이언트 비밀키';
@override
String get credentialsClientSecretHint => '클라이언트 비밀키를 붙여넣으세요';
@override
String get channelStable => '안정';
@@ -1126,9 +1035,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get settingsDownloadSubtitle => '서비스, 음질, 대체';
@override
String get settingsOptionsSubtitle => '대체, 메타데이터, 가사, 표지 이미지';
@override
String get settingsExtensionsSubtitle => '다운로드 제공자 관리';
@@ -1320,10 +1226,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'예시: https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => '리포지토리 추가';
@@ -1348,15 +1250,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get storeEmptyNoResults => '확장 프로그램을 찾을 수 없음';
@override
String get extensionDefaultProvider => '기본 검색';
@override
String get extensionDefaultProviderSubtitle => '기본 메타데이터 검색 사용';
@override
String get extensionAuthor => '작성자';
@override
String get extensionId => 'ID';
@@ -1548,9 +1441,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => '트랙당 최소 크기, 약 4MB';
@override
String get qualityNote => '실제 음질은 서비스의 트랙 가용성에 따라 달라집니다';
@override
String get downloadAskBeforeDownload => '다운로드 전 확인';
@@ -1687,9 +1577,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '$count 개 선택됨';
}
@override
String get downloadedAlbumAllSelected => '모든 트랙 선택됨';
@override
String get downloadedAlbumTapToSelect => '트랙을 탭하여 선택하세요';
@@ -2304,15 +2191,9 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get trackSaveCoverArt => '표지 이미지 저장';
@override
String get trackSaveCoverArtSubtitle => '표지 이미지를 .jpg 파일로 저장';
@override
String get trackSaveLyrics => '가사 (.lrc) 저장';
@override
String get trackSaveLyricsSubtitle => '가사를 .Irc 파일로 가져와서 저장';
@override
String get trackSaveLyricsProgress => '가사를 저장하는 중...';
@@ -2322,9 +2203,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get trackReEnrichOnlineSubtitle => '온라인에서 메타데이터를 검색하고 파일에 삽입';
@override
String get trackReEnrichFieldsTitle => '업데이트할 필드';
@override
String get trackReEnrichFieldCover => '표지 이미지';
@@ -2382,11 +2260,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '선택한 트랙에 대한 온라인 일치 항목을 검색하고 FLAC을 다운로드 목록에 추가합니다\n\n기존 파일은 수정되거나 삭제되지 않습니다\n\n신뢰도가 높은 일치 항목만 자동으로 대기열에 추가됩니다\n\n$count 개가 선택되었습니다';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'FLAC 일치 항목을 찾는 중... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'선택한 항목에 대한 신뢰할 수 있는 온라인 일치 항목을 찾을 수 없음';
@@ -2404,10 +2277,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get trackConvertFormat => '형식 변환';
@override
String get trackConvertFormatSubtitle =>
'AAC/M4A, MP3, Opus, ALAC 또는 FLAC으로 변환';
@override
String get trackConvertTitle => '오디오 변환';
@@ -2454,9 +2323,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get cueSplitTitle => 'CUE 시트 분할';
@override
String get cueSplitSubtitle => 'CUE+FLAC을 개별 트랙으로 분할';
@override
String cueSplitAlbum(String album) {
return '앨범: $album';
@@ -2514,9 +2380,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get collectionFavoriteArtists => '좋아하는 아티스트';
@override
String get collectionPlaylists => '재생목록';
@override
String get collectionPlaylist => '재생목록';
@@ -2529,9 +2392,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => '아직 재생목록이 없음';
@override
String get collectionNoPlaylistsSubtitle => '트랙 분류를 시작하려면 재생목록을 만드세요';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2564,9 +2424,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '이미 \'\'$playlistName\'\'에 있음';
}
@override
String get collectionPlaylistCreated => '재생목록 생성 완료';
@override
String get collectionPlaylistNameHint => '재생목록 이름';
@@ -2579,14 +2436,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get collectionDeletePlaylist => '재생목록 삭제';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return '\'\'$playlistName\'\'과 그 안에 있는 모든 트랙을 삭제하시겠습니까?';
}
@override
String get collectionPlaylistDeleted => '재생목록 삭제 완료';
@override
String get collectionPlaylistRenamed => '재생목록 이름 변경 완료';
@@ -2622,11 +2471,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get collectionRemoveFromFolder => '폴더에서 제거';
@override
String collectionRemoved(String trackName) {
return '\'\'$trackName\'\' 제거 완료';
}
@override
String collectionAddedToLoved(String trackName) {
return '\'\'$trackName\'\'\'좋아요 표시한 트랙\'에 추가됨';
@@ -2738,11 +2582,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '$count 개의 $_temp0을 $format으로 변환하시겠습니까? (무손실 — 음질 손실 없음)\n\n변환 후 원본 파일이 삭제됩니다';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return '$total 개 중 $current 개를 변환하는 중...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return '$total 개 중 $success 개를 $format로 변환 완료';
@@ -2861,18 +2700,12 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get backupImportButton => '백업 파일 선택';
@override
String get backupCreating => '백업을 생성하는 중...';
@override
String get backupCreated => '백업 생성 완료';
@override
String get backupCreateFailed => '백업 생성 실패';
@override
String get backupEmpty => '아직 백업할 내용이 없습니다';
@override
String get backupRestoreConfirmTitle => '이 백업을 복원하시겠습니까?';
@@ -2883,9 +2716,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get backupRestoreConfirmButton => '복원';
@override
String get backupRestoring => '백업을 복원하는 중...';
@override
String get backupRestored => '백업 복원 성공';
@@ -3143,9 +2973,6 @@ class AppLocalizationsKo extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'이 옵션을 활성화하려면 음질 옵션이 있는 공급자를 선택하세요';
@override
String get downloadSelectTidalQobuz => '음질을 선택하려면 음질 옵션이 있는 제공자를 선택하세요';
@override
String get downloadEmbedLyricsDisabled => '먼저 메타데이터 삽입을 활성화하세요';
@@ -3353,9 +3180,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '다운로드하는 중 ($count)';
}
@override
String get queueDownloadedHeader => '다운로드됨';
@override
String get queueFilteringIndicator => '필터링하는 중...';
@@ -3480,11 +3304,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get audioAnalysisRescanning => '오디오를 다시 분석하는 중...';
@override
String extensionsSearchWith(String providerName) {
return '$providerName으로 검색';
}
@override
String get extensionsHomeFeedProvider => '홈 피드 제공자';
@@ -3512,12 +3331,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => '홈 피드가 있는 확장 프로그램가 없음';
@override
String get sortAlphaAsc => '오름차순';
@override
String get sortAlphaDesc => '내림차순';
@override
String get cancelDownloadTitle => '다운로드를 취소하시겠습니까?';
@@ -3540,27 +3353,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '폴더 선택기 열기 실패: $error';
}
@override
String get errorLoadAlbum => '앨범 불러오기 실패';
@override
String get errorLoadPlaylist => '재생목록 불러오기 실패';
@override
String get errorLoadArtist => '아티스트 불러오기 실패';
@override
String get notifChannelDownloadName => '다운로드 진행률';
@override
String get notifChannelDownloadDesc => '트랙 다운로드 진행률 표시';
@override
String get notifChannelLibraryScanName => '라이브러리 스캔';
@override
String get notifChannelLibraryScanDesc => '로컬 라이브러리 스캔 진행률을 표시합니다';
@override
String notifDownloadingTrack(String trackName) {
return '\'\'$trackName\'\'를 다운로드하는 중';
@@ -3735,12 +3527,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get actionPaste => '붙여넣기';
@override
String get searchTracksHint => '트랙 검색...';
@override
String get searchTracksEmptyPrompt => '트랙 검색';
@override
String get tutorialSearchHint => '붙여넣기 또는 검색...';
@@ -3762,15 +3548,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get optionsEmbedMetadataSubtitleOff => '비활성화됨 (고급): 모든 메타데이터 삽입 건너뛰기';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'메타데이터 삽입이 꺼져 있을 때 비활성화됨';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => '내장된 표지 이미지가 없음';
@@ -3933,12 +3710,6 @@ class AppLocalizationsKo extends AppLocalizations {
return '앨범 \'\'$albumName\'\' 열기';
}
@override
String get optionsDefaultSearchTabAlbums => '앨범';
@override
String get optionsDefaultSearchTabTracks => '트랙';
@override
String get settingsFiles => '파일 & 폴더';
@@ -4298,9 +4069,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get errorInvalidFolderSelected => '잘못된 폴더가 선택됨';
@override
String get errorCouldNotKeepFolderAccess => '선택한 폴더에 대한 접근 권한을 유지할 수 없습니다';
@override
String get storeAnyVersion => '모든';
-241
View File
@@ -62,9 +62,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get settingsAppearance => 'Appearance';
@override
String get settingsOptions => 'Options';
@override
String get settingsExtensions => 'Extensions';
@@ -118,9 +115,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Grid';
@override
String get optionsTitle => 'Options';
@override
String get optionsPrimaryProvider => 'Primary Provider';
@@ -140,10 +134,6 @@ class AppLocalizationsNl extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Choose which tab opens first for new search results.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Auto Fallback';
@@ -151,17 +141,6 @@ class AppLocalizationsNl extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Try other services if download fails';
@override
String get optionsUseExtensionProviders => 'Use Extension Providers';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Embed Lyrics';
@@ -190,10 +169,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -287,25 +262,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Enable for bug reports';
@override
String get optionsSpotifyCredentials => 'Spotify Credentials';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Client ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired => 'Required - tap to configure';
@override
String get optionsSpotifyWarning =>
'Spotify requires your own API credentials. Get them free from developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.';
@override
String get extensionsTitle => 'Extensions';
@@ -317,11 +273,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Version $version';
}
@override
String extensionsAuthor(String author) {
return 'by $author';
}
@override
String get extensionsUninstall => 'Uninstall';
@@ -703,12 +654,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'History cleared';
@override
String get snackbarCredentialsSaved => 'Credentials saved';
@override
String get snackbarCredentialsCleared => 'Credentials cleared';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -725,9 +670,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Cannot open file: $error';
}
@override
String get snackbarFillAllFields => 'Please fill all fields';
@override
String get snackbarViewQueue => 'View Queue';
@@ -809,12 +751,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get actionDeselect => 'Deselect';
@override
String get actionRemoveCredentials => 'Remove Credentials';
@override
String get actionSaveCredentials => 'Save Credentials';
@override
String selectionSelected(int count) {
return '$count selected';
@@ -974,9 +910,6 @@ class AppLocalizationsNl extends AppLocalizations {
String get providerPriorityInfo =>
'If a track is not available on the first provider, the app will automatically try the next one.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Extension Fallback';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Choose which installed download extensions can be used during automatic fallback.';
@@ -985,9 +918,6 @@ class AppLocalizationsNl extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Only enabled extensions with download-provider capability are listed here.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Extension';
@@ -1002,12 +932,6 @@ class AppLocalizationsNl extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.';
@override
String get metadataNoRateLimits => 'No rate limits';
@override
String get metadataMayRateLimit => 'May rate limit';
@override
String get logTitle => 'Logs';
@@ -1054,25 +978,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Entries ($count)';
}
@override
String get credentialsTitle => 'Spotify Credentials';
@override
String get credentialsDescription =>
'Enter your Client ID and Secret to use your own Spotify application quota.';
@override
String get credentialsClientId => 'Client ID';
@override
String get credentialsClientIdHint => 'Paste Client ID';
@override
String get credentialsClientSecret => 'Client Secret';
@override
String get credentialsClientSecretHint => 'Paste Client Secret';
@override
String get channelStable => 'Stable';
@@ -1156,9 +1061,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Service, quality, fallback';
@override
String get settingsOptionsSubtitle => 'Fallback, metadata, lyrics, cover art';
@override
String get settingsExtensionsSubtitle => 'Manage download providers';
@@ -1350,10 +1252,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'e.g. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Add Repository';
@@ -1378,16 +1276,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get storeEmptyNoResults => 'No extensions found';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Author';
@override
String get extensionId => 'ID';
@@ -1585,10 +1473,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'Smallest size, ~4MB per track';
@override
String get qualityNote =>
'Actual quality depends on track availability from the service';
@override
String get downloadAskBeforeDownload => 'Ask Before Download';
@@ -1731,9 +1615,6 @@ class AppLocalizationsNl extends AppLocalizations {
return '$count selected';
}
@override
String get downloadedAlbumAllSelected => 'All tracks selected';
@override
String get downloadedAlbumTapToSelect => 'Tap tracks to select';
@@ -2373,15 +2254,9 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2392,9 +2267,6 @@ class AppLocalizationsNl extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2452,11 +2324,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2474,10 +2341,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -2525,9 +2388,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get cueSplitTitle => 'Split CUE Sheet';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2585,9 +2445,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2600,10 +2457,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2636,9 +2489,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2651,14 +2501,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -2696,11 +2538,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2812,11 +2649,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2943,18 +2775,12 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2965,9 +2791,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3233,10 +3056,6 @@ class AppLocalizationsNl extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3460,9 +3279,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3590,11 +3406,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3624,12 +3435,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3653,27 +3458,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3849,12 +3633,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3878,15 +3656,6 @@ class AppLocalizationsNl extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4055,12 +3824,6 @@ class AppLocalizationsNl extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4430,10 +4193,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-485
View File
@@ -62,9 +62,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get settingsAppearance => 'Appearance';
@override
String get settingsOptions => 'Options';
@override
String get settingsExtensions => 'Extensions';
@@ -118,9 +115,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Grid';
@override
String get optionsTitle => 'Options';
@override
String get optionsPrimaryProvider => 'Primary Provider';
@@ -140,10 +134,6 @@ class AppLocalizationsPt extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Choose which tab opens first for new search results.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Auto Fallback';
@@ -151,17 +141,6 @@ class AppLocalizationsPt extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Try other services if download fails';
@override
String get optionsUseExtensionProviders => 'Use Extension Providers';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Embed Lyrics';
@@ -190,10 +169,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -287,25 +262,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Enable for bug reports';
@override
String get optionsSpotifyCredentials => 'Spotify Credentials';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Client ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired => 'Required - tap to configure';
@override
String get optionsSpotifyWarning =>
'Spotify requires your own API credentials. Get them free from developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.';
@override
String get extensionsTitle => 'Extensions';
@@ -317,11 +273,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Version $version';
}
@override
String extensionsAuthor(String author) {
return 'by $author';
}
@override
String get extensionsUninstall => 'Uninstall';
@@ -703,12 +654,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'History cleared';
@override
String get snackbarCredentialsSaved => 'Credentials saved';
@override
String get snackbarCredentialsCleared => 'Credentials cleared';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -725,9 +670,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Cannot open file: $error';
}
@override
String get snackbarFillAllFields => 'Please fill all fields';
@override
String get snackbarViewQueue => 'View Queue';
@@ -809,12 +751,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get actionDeselect => 'Deselect';
@override
String get actionRemoveCredentials => 'Remove Credentials';
@override
String get actionSaveCredentials => 'Save Credentials';
@override
String selectionSelected(int count) {
return '$count selected';
@@ -974,9 +910,6 @@ class AppLocalizationsPt extends AppLocalizations {
String get providerPriorityInfo =>
'If a track is not available on the first provider, the app will automatically try the next one.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Extension Fallback';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Choose which installed download extensions can be used during automatic fallback.';
@@ -985,9 +918,6 @@ class AppLocalizationsPt extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Only enabled extensions with download-provider capability are listed here.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Extension';
@@ -1002,12 +932,6 @@ class AppLocalizationsPt extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.';
@override
String get metadataNoRateLimits => 'No rate limits';
@override
String get metadataMayRateLimit => 'May rate limit';
@override
String get logTitle => 'Logs';
@@ -1054,25 +978,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Entries ($count)';
}
@override
String get credentialsTitle => 'Spotify Credentials';
@override
String get credentialsDescription =>
'Enter your Client ID and Secret to use your own Spotify application quota.';
@override
String get credentialsClientId => 'Client ID';
@override
String get credentialsClientIdHint => 'Paste Client ID';
@override
String get credentialsClientSecret => 'Client Secret';
@override
String get credentialsClientSecretHint => 'Paste Client Secret';
@override
String get channelStable => 'Stable';
@@ -1156,9 +1061,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Service, quality, filename format';
@override
String get settingsOptionsSubtitle => 'Fallback, lyrics, cover art, updates';
@override
String get settingsExtensionsSubtitle => 'Manage download providers';
@@ -1350,10 +1252,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'e.g. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Add Repository';
@@ -1378,16 +1276,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get storeEmptyNoResults => 'No extensions found';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Author';
@override
String get extensionId => 'ID';
@@ -1585,10 +1473,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get downloadLossyOpus128Subtitle => 'Smallest size, ~4MB per track';
@override
String get qualityNote =>
'Actual quality depends on track availability from the service';
@override
String get downloadAskBeforeDownload => 'Ask Before Download';
@@ -1731,9 +1615,6 @@ class AppLocalizationsPt extends AppLocalizations {
return '$count selected';
}
@override
String get downloadedAlbumAllSelected => 'All tracks selected';
@override
String get downloadedAlbumTapToSelect => 'Tap tracks to select';
@@ -2373,15 +2254,9 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2392,9 +2267,6 @@ class AppLocalizationsPt extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2452,11 +2324,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2474,10 +2341,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -2525,9 +2388,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get cueSplitTitle => 'Split CUE Sheet';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2585,9 +2445,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -2600,10 +2457,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2636,9 +2489,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2651,14 +2501,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -2696,11 +2538,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2812,11 +2649,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2943,18 +2775,12 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2965,9 +2791,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3233,10 +3056,6 @@ class AppLocalizationsPt extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3460,9 +3279,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3590,11 +3406,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3624,12 +3435,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3653,27 +3458,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3843,12 +3627,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3872,15 +3650,6 @@ class AppLocalizationsPt extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4049,12 +3818,6 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4424,10 +4187,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
@@ -4865,9 +4624,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get settingsAppearance => 'Aparência';
@override
String get settingsOptions => 'Opções';
@override
String get settingsExtensions => 'Extensões';
@@ -4923,9 +4679,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get appearanceHistoryViewGrid => 'Grade';
@override
String get optionsTitle => 'Opções';
@override
String get optionsPrimaryProvider => 'Provedor Primário';
@@ -4945,10 +4698,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
String get optionsDefaultSearchTabSubtitle =>
'Escolha qual aba será aberta primeiro para novos resultados de pesquisa.';
@override
String get optionsSwitchBack =>
'Escolha o provedor de pesquisa padrão para retornar após sair de uma extensão';
@override
String get optionsAutoFallback => 'Fallback Automático';
@@ -4956,17 +4705,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
String get optionsAutoFallbackSubtitle =>
'Tentar outros serviços se o download falhar';
@override
String get optionsUseExtensionProviders => 'Usar Provedores de Extensão';
@override
String get optionsUseExtensionProvidersOn =>
'Provedores de extensão estão habilitados';
@override
String get optionsUseExtensionProvidersOff =>
'Provedores de extensão são necessários';
@override
String get optionsEmbedLyrics => 'Incorporar Letras';
@@ -4995,10 +4733,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get trackReplayGain => 'Reanalisar ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analisar o volume e gravar etiquetas ReplayGain';
@override
String get trackReplayGainScanning => 'Analisando o volume...';
@@ -5095,26 +4829,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get optionsDetailedLoggingOff => 'Habilitar para relatórios de erros';
@override
String get optionsSpotifyCredentials => 'Credenciais do Spotify';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'ID do cliente: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired =>
'Obrigatório - toque para configurar';
@override
String get optionsSpotifyWarning =>
'O Spotify requer as suas próprias credenciais de API. Consiga gratuitamente em developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'A busca do Spotify será descontinuada em 3 de março de 2026 devido a mudanças na API do Spotify. Por favor, mude para o Deezer.';
@override
String get extensionsTitle => 'Extensões';
@@ -5126,11 +4840,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Versão $version';
}
@override
String extensionsAuthor(String author) {
return 'por $author';
}
@override
String get extensionsUninstall => 'Desinstalar';
@@ -5515,12 +5224,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get snackbarHistoryCleared => 'Histórico limpo';
@override
String get snackbarCredentialsSaved => 'Credenciais salvas';
@override
String get snackbarCredentialsCleared => 'Credenciais limpas';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -5537,9 +5240,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Não foi possível abrir o arquivo: $error';
}
@override
String get snackbarFillAllFields => 'Por favor, preencha todos os campos';
@override
String get snackbarViewQueue => 'Ver Fila';
@@ -5622,12 +5322,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get actionDeselect => 'Desselecionar';
@override
String get actionRemoveCredentials => 'Remover Credenciais';
@override
String get actionSaveCredentials => 'Salvar Credenciais';
@override
String selectionSelected(int count) {
return '$count selecionado(s)';
@@ -5788,10 +5482,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
String get providerPriorityInfo =>
'Se uma faixa não estiver disponível no primeiro provedor, o aplicativo irá tentar automaticamente a próxima.';
@override
String get providerPriorityFallbackExtensionsTitle =>
'Alternativa de extensão';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Escolha quais extensões de download instaladas podem ser usadas durante a alternativa automática.';
@@ -5800,9 +5490,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
String get providerPriorityFallbackExtensionsHint =>
'Apenas extensões ativadas com capacidade de provedor de download são listadas aqui.';
@override
String get providerBuiltIn => 'Legado';
@override
String get providerExtension => 'Extensão';
@@ -5817,12 +5504,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
String get metadataProviderPriorityInfo =>
'O Deezer não tem limites de taxa e é recomendado como principal. O Spotify pode limitar a taxa após muitas solicitações.';
@override
String get metadataNoRateLimits => 'Sem limites de taxa';
@override
String get metadataMayRateLimit => 'Pode ter limites de taxa';
@override
String get logTitle => 'Registros';
@@ -5871,25 +5552,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Entradas ($count)';
}
@override
String get credentialsTitle => 'Credenciais do Spotify';
@override
String get credentialsDescription =>
'Digite a sua Client ID e Secret para usar a sua própria cota de aplicativo do Spotify.';
@override
String get credentialsClientId => 'ID do cliente';
@override
String get credentialsClientIdHint => 'Colar Client ID';
@override
String get credentialsClientSecret => 'Segredo do cliente';
@override
String get credentialsClientSecretHint => 'Colar Client Secret';
@override
String get channelStable => 'Estável';
@@ -5974,10 +5636,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get settingsDownloadSubtitle => 'Serviço, qualidade, alternativa';
@override
String get settingsOptionsSubtitle =>
'Alternativa, metadados, letras, capa do álbum';
@override
String get settingsExtensionsSubtitle => 'Gerenciar provedores de download';
@@ -6170,10 +5828,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get storeRepoUrlHint => 'https://github.com/usuario/repositorio';
@override
String get storeRepoUrlHelper =>
'e.g. https://github.com/usuario/repositorio-extensao';
@override
String get storeAddRepoButton => 'Adicionar repositório';
@@ -6198,16 +5852,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get storeEmptyNoResults => 'Nenhuma extensão encontrada';
@override
String get extensionDefaultProvider => 'Pesquisa padrão';
@override
String get extensionDefaultProviderSubtitle =>
'Usar a pesquisa padrão de metadados';
@override
String get extensionAuthor => 'Autor';
@override
String get extensionId => 'ID';
@@ -6408,10 +6052,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get downloadLossyOpus128Subtitle => 'Smallest size, ~4MB per track';
@override
String get qualityNote =>
'A qualidade real depende da faixa que estiver disponível no serviço';
@override
String get downloadAskBeforeDownload => 'Perguntar qualidade antes de baixar';
@@ -6540,9 +6180,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return '$count selecionado(s)';
}
@override
String get downloadedAlbumAllSelected => 'Todas as faixas selecionadas';
@override
String get downloadedAlbumTapToSelect => 'Toque nas faixas para selecionar';
@@ -7182,15 +6819,9 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -7201,9 +6832,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -7261,11 +6889,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -7283,10 +6906,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -7334,9 +6953,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get cueSplitTitle => 'Split CUE Sheet';
@override
String get cueSplitSubtitle => 'Split CUE+FLAC into individual tracks';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -7394,9 +7010,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Playlists';
@override
String get collectionPlaylist => 'Playlist';
@@ -7409,10 +7022,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get collectionNoPlaylistsYet => 'No playlists yet';
@override
String get collectionNoPlaylistsSubtitle =>
'Create a playlist to start categorizing tracks';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -7445,9 +7054,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Already in \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -7460,14 +7066,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get collectionDeletePlaylist => 'Delete playlist';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Delete \"$playlistName\" and all tracks inside it?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Playlist renamed';
@@ -7505,11 +7103,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -7621,11 +7214,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -7752,18 +7340,12 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -7774,9 +7356,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -8024,10 +7603,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -8251,9 +7826,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -8381,11 +7953,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -8415,12 +7982,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -8444,27 +8005,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -8633,12 +8173,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -8662,15 +8196,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -8839,12 +8364,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -9214,10 +8733,6 @@ class AppLocalizationsPtPt extends AppLocalizationsPt {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-244
View File
@@ -63,9 +63,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get settingsAppearance => 'Внешний вид';
@override
String get settingsOptions => 'Опции';
@override
String get settingsExtensions => 'Расширения';
@@ -120,9 +117,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Сетка';
@override
String get optionsTitle => 'Опции';
@override
String get optionsPrimaryProvider => 'Основной провайдер';
@@ -142,10 +136,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Choose which tab opens first for new search results.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Автоматический переход';
@@ -153,18 +143,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Попробовать другие сервисы при сбое загрузки';
@override
String get optionsUseExtensionProviders =>
'Использовать провайдера расширений';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Вписать текст песни';
@@ -193,10 +171,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -289,26 +263,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Включить для отчётов об ошибках';
@override
String get optionsSpotifyCredentials => 'Учётные данные Spotify';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Client ID: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired =>
'Необходимо - нажмите для настройки';
@override
String get optionsSpotifyWarning =>
'Spotify требует ваши собственные учетные данные API. Получите их бесплатно на сайте developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Поиск Spotify устареет 3 марта 2026 года из-за изменений Spotify API. Пожалуйста, перейдите на Deezer.';
@override
String get extensionsTitle => 'Расширения';
@@ -320,11 +274,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Версия $version';
}
@override
String extensionsAuthor(String author) {
return 'от $author';
}
@override
String get extensionsUninstall => 'Удалить';
@@ -709,12 +658,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'История очищена';
@override
String get snackbarCredentialsSaved => 'Учётные данные сохранены';
@override
String get snackbarCredentialsCleared => 'Учётные данные очищены';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -731,9 +674,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Невозможно открыть файл: $error';
}
@override
String get snackbarFillAllFields => 'Пожалуйста, заполните все поля';
@override
String get snackbarViewQueue => 'Просмотр очереди';
@@ -816,12 +756,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get actionDeselect => 'Снять выделение';
@override
String get actionRemoveCredentials => 'Удалить учётные данные';
@override
String get actionSaveCredentials => 'Сохранить учётные данные';
@override
String selectionSelected(int count) {
return '$count выбрано';
@@ -981,9 +915,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get providerPriorityInfo =>
'Если трек не доступен у первого провайдера, приложение автоматически попробует следующий.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Резервное расширение';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Choose which installed download extensions can be used during automatic fallback.';
@@ -992,9 +923,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Only enabled extensions with download-provider capability are listed here.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Расширение';
@@ -1009,12 +937,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer не имеет ограничений по скорости и рекомендуется в качестве основного. Spotify может ограничивать скорость после большого количества запросов.';
@override
String get metadataNoRateLimits => 'Без ограничений по скорости';
@override
String get metadataMayRateLimit => 'Есть ограничения по скорости';
@override
String get logTitle => 'Логи';
@@ -1062,25 +984,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Записи ($count)';
}
@override
String get credentialsTitle => 'Учётные данные Spotify';
@override
String get credentialsDescription =>
'Введите свой Client ID и Secret, чтобы использовать собственные квоты в Spotify.';
@override
String get credentialsClientId => 'Client ID';
@override
String get credentialsClientIdHint => 'Вставьте Client ID';
@override
String get credentialsClientSecret => 'Секретный код клиента';
@override
String get credentialsClientSecretHint => 'Вставьте Client Secret';
@override
String get channelStable => 'Стабильный';
@@ -1164,9 +1067,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Service, quality, fallback';
@override
String get settingsOptionsSubtitle => 'Fallback, metadata, lyrics, cover art';
@override
String get settingsExtensionsSubtitle => 'Управление провайдерами скачивания';
@@ -1360,10 +1260,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'например, https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Добавить репозиторий';
@@ -1388,16 +1284,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get storeEmptyNoResults => 'Расширения не найдены';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Автор';
@override
String get extensionId => 'ID';
@@ -1600,10 +1486,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get downloadLossyOpus128Subtitle =>
'Минимальный размер, ~4 Мб на трек';
@override
String get qualityNote =>
'Фактическое качество зависит от доступности треков в сервисе';
@override
String get downloadAskBeforeDownload => 'Спрашивать перед скачиванием';
@@ -1750,9 +1632,6 @@ class AppLocalizationsRu extends AppLocalizations {
return '$count выбрано';
}
@override
String get downloadedAlbumAllSelected => 'Все треки выбраны';
@override
String get downloadedAlbumTapToSelect => 'Нажмите на треки для выбора';
@@ -2404,16 +2283,9 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Сохранить обложку';
@override
String get trackSaveCoverArtSubtitle => 'Сохранить обложку как файл .jpg';
@override
String get trackSaveLyrics => 'Сохранить текст (.lrc)';
@override
String get trackSaveLyricsSubtitle =>
'Получить и сохранить текст песни в формате .lrc';
@override
String get trackSaveLyricsProgress => 'Сохранение текста...';
@@ -2424,9 +2296,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Поиск в сети метаданных и встраивание в файл';
@override
String get trackReEnrichFieldsTitle => 'Поля для обновления';
@override
String get trackReEnrichFieldCover => 'Обложка';
@@ -2485,11 +2354,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Поиск совпадений FLAC... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2507,10 +2371,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get trackConvertFormat => 'Переконвертировать формат';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Конвертировать аудио';
@@ -2557,9 +2417,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get cueSplitTitle => 'Разделить CUE Sheet';
@override
String get cueSplitSubtitle => 'Разделить файл CUE+FLAC на отдельные треки';
@override
String cueSplitAlbum(String album) {
return 'Альбом: $album';
@@ -2617,9 +2474,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Плейлисты';
@override
String get collectionPlaylist => 'Плейлист';
@@ -2632,10 +2486,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'Плейлисты отсутствуют';
@override
String get collectionNoPlaylistsSubtitle =>
'Создайте плейлист, чтобы начать классифицировать треки';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2668,9 +2518,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Уже в \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Плейлист создан';
@override
String get collectionPlaylistNameHint => 'Название плейлиста';
@@ -2683,14 +2530,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Удалить плейлист';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Удалить \"$playlistName\" и все треки внутри него?';
}
@override
String get collectionPlaylistDeleted => 'Плейлист удалён';
@override
String get collectionPlaylistRenamed => 'Плейлист переименован';
@@ -2728,11 +2567,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Убрать из папки';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" удалён';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" добавлен в Любимые';
@@ -2845,11 +2679,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Конвертировать $count $_temp0 в $format? (Без потери качества)\n\nОригинальные файлы будут удалены после конвертации.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Конвертация $current из $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Конвертировано $success треков $total в $format';
@@ -2976,18 +2805,12 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2998,9 +2821,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3266,10 +3086,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3492,9 +3308,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Скачивание ($count)';
}
@override
String get queueDownloadedHeader => 'Скачано';
@override
String get queueFilteringIndicator => 'Фильтрация...';
@@ -3622,11 +3435,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Искать с помощью $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3656,12 +3464,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'А';
@override
String get sortAlphaDesc => 'Я-А';
@override
String get cancelDownloadTitle => 'Отменить скачивание?';
@@ -3686,27 +3488,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Не удалось открыть выбор папок: $error';
}
@override
String get errorLoadAlbum => 'Не удалось загрузить альбом';
@override
String get errorLoadPlaylist => 'Не удалось загрузить плейлист';
@override
String get errorLoadArtist => 'Не удалось загрузить исполнителя';
@override
String get notifChannelDownloadName => 'Прогресс скачивания';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Сканирование библиотеки';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3883,12 +3664,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3912,15 +3687,6 @@ class AppLocalizationsRu extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4089,12 +3855,6 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Альбомы';
@override
String get optionsDefaultSearchTabTracks => 'Треки';
@override
String get settingsFiles => 'Files & Folders';
@@ -4464,10 +4224,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-243
View File
@@ -64,9 +64,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get settingsAppearance => 'Görünüm';
@override
String get settingsOptions => 'Seçenekler';
@override
String get settingsExtensions => 'Eklentiler';
@@ -121,9 +118,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Izgara';
@override
String get optionsTitle => 'Seçenekler';
@override
String get optionsPrimaryProvider => 'Ana Kaynek';
@@ -143,10 +137,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Yeni arama sonuçları için hangi sekmenin önce açılacağını seçin.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Diğerlerini dene';
@@ -154,17 +144,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'İndirme başarısız olursa diğer hizmetleri dene';
@override
String get optionsUseExtensionProviders => 'Eklenti sağlayıcılarını kullan';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Şarkı Sözlerini Göm';
@@ -193,10 +172,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -291,26 +266,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Hata bildirmek için aç';
@override
String get optionsSpotifyCredentials => 'Spotify Kimlik Bilgileri';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Müşteri Kimliği: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired =>
'Zorunlu - değiştirmek için tıkla';
@override
String get optionsSpotifyWarning =>
'Spotify\'ın senin API kimlik bilgilerine ihtiyacı var. Onları developer.spotify.com\'dan alabilirsin';
@override
String get optionsSpotifyDeprecationWarning =>
'Spotify API değişiklikleri nedeniyle Spotify araması 3 Mart 2026 tarihinde kullanımdan kaldırılacaktır. Lütfen Deezer\'a geçiş yapın.';
@override
String get extensionsTitle => 'Eklentiler';
@@ -322,11 +277,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Versiyon $version';
}
@override
String extensionsAuthor(String author) {
return '$author tarafından';
}
@override
String get extensionsUninstall => 'Kaldır';
@@ -710,12 +660,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'Geçmiş temizlendi';
@override
String get snackbarCredentialsSaved => 'Kimlik bilgileri kaydedildi';
@override
String get snackbarCredentialsCleared => 'Kimlik bilgileri temizlendi';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -732,9 +676,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Dosya açılamadı: $error';
}
@override
String get snackbarFillAllFields => 'Lütfen tüm alanları doldurun';
@override
String get snackbarViewQueue => 'Kuyruğu Görüntüle';
@@ -816,12 +757,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get actionDeselect => 'Seçimi kaldır';
@override
String get actionRemoveCredentials => 'Özellikleri kaldır';
@override
String get actionSaveCredentials => 'Özellikleri kaydet';
@override
String selectionSelected(int count) {
return '$count seçildi';
@@ -981,9 +916,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get providerPriorityInfo =>
'Eğer bir şarkı ilk hizmette mevcut değilse uygulama otomatik olarak bir sonrakini deneyecektir.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Uzantı Yedeği';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Otomatik geri dönüş sırasında hangi yüklü indirme uzantılarının kullanılabileceğini seçin.';
@@ -992,9 +924,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Burada yalnızca indirme sağlayıcısı yeteneğine sahip olan ve etkinleştirilmiş uzantılar listelenir.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Eklenti';
@@ -1009,12 +938,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer\'da istek sınırı yoktur ve birincil olarak önerilir. Spotify, çok sayıda istekten sonra hız sınırlaması uygulayabilir.';
@override
String get metadataNoRateLimits => 'İstek sınırı yok';
@override
String get metadataMayRateLimit => 'Hız sınırlaması uygulanabilir';
@override
String get logTitle => 'Kayıtlar';
@@ -1063,25 +986,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Kayıtlar ($count)';
}
@override
String get credentialsTitle => 'Spotify Kimlik Bilgileri';
@override
String get credentialsDescription =>
'Kendi Spotify uygulama kotanızı kullanmak için Client ID ve Secret girin.';
@override
String get credentialsClientId => 'Müşteri Kimliği';
@override
String get credentialsClientIdHint => 'Client ID yapıştır';
@override
String get credentialsClientSecret => 'Müşteri Sırrı';
@override
String get credentialsClientSecretHint => 'Client Secret yapıştır';
@override
String get channelStable => 'Kararlı';
@@ -1167,10 +1071,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Hizmet, kalite, yedekleme';
@override
String get settingsOptionsSubtitle =>
'Yedek plan, meta veriler, şarkı sözleri, kapak resmi';
@override
String get settingsExtensionsSubtitle => 'İndirme sağlayıcılarını yönet';
@@ -1364,10 +1264,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'örn. https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Depo Ekle';
@@ -1392,16 +1288,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get storeEmptyNoResults => 'Uzantı bulunamadı';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Oluşturan';
@override
String get extensionId => 'Kimlik';
@@ -1602,10 +1488,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get downloadLossyOpus128Subtitle =>
'En küçük boyut, parça başına ~4 Mb';
@override
String get qualityNote =>
'Gerçek kalite, parçanın servisteki uygunluğuna bağlıdır';
@override
String get downloadAskBeforeDownload => 'İndirmeden Önce Sor';
@@ -1753,9 +1635,6 @@ class AppLocalizationsTr extends AppLocalizations {
return '$count seçildi';
}
@override
String get downloadedAlbumAllSelected => 'Tüm parçalar seçildi';
@override
String get downloadedAlbumTapToSelect => 'Seçmek için parçalara dokunun';
@@ -2401,15 +2280,9 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Save Cover Art';
@override
String get trackSaveCoverArtSubtitle => 'Save album art as .jpg file';
@override
String get trackSaveLyrics => 'Save Lyrics (.lrc)';
@override
String get trackSaveLyricsSubtitle => 'Fetch and save lyrics as .lrc file';
@override
String get trackSaveLyricsProgress => 'Saving lyrics...';
@@ -2420,9 +2293,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Search metadata online and embed into file';
@override
String get trackReEnrichFieldsTitle => 'Fields to update';
@override
String get trackReEnrichFieldCover => 'Cover Art';
@@ -2480,11 +2350,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n$count selected';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Finding FLAC matches... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'No reliable online matches found for the selection';
@@ -2502,10 +2367,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get trackConvertFormat => 'Convert Format';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Convert Audio';
@@ -2553,9 +2414,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get cueSplitTitle => 'Bölünmüş CUE Sayfası';
@override
String get cueSplitSubtitle => 'CUE+FLAC dosyalarını ayrı parçalara bölün';
@override
String cueSplitAlbum(String album) {
return 'Album: $album';
@@ -2614,9 +2472,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favori Sanatçılar';
@override
String get collectionPlaylists => 'Çalma listeleri';
@override
String get collectionPlaylist => 'Çalma listesi';
@@ -2629,10 +2484,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'Henüz çalma listesi yok';
@override
String get collectionNoPlaylistsSubtitle =>
'Parçaları kategorize etmeye başlamak için bir çalma listesi oluşturun';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2665,9 +2516,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Zaten \"$playlistName\" içinde';
}
@override
String get collectionPlaylistCreated => 'Playlist created';
@override
String get collectionPlaylistNameHint => 'Playlist name';
@@ -2680,14 +2528,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Çalma listesini sil';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return '\"$playlistName\" ve içindeki tüm parçaları silmek mi istiyorsunuz?';
}
@override
String get collectionPlaylistDeleted => 'Playlist deleted';
@override
String get collectionPlaylistRenamed => 'Çalma listesinin adı değiştirildi';
@@ -2725,11 +2565,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Remove from folder';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" removed';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" added to Loved';
@@ -2841,11 +2676,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Convert $count $_temp0 to $format? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Converting $current of $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Converted $success of $total tracks to $format';
@@ -2972,18 +2802,12 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -2994,9 +2818,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3265,10 +3086,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3492,9 +3309,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Downloading ($count)';
}
@override
String get queueDownloadedHeader => 'Downloaded';
@override
String get queueFilteringIndicator => 'Filtering...';
@@ -3622,11 +3436,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Search with $providerName';
}
@override
String get extensionsHomeFeedProvider => 'Home Feed Provider';
@@ -3656,12 +3465,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get extensionsNoHomeFeedExtensions => 'No extensions with home feed';
@override
String get sortAlphaAsc => 'A-Z';
@override
String get sortAlphaDesc => 'Z-A';
@override
String get cancelDownloadTitle => 'Cancel download?';
@@ -3685,27 +3488,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Failed to open folder picker: $error';
}
@override
String get errorLoadAlbum => 'Failed to load album';
@override
String get errorLoadPlaylist => 'Failed to load playlist';
@override
String get errorLoadArtist => 'Failed to load artist';
@override
String get notifChannelDownloadName => 'Download Progress';
@override
String get notifChannelDownloadDesc => 'Shows download progress for tracks';
@override
String get notifChannelLibraryScanName => 'Library Scan';
@override
String get notifChannelLibraryScanDesc => 'Shows local library scan progress';
@override
String notifDownloadingTrack(String trackName) {
return 'Downloading $trackName';
@@ -3881,12 +3663,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get actionPaste => 'Yapıştır';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3910,15 +3686,6 @@ class AppLocalizationsTr extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4087,12 +3854,6 @@ class AppLocalizationsTr extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albümler';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4462,10 +4223,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
-246
View File
@@ -64,9 +64,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get settingsAppearance => 'Зовнішній вигляд';
@override
String get settingsOptions => 'Опції';
@override
String get settingsExtensions => 'Розширення';
@@ -121,9 +118,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get appearanceHistoryViewGrid => 'Сітка';
@override
String get optionsTitle => 'Опції';
@override
String get optionsPrimaryProvider => 'Основний постачальник';
@@ -143,10 +137,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get optionsDefaultSearchTabSubtitle =>
'Виберіть, яка вкладка відкриється першою для нових результатів пошуку.';
@override
String get optionsSwitchBack =>
'Choose the default search provider to switch back from an extension';
@override
String get optionsAutoFallback => 'Автоматичний резервний варіант';
@@ -154,18 +144,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get optionsAutoFallbackSubtitle =>
'Спробувати інші сервіси, якщо завантаження не вдається';
@override
String get optionsUseExtensionProviders =>
'Використати постачальників розширень';
@override
String get optionsUseExtensionProvidersOn =>
'Extension providers are enabled';
@override
String get optionsUseExtensionProvidersOff =>
'Extension providers are required';
@override
String get optionsEmbedLyrics => 'Вбудований текст пісні';
@@ -194,10 +172,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get trackReplayGain => 'Rescan ReplayGain';
@override
String get trackReplayGainSubtitle =>
'Analyze loudness and write ReplayGain tags';
@override
String get trackReplayGainScanning => 'Analyzing loudness...';
@@ -292,26 +266,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get optionsDetailedLoggingOff => 'Увімкнути для звітів про помилки';
@override
String get optionsSpotifyCredentials => 'Облікові дані Spotify';
@override
String optionsSpotifyCredentialsConfigured(String clientId) {
return 'Ідентифікатор клієнта: $clientId...';
}
@override
String get optionsSpotifyCredentialsRequired =>
'Обов\'язковий – торкніться, щоб налаштувати';
@override
String get optionsSpotifyWarning =>
'Spotify вимагає ваших власних облікових даних API. Отримайте їх безкоштовно на сайті developer.spotify.com';
@override
String get optionsSpotifyDeprecationWarning =>
'Пошук Spotify буде припинено 3 березня 2026 року через зміни в API Spotify. Будь ласка, перейдіть на Deezer.';
@override
String get extensionsTitle => 'Розширення';
@@ -323,11 +277,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Версія $version';
}
@override
String extensionsAuthor(String author) {
return 'від $author';
}
@override
String get extensionsUninstall => 'Видалити';
@@ -712,12 +661,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get snackbarHistoryCleared => 'Історія очищена';
@override
String get snackbarCredentialsSaved => 'Облікові дані збережено';
@override
String get snackbarCredentialsCleared => 'Облікові дані очищено';
@override
String snackbarDeletedTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -734,9 +677,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Не вдається відкрити файл: $error';
}
@override
String get snackbarFillAllFields => 'Будь ласка, заповніть усі поля';
@override
String get snackbarViewQueue => 'Переглянути чергу';
@@ -820,12 +760,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get actionDeselect => 'Скасувати вибір';
@override
String get actionRemoveCredentials => 'Видалити облікові дані';
@override
String get actionSaveCredentials => 'Зберегти облікові дані';
@override
String selectionSelected(int count) {
return 'Вибрано $count';
@@ -985,9 +919,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get providerPriorityInfo =>
'Якщо трек недоступний у першого провайдера, додаток автоматично спробує наступного.';
@override
String get providerPriorityFallbackExtensionsTitle => 'Резервне розширення';
@override
String get providerPriorityFallbackExtensionsDescription =>
'Choose which installed download extensions can be used during automatic fallback.';
@@ -996,9 +927,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get providerPriorityFallbackExtensionsHint =>
'Тут перелічені лише ввімкнені розширення з можливістю завантаження через постачальника послуг.';
@override
String get providerBuiltIn => 'Legacy';
@override
String get providerExtension => 'Розширення';
@@ -1013,12 +941,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get metadataProviderPriorityInfo =>
'Deezer не має обмежень за швидкістю та рекомендований як основний сервіс. Spotify може обмежувати швидкість після великої кількості запитів.';
@override
String get metadataNoRateLimits => 'Без обмежень щодо швидкості';
@override
String get metadataMayRateLimit => 'Травневе обмеження ставок';
@override
String get logTitle => 'Журнали';
@@ -1067,25 +989,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Записи ($count)';
}
@override
String get credentialsTitle => 'Облікові дані Spotify';
@override
String get credentialsDescription =>
'Введіть свій ідентифікатор клієнта та секретний код, щоб використовувати власну квоту програми Spotify.';
@override
String get credentialsClientId => 'Ідентифікатор клієнта';
@override
String get credentialsClientIdHint => 'Вставити ідентифікатор клієнта';
@override
String get credentialsClientSecret => 'Секретний код клієнта';
@override
String get credentialsClientSecretHint => 'Вставити секретний код клієнта';
@override
String get channelStable => 'Стабільний';
@@ -1170,9 +1073,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get settingsDownloadSubtitle => 'Service, quality, fallback';
@override
String get settingsOptionsSubtitle => 'Fallback, metadata, lyrics, cover art';
@override
String get settingsExtensionsSubtitle =>
'Керування постачальниками послуг завантаження';
@@ -1369,10 +1269,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get storeRepoUrlHint => 'https://github.com/user/repo';
@override
String get storeRepoUrlHelper =>
'наприклад https://github.com/user/extensions-repo';
@override
String get storeAddRepoButton => 'Додати репозиторій';
@@ -1397,16 +1293,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get storeEmptyNoResults => 'Розширень не знайдено';
@override
String get extensionDefaultProvider => 'Default Search';
@override
String get extensionDefaultProviderSubtitle =>
'Use the default metadata search';
@override
String get extensionAuthor => 'Автор';
@override
String get extensionId => 'Ідентифікатор';
@@ -1608,10 +1494,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get downloadLossyOpus128Subtitle =>
'Найменший розмір, ~4 МБ на доріжку';
@override
String get qualityNote =>
'Фактична якість залежить від наявності треку в сервісі';
@override
String get downloadAskBeforeDownload => 'Запитувати перед завантаженням';
@@ -1759,9 +1641,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Вибрано $count';
}
@override
String get downloadedAlbumAllSelected => 'Усі треки вибрано';
@override
String get downloadedAlbumTapToSelect => 'Натисніть на треки, щоб вибрати';
@@ -2408,17 +2287,9 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get trackSaveCoverArt => 'Зберегти обкладинку';
@override
String get trackSaveCoverArtSubtitle =>
'Зберегти обкладинку альбому як файл .jpg';
@override
String get trackSaveLyrics => 'Зберегти текст пісні (.lrc)';
@override
String get trackSaveLyricsSubtitle =>
'Отримати та зберегти текст пісні у форматі .lrc';
@override
String get trackSaveLyricsProgress => 'Збереження тексту пісні...';
@@ -2429,9 +2300,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get trackReEnrichOnlineSubtitle =>
'Пошук метаданих в Інтернеті та вбудовування у файл';
@override
String get trackReEnrichFieldsTitle => 'Поля для оновлення';
@override
String get trackReEnrichFieldCover => 'Обкладинка';
@@ -2490,11 +2358,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Пошук онлайн-збігів для вибраних треків та додавання завантажень FLAC до черги.\n\nІснуючі файли не будуть змінені або видалені.\n\nАвтоматично додаються до черги лише збіги з високою достовірністю.\n\n$count вибрано';
}
@override
String queueFlacFindingProgress(int current, int total) {
return 'Пошук FLAC-збігів... ($current/$total)';
}
@override
String get queueFlacNoReliableMatches =>
'Не знайдено надійних онлайн-відповідей для вибраного запиту';
@@ -2512,10 +2375,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get trackConvertFormat => 'Конвертувати формат';
@override
String get trackConvertFormatSubtitle =>
'Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC';
@override
String get trackConvertTitle => 'Конвертувати аудіо';
@@ -2563,9 +2422,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get cueSplitTitle => 'Розділений аркуш CUE';
@override
String get cueSplitSubtitle => 'Розділення CUE+FLAC на окремі треки';
@override
String cueSplitAlbum(String album) {
return 'Альбом: $album';
@@ -2624,9 +2480,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get collectionFavoriteArtists => 'Favorite Artists';
@override
String get collectionPlaylists => 'Списки відтворення';
@override
String get collectionPlaylist => 'Список відтворення';
@@ -2639,10 +2492,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get collectionNoPlaylistsYet => 'Поки що немає списків відтворення';
@override
String get collectionNoPlaylistsSubtitle =>
'Створіть список відтворення, щоб розпочати категоризацію треків';
@override
String collectionPlaylistTracks(int count) {
String _temp0 = intl.Intl.pluralLogic(
@@ -2675,9 +2524,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Вже у списку відтворення \"$playlistName\"';
}
@override
String get collectionPlaylistCreated => 'Список відтворення створено';
@override
String get collectionPlaylistNameHint => 'Назва списку відтворення';
@@ -2691,14 +2537,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get collectionDeletePlaylist => 'Видалити список відтворення';
@override
String collectionDeletePlaylistMessage(String playlistName) {
return 'Видалити \"$playlistName\" та всі треки в ньому?';
}
@override
String get collectionPlaylistDeleted => 'Список відтворення видалено';
@override
String get collectionPlaylistRenamed => 'Список відтворення перейменовано';
@@ -2736,11 +2574,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get collectionRemoveFromFolder => 'Видалити з папки';
@override
String collectionRemoved(String trackName) {
return '\"$trackName\" видалено';
}
@override
String collectionAddedToLoved(String trackName) {
return '\"$trackName\" додано до списку улюблених';
@@ -2854,11 +2687,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Конвертувати $count $_temp0 у $format? (Lossless — без втрати якості)\n\nОригінальні файли будуть видалені після конвертації.';
}
@override
String selectionBatchConvertProgress(int current, int total) {
return 'Конвертування $current з $total...';
}
@override
String selectionBatchConvertSuccess(int success, int total, String format) {
return 'Конвертовано $success з $total треків у $format';
@@ -2987,18 +2815,12 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get backupImportButton => 'Choose backup file';
@override
String get backupCreating => 'Creating backup...';
@override
String get backupCreated => 'Backup created';
@override
String get backupCreateFailed => 'Failed to create backup';
@override
String get backupEmpty => 'There is nothing to back up yet';
@override
String get backupRestoreConfirmTitle => 'Restore this backup?';
@@ -3009,9 +2831,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get backupRestoreConfirmButton => 'Restore';
@override
String get backupRestoring => 'Restoring backup...';
@override
String get backupRestored => 'Backup restored successfully';
@@ -3280,10 +3099,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get downloadSelectServiceToEnable =>
'Select a provider with quality options to enable this option';
@override
String get downloadSelectTidalQobuz =>
'Select a provider with quality options to choose audio quality';
@override
String get downloadEmbedLyricsDisabled => 'Enable metadata embedding first';
@@ -3507,9 +3322,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Завантаження ($count)';
}
@override
String get queueDownloadedHeader => 'Завантажено';
@override
String get queueFilteringIndicator => 'Фільтрування...';
@@ -3639,11 +3451,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get audioAnalysisRescanning => 'Re-analyzing audio...';
@override
String extensionsSearchWith(String providerName) {
return 'Пошук за допомогою$providerName';
}
@override
String get extensionsHomeFeedProvider =>
'Постачальник оновлень домашньої стрічки';
@@ -3675,12 +3482,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get extensionsNoHomeFeedExtensions =>
'Без розширень із домашньою стрічкою';
@override
String get sortAlphaAsc => 'А';
@override
String get sortAlphaDesc => 'Я-А';
@override
String get cancelDownloadTitle => 'Скасувати завантаження?';
@@ -3705,28 +3506,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Не вдалося відкрити засіб вибору папок: $error';
}
@override
String get errorLoadAlbum => 'Не вдалося завантажити альбом';
@override
String get errorLoadPlaylist => 'Не вдалося завантажити список відтворення';
@override
String get errorLoadArtist => 'Не вдалося завантажити артиста';
@override
String get notifChannelDownloadName => 'Прогрес завантаження';
@override
String get notifChannelDownloadDesc => 'Показує прогрес завантаження треків';
@override
String get notifChannelLibraryScanName => 'Сканування бібліотеки';
@override
String get notifChannelLibraryScanDesc =>
'Показує перебіг сканування локальної бібліотеки';
@override
String notifDownloadingTrack(String trackName) {
return 'Завантаження $trackName';
@@ -3902,12 +3681,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get actionPaste => 'Paste';
@override
String get searchTracksHint => 'Search tracks...';
@override
String get searchTracksEmptyPrompt => 'Search for tracks';
@override
String get tutorialSearchHint => 'Paste or search...';
@@ -3931,15 +3704,6 @@ class AppLocalizationsUk extends AppLocalizations {
String get optionsEmbedMetadataSubtitleOff =>
'Disabled (advanced): skip all metadata embedding';
@override
String get optionsMaxQualityCoverSubtitleDisabled =>
'Disabled when metadata embedding is off';
@override
String downloadFilenameHintExample(Object artist, Object title) {
return '$artist - $title';
}
@override
String get trackCoverNoEmbeddedArt => 'No embedded album art found';
@@ -4108,12 +3872,6 @@ class AppLocalizationsUk extends AppLocalizations {
return 'Open album $albumName';
}
@override
String get optionsDefaultSearchTabAlbums => 'Albums';
@override
String get optionsDefaultSearchTabTracks => 'Tracks';
@override
String get settingsFiles => 'Files & Folders';
@@ -4483,10 +4241,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get errorInvalidFolderSelected => 'Invalid folder selected';
@override
String get errorCouldNotKeepFolderAccess =>
'Could not keep access to the selected folder';
@override
String get storeAnyVersion => 'Any';
File diff suppressed because it is too large Load Diff
+1 -322
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256kbps",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "التحميل",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "السجلات",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "تجريبي",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} deleted",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "تحليل ارتفاع الصوت وكتابة وسوم ReplayGain",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "معرف العميل: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "لا حدود للطلبات",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Metadata re-enriched successfully ({successCount}/{total}) - Failed: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "لصق Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "ReplyGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "المكون الإضافي الاحتياطي",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "مزودي الإضافات مطلوبين",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "الخيارات",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "جميع الملفات في مجلد التحميل",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "مطلوب - انقر للتهيئة",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "Storage & Cache",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Finalizing library...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "مطور نسخة الهاتف",
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "إعدادات التحميل",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "حدد الأغاني المراد حذفها",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "المؤلف",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "لصق Client Secret",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "Failed to fetch some albums",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "السمة والألوان والعرض",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "إدارة موفري التحميل",
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "الإحتياطات، البيانات الوصفية (metadata)، كلمات الأغاني، غلاف الأغنية",
"navLibrary": "المكتبة",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Verification browser",
"extensionDefaultProvider": "البحث الافتراضي",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Provider Options",
"nowPlayingTitle": "Now Playing",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "No download history",
"optionsTitle": "خيارات",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "محو",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Playlist deleted",
"metadataMayRateLimit": "قد يفرض حدودا للطلب",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Album (Z-A)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "تم حفظ بيانات الاعتماد",
"cacheCleanupResult": "Cleanup completed: {downloadCount} orphaned downloads, {libraryCount} missing library entries",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "استخدام البحث الافتراضي عن البيانات الوصفية",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "تحميل كلمات الأغاني",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 album} other{{count} albums}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "من قِبل {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Extend the app's capabilities with community extensions.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "حسب قائمة التشغيل",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 track} other{{count} tracks}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Playlist name",
"extensionVerificationCopyLink": "Copy link",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "سيتم إلغاء البحث في Spotify في 3 مارس 2026 بسبب تغييرات API Spotify. الرجاء التبديل إلى Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "Client ID",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "مثال: https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Storage Update Required",
"snackbarMetadataSaved": "Metadata saved successfully",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} in {count} files",
"actionRemoveCredentials": "إزالة بيانات الاعتماد",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "No shareable files found",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Not configured",
"queueRetryAllFailed": "Retry {count} failed",
"folderOrganizationByPlaylistSubtitle": "مجلد منفصل لكل قائمة تشغيل",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "اسحب لإعادة ترتيب موفري البيانات الوصفية (metadata). سيحاول التطبيق موفري البيانات الوصفية (metadata) من الأعلى إلى الأسفل عند البحث عن المسارات وجلب البيانات الوصفية (metadata).",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"setupIcloudNotSupported": "iCloud Drive غير مدعوم. الرجاء استخدام مجلد مستندات التطبيق.",
"trackLyricsEmbeddedSource": "Embedded",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Fields to update",
"aboutFeatureRequest": "اقتراح ميزة",
"downloadSingleFilenameFormatDescription": "نمط اسم الملف للعازفين و EPs. يستخدم نفس العلامات مثل تنسيق الألبوم.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "تم حفظ أولوية مزود البيانات الوصفية (metadata)",
"setupPermissionRequired": "{permissionType} مطلوب الإذن",
"backupRestoring": "Restoring backup...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "بيانات اعتماد Spotify",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "Enable Local Library",
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"trackConvertTargetFormat": "Target Format",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choose backup file",
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
"credentialsTitle": "بيانات اعتماد Spotify",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Download Complete",
"snackbarAlreadyDownloaded": "تم تنزيل {trackName} بالفعل",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "مجلد منفصل لكل قائمة تشغيل",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "Triangular HP",
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "تضمين وحفظ ملف .lrc",
"trackReEnrichFieldExtra": "Genre, Label, Copyright",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Offline",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "اختر مزود البحث الافتراضي للتبديل من مكون إضافي",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "No cover art source available",
"libraryFilterMetadata": "Metadata",
"albumFolderArtistYearAlbum": "الفنان / [Year] ألبوم",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "No playlists yet",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "الجودة الفعلية تعتمد على المسار المتوفر من الخدمة",
"downloadFilenameDescription": "Use {artist}, {title}, {album}, {track}, {year}, {date}, {disc} as placeholders.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
"cacheTrackLookup": "Track lookup cache",
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "قديم",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Playlist renamed",
"collectionCreatePlaylist": "Create playlist",
"homeGoToAlbum": "Go to Album",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "استخدام مزودي الإضافات",
"cacheCleanupUnusedSubtitle": "Remove orphaned download history and missing library entries",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "حفظ بيانات الاعتماد",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "تحليل الصوت وكتابة وسوم ReplayGain إلى مسار(مسارات) {count}؟",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Folder named after Album Artist tag",
"optionsSpotifyWarning": "Spotify يتطلب بيانات اعتماد API الخاصة بك. احصل عليها مجاناً من developer.spotify.com",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "تم اختيار جميع الأغاني",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "App Folder (Recommended)",
"collectionPlaylistCreated": "Playlist created",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"actionPaste": "Paste",
"extensionSettingsCount": "{count} {count, plural, =1{setting} other{settings}}",
"downloadNativeWorker": "Native download worker",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "منح الصلاحيات",
"lyricsProvidersDescription": "Enable, disable and reorder lyrics sources. Providers are tried top-to-bottom until lyrics are found.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "قبل {count} أيام",
"extensionsHomeFeedDescription": "Choose which extension provides the home feed on the main screen",
"downloadLossyMp3Subtitle": "أفضل توافق، ~10 ميغابايت لكل أغنية",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Service degraded",
"optionsUseExtensionProvidersOn": "مزودي الإضافات مفعلين",
"selectionConvertNoConvertible": "No convertible tracks selected",
"snackbarCredentialsCleared": "تم مسح بيانات الاعتماد",
"setupStorageGranted": "تم منح إذن التخزين!",
"downloadAllowLocalNetwork": "Allow Local Network Access",
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"nowPlayingNoLyrics": "No lyrics in this file",
"selectionDeleteTracksCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
"downloadFallbackExtensionsSubtitle": "Choose which extensions can be used as fallback",
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"storeExtensionsCount": "{count} {count, plural, =1{extension} other{extensions}}",
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"collectionRemoved": "\"{trackName}\" removed",
"setupStorageAccessMessageAndroid11": "يتطلب أندرويد 11+ إذن \"الوصول إلى جميع الملفات\" لحفظ الملفات في مجلد التحميل الذي اخترته.",
"notifDownloadsFinished": "Downloads Finished ({completed} done, {failed} failed)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} files • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Shuffle",
"backupCreated": "Backup created",
"downloadLossyAacSubtitle": "أفضل توافق للجوال، صيغة M4A",
"snackbarFillAllFields": "من فضلك قم بإدخال جميع البيانات",
"actionCreate": "Create",
"snackbarAddedToQueueGeneric": "Added to queue",
"downloadedAlbumDownloadedCount": "{count} downloaded",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "لا يمكن تحميل {item}: مصدر الإضافة مفقود",
"albumFolderAlbumOnlySubtitle": "الألبومات/اسم الألبوم/",
"errorLoadPlaylist": "Failed to load playlist",
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
"extensionVerificationHelpTitleManual": "Open verification manually",
"dialogDiscard": "تجاهل",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "تحديد الجودة",
"dialogDownloadPlaylistsMessage": "Download {trackCount} {trackCount, plural, =1{track} other{tracks}} from {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}}?",
"collectionFoldersTitle": "My folders",
"credentialsClientSecret": "Client Secret",
"progressFetchingMetadata": "جلب البيانات الوصفية (metadata)... {current}/{total}",
"settingsDownloadNetworkAny": "WiFi + بيانات الجوال",
"audioAnalysisDuration": "Duration",
"audioAnalysisAnalyzing": "Analyzing audio...",
"credentialsDescription": "أدخل معرف العميل الخاص بك و الكود السري لاستخدام حصة تطبيق Spotify الخاصة بك.",
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"editMetadataFieldDiscNum": "Disc #",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Full Album Artist string used",
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"albumFolderArtistAlbumSinglesSubtitle": "الفنان/الألبوم و الفنان / المفردات",
"collectionDeletePlaylistsMessage": "Delete {count} {count, plural, =1{playlist} other{playlists}}?",
"lyricsProvidersSaved": "Lyrics provider priority saved",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "Lossy",
"actionPause": "إيقاف مؤقت",
"csvImportTracks": "{count} مسارات من CSV",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Go",
"sectionDebug": "تصحيح الأخطاء",
"editMetadataFieldDate": "Date",
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
"sectionPerformance": "الأداء",
"extensionsSearchWith": "Search with {providerName}",
"extensionsDownloadPrioritySubtitle": "تعيين ترتيب خدمة التحميل",
"cacheAppDirectoryDesc": "HTTP responses, WebView data, and other temporary app data.",
"sectionData": "البيانات",
@@ -6205,4 +5884,4 @@
"albumFolderAlbumOnly": "الألبوم فقط",
"nowPlayingOpenInExternalPlayer": "Open in external player",
"cueSplitButton": "Split into Tracks"
}
}
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256kbps",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "Herunterladen",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "Vorschau",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{Playlist} other{Playlists}} gelöscht",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Konvertiere {current} von {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "Client-ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "Keine Limitierungen",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Metadaten erfolgreich neu angereichert ({successCount}/{total}) - fehlgeschlagen: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Fehler beim Laden des Albums",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "Client ID einfügen",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "Erweiterungs-Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "Optionen",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "Alle Dateien im Download-Ordner",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "Erforderlich - zum Konfigurieren tippen",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "Speicher & Cache",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Bibliothek wird aktualisiert...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "Mobile-Version Entwickler",
"errorCouldNotKeepFolderAccess": "Konnte nicht auf den ausgewählten Ordner zugreifen",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "Herunterladen",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "Titel zum Löschen wählen",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "Entwickler",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "Client Secret einfügen",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Heruntergeladen",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "Fehler beim Abrufen einiger Alben",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Lade Lyrics als .lrc Datei",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "Willst du \"{playlistName}\" und alle darin enthaltenen Titel löschen?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "Design, Farben, Anzeige",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Titel",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "Download-Anbieter verwalten",
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "Fallback, Metadaten, Lyrics, Cover-Art",
"navLibrary": "Bibliothek",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Verification browser",
"extensionDefaultProvider": "Default Search",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Anbieter-Optionen",
"nowPlayingTitle": "Now Playing",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "Kein Download-Verlauf",
"optionsTitle": "Optionen",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "Leeren",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Option bei Schreibfehlern bitte aktivieren (erforderlich ab Android 13).",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Playlist gelöscht",
"metadataMayRateLimit": "Hat vielleicht Limitierungen",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"collectionNoPlaylistsSubtitle": "Playlist erstellen, um Titel zu kategorisieren",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Album (Z-A)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "Anmeldedaten gespeichert",
"cacheCleanupResult": "Bereinigung: {downloadCount} verwaiste Downloads, {libraryCount} fehlende Bibliothekseinträge",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Bibliotheksscan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "Lade Lyrics",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "Alle Titel sind ausgewählt",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 Album} other{{count} Alben}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "von {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Erweitere die Fähigkeiten der App mit Community-Erweiterungen.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "Nach Playlist",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 Titel} other{{count} Titel}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Download Fortschritt",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Playlist-Name",
"extensionVerificationCopyLink": "Copy link",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "Spotify-Suche wird am 3. März 2026 aufgrund von Änderungen der Spotify-API entfernt. Bitte wechsel vorher zu Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "Client ID",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "z.B. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Speicheraktualisierung erforderlich",
"snackbarMetadataSaved": "Metadaten erfolgreich gespeichert",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} in {count} Dateien",
"actionRemoveCredentials": "Anmeldedaten entfernen",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "Keine teilbare Dateien gefunden",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Alben",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Nicht konfiguriert",
"queueRetryAllFailed": "Retry {count} failed",
"folderOrganizationByPlaylistSubtitle": "Ordner für jede Playlist trennen",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "Ziehe, um Metadatenanbieter neu zu ordnen. Die App versucht Anbieter von oben nach unten, wenn sie nach Tracks suchen und Metadaten abrufen.",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Zeigt Download-Fortschritt für Titel an",
"setupIcloudNotSupported": "iCloud Drive wird nicht unterstützt. Bitte verwende den \"Dokumente\" Ordner.",
"trackLyricsEmbeddedSource": "Eingebettet",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Felder zum Aktualisieren",
"aboutFeatureRequest": "Feature vorschlagen",
"downloadSingleFilenameFormatDescription": "Dateinamenmuster für Singles und EPs. Verwendet die gleichen Tags wie das Albumformat.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "Priorität des Metadaten-Anbieters gespeichert",
"setupPermissionRequired": "{permissionType}-Berechtigung erforderlich",
"backupRestoring": "Restoring backup...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Spotify-Anmeldedaten",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "Lokale Bibliothek aktivieren",
"queueFlacFindingProgress": "Suche nach FLAC-Übereinstimmungen... ({current}/{total})",
"trackConvertTargetFormat": "Zielformat",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choose backup file",
"downloadAppleElrcWordSyncDisabled": "Sichere Line-by-line Apple Music Texte",
"credentialsTitle": "Spotify-Anmeldedaten",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Download abgeschlossen",
"snackbarAlreadyDownloaded": "\"{trackName}\" bereits heruntergeladen",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "Trenne Ordner nach Album",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "Triangular HP",
"searchTracksEmptyPrompt": "Nach Titel suchen",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "Lyrics einbetten und als .lrc speichern",
"trackReEnrichFieldExtra": "Genre, Label, Copyright",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Titel suchen...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Offline",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "Keine Cover Quelle vorhanden",
"libraryFilterMetadata": "Metadaten",
"albumFolderArtistYearAlbum": "Künstler / [Year] Album",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "CUE+FLAC in einzelne Titel aufteilen",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "Noch keine Playlists",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Fehler beim Laden des Interpreten",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "Die eigentliche Qualität hängt von der Verfügbarkeit des Dienstes ab",
"downloadFilenameDescription": "Verwende {artist}, {title}, {album}, {track}, {year}, {date}, {disc} als Platzhalter.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
"cacheTrackLookup": "Titel Such-Cache",
"extensionsHomeFeedOffSubtitle": "Start-Feed nicht auf dem Hauptbildschirm anzeigen",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Playlist umbenannt",
"collectionCreatePlaylist": "Playlist erstellen",
"homeGoToAlbum": "Zum Album gehen",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "Erweiterungsanbieter verwenden",
"cacheCleanupUnusedSubtitle": "Verwaisten Downloadverlauf und fehlende Bibliothekseinträge löschen",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "Anmeldedaten speichern",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "Analyze loudness and write ReplayGain tags to {count} track(s)?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Ordner benannt nach dem Tag des Albumkünstlers",
"optionsSpotifyWarning": "Spotify erfordert eigene API-Anmeldedaten. Kostenlos erhältlich auf developer.spotify.com",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "Alle Titel sind ausgewählt",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "App-Ordner (empfohlen)",
"collectionPlaylistCreated": "Playlist erstellt",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Albumcover als .jpg Datei speichern",
"actionPaste": "Einfügen",
"extensionSettingsCount": "{count} {count, plural, =1{Einstellung} other{Einstellungen}}",
"downloadNativeWorker": "Nativer Download Dienst",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "Berechtigung erlauben",
"lyricsProvidersDescription": "Lyrics aktivieren, deaktivieren und neu ordnen. Anbieter werden von oben nach unten ausprobiert, bis Lyrics gefunden werden.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "Vor {count} Tagen",
"extensionsHomeFeedDescription": "Wählen Sie die Erweiterung aus, die den Start-Feed auf dem Hauptbildschirm anzeigt",
"downloadLossyMp3Subtitle": "Beste Kompatibilität, ~10MB pro Titel",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Dienst Eingeschränkt",
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"selectionConvertNoConvertible": "Keine konvertierbare Titel ausgewählt",
"snackbarCredentialsCleared": "Anmeldedaten gelöscht",
"setupStorageGranted": "Speicherberechtigung erlaubt!",
"downloadAllowLocalNetwork": "Allow Local Network Access",
"optionsMaxQualityCoverSubtitleDisabled": "Deaktiviert, wenn Metadateneinbettung aus ist",
"nowPlayingNoLyrics": "No lyrics in this file",
"selectionDeleteTracksCount": "Lösche {count} {count, plural, =1{Titel} other{Titel}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Personen-Lyrics",
"downloadFallbackExtensionsSubtitle": "Wähle, welche Erweiterungen als Fallback verwendet werden können",
"notifChannelLibraryScanDesc": "Zeigt den Fortschritt des lokalen Bibliotheksscans an",
"storeExtensionsCount": "{count} {count, plural, =1{Erweiterung} other{Erweiterungen}}",
"trackCoverNoEmbeddedArt": "Kein eingebettetes Albumcover gefunden",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"collectionRemoved": "\"{trackName}\" entfernt",
"setupStorageAccessMessageAndroid11": "Android 11+ benötigt die Berechtigung „Auf alle Dateien“, um Dateien im ausgewählten Download-Ordner zu speichern.",
"notifDownloadsFinished": "Downloads abgeschlossen ({completed} fertig, {failed} fehlgeschlagen)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} Dateien • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Shuffle",
"backupCreated": "Backup created",
"downloadLossyAacSubtitle": "Beste mobile Kompatibilität, M4A Container",
"snackbarFillAllFields": "Bitte fülle alle Felder aus",
"actionCreate": "Erstellen",
"snackbarAddedToQueueGeneric": "Added to queue",
"downloadedAlbumDownloadedCount": "{count} heruntergeladen",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "Kann {item} nicht laden wegen fehlender Erweiterungsquelle",
"albumFolderAlbumOnlySubtitle": "Alben/Album Name/",
"errorLoadPlaylist": "Fehler beim Laden der Playlist",
"logIssueTrackNotFoundLabel": "TITEL NICHT GEFUNDEN",
"extensionVerificationHelpTitleManual": "Open verification manually",
"dialogDiscard": "Verwerfen",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "Qualität wählen",
"dialogDownloadPlaylistsMessage": "Lade {trackCount} {trackCount, plural, =1{Titel} other{Titel}} von {playlistCount} {playlistCount, plural, =1{Playlist} other{Playlists}}?",
"collectionFoldersTitle": "Meine Ordner",
"credentialsClientSecret": "Client Secret",
"progressFetchingMetadata": "Lade Metadaten... {current}/{total}",
"settingsDownloadNetworkAny": "WLAN + Mobile Daten",
"audioAnalysisDuration": "Länge",
"audioAnalysisAnalyzing": "Audio wird analysiert...",
"credentialsDescription": "Gebe deine Client-ID und Secret ein, um dein eigenes Spotify Anwendungs Limit zu haben.",
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"editMetadataFieldDiscNum": "Disk #",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Volle Album Künstler String verwendet",
"trackConvertFormatSubtitle": "Zu AAC/M4A, MP3, Opus, ALAC oder FLAC konvertieren",
"albumFolderArtistAlbumSinglesSubtitle": "Künstler/Album/ und Künstler/Singles/",
"collectionDeletePlaylistsMessage": "Lösche {count} {count, plural, =1{Playlist} other{Playlists}}?",
"lyricsProvidersSaved": "Priorität des Lyrics-Anbieters gespeichert",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "Verlustbehaftet",
"actionPause": "Pause",
"csvImportTracks": "{count} Titel aus CSV",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Los",
"sectionDebug": "Debug",
"editMetadataFieldDate": "Datum",
"timeHoursAgo": "{count, plural, =1{vor 1 Stunde} other{vor {count} Stunden}}",
"sectionPerformance": "Performance",
"extensionsSearchWith": "Mit {providerName} suchen",
"extensionsDownloadPrioritySubtitle": "Download-Service-Reihenfolge festlegen",
"cacheAppDirectoryDesc": "HTTP-Antworten, WebView Daten und andere temporäre App-Daten.",
"sectionData": "Daten",
+1 -322
View File
@@ -73,10 +73,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Options",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensions",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -145,10 +141,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Options",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Primary Provider",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -174,10 +166,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Auto Fallback",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -186,18 +174,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Use Extension Providers",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Embed Lyrics",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -230,10 +206,6 @@
"@trackReplayGain": {
"description": "Three-dot menu option to scan loudness and write ReplayGain tags"
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"trackReplayGainScanning": "Analyzing loudness...",
"@trackReplayGainScanning": {
"description": "Snackbar/progress message while scanning ReplayGain for a single track"
@@ -360,31 +332,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Spotify Credentials",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Required - tap to configure",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requires your own API credentials. Get them free from developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"extensionsTitle": "Extensions",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -402,15 +349,6 @@
}
}
},
"extensionsAuthor": "by {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Uninstall",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -912,14 +850,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credentials saved",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credentials cleared",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -938,10 +868,6 @@
}
}
},
"snackbarFillAllFields": "Please fill all fields",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "View Queue",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -1055,14 +981,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Remove Credentials",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Save Credentials",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} selected",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -1272,10 +1190,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Choose which installed download extensions can be used during automatic fallback.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -1284,10 +1198,6 @@
"@providerPriorityFallbackExtensionsHint": {
"description": "Hint below the extension fallback selection list"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extension",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -1304,14 +1214,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "No rate limits",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -1378,30 +1280,6 @@
}
}
},
"credentialsTitle": "Spotify Credentials",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "Client ID",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Paste Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Client Secret",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Paste Client Secret",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Stable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1510,10 +1388,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Fallback, metadata, lyrics, cover art",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Manage download providers",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1772,10 +1646,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -1808,18 +1678,6 @@
"@storeEmptyNoResults": {
"description": "Message when search/filter returns no results"
},
"extensionDefaultProvider": "Default Search",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Author",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -2087,10 +1945,6 @@
"@downloadLossyOpus128Subtitle": {
"description": "Subtitle for Opus 128kbps lossy option"
},
"qualityNote": "Actual quality depends on track availability from the service",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Ask Before Download",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -2266,10 +2120,6 @@
}
}
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Tap tracks to select",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -3113,18 +2963,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Save Lyrics (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Saving lyrics...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -3137,10 +2979,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Fields to update",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Cover Art",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3224,18 +3062,6 @@
}
}
},
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3265,10 +3091,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convert Audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3337,10 +3159,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Album: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3437,10 +3255,6 @@
"@collectionFavoriteArtists": {
"description": "Custom folder for favorite artists"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Playlist",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3457,10 +3271,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3497,10 +3307,6 @@
}
}
},
"collectionPlaylistCreated": "Playlist created",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Playlist name",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3517,19 +3323,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Playlist deleted",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Playlist renamed",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3574,15 +3367,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "\"{trackName}\" removed",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3726,18 +3510,6 @@
}
}
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3900,10 +3672,6 @@
"@backupImportButton": {
"description": "Button to pick a backup file to restore"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"backupCreated": "Backup created",
"@backupCreated": {
"description": "Snackbar after a backup file is created"
@@ -3912,10 +3680,6 @@
"@backupCreateFailed": {
"description": "Snackbar when backup creation fails"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"backupRestoreConfirmTitle": "Restore this backup?",
"@backupRestoreConfirmTitle": {
"description": "Confirmation dialog title before restoring a backup"
@@ -3928,10 +3692,6 @@
"@backupRestoreConfirmButton": {
"description": "Confirm button to proceed with restore"
},
"backupRestoring": "Restoring backup...",
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"backupRestored": "Backup restored successfully",
"@backupRestored": {
"description": "Snackbar after a successful restore"
@@ -4219,10 +3979,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4471,10 +4227,6 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4625,19 +4377,10 @@
"@audioAnalysisRescan": {
"description": "Tooltip/label for the button that re-runs the audio analysis, discarding cached results"
},
"audioAnalysisRescanning": "Re-analyzing audio...",
"audioAnalysisRescanning": "Re-analyzing audio...",
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Search with {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4675,14 +4418,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4717,34 +4452,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
@@ -5005,14 +4712,6 @@
"@actionPaste": {
"description": "Generic action - paste from clipboard"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"tutorialSearchHint": "Paste or search...",
"@tutorialSearchHint": {
"description": "Placeholder shown in the tutorial search demo"
@@ -5041,14 +4740,6 @@
"@optionsEmbedMetadataSubtitleOff": {
"description": "Subtitle when metadata embedding is disabled"
},
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
@@ -5288,14 +4979,6 @@
}
}
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"settingsFiles": "Files & Folders",
"@settingsFiles": {
"description": "Settings menu item - file and folder settings"
@@ -5748,10 +5431,6 @@
"@errorInvalidFolderSelected": {
"description": "Error when the selected folder is invalid"
},
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"storeAnyVersion": "Any",
"@storeAnyVersion": {
"description": "Store detail value when any app version is accepted"
+1 -286
View File
@@ -57,10 +57,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Options",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensions",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -121,10 +117,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Options",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Primary Provider",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -142,10 +134,6 @@
}
}
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Auto Fallback",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -154,18 +142,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Use Extension Providers",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Embed Lyrics",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -234,27 +210,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Spotify Credentials",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Required - tap to configure",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requires your own API credentials. Get them free from developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"extensionsTitle": "Extensions",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -272,15 +227,6 @@
}
}
},
"extensionsAuthor": "by {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Uninstall",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -690,14 +636,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credentials saved",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credentials cleared",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -716,10 +654,6 @@
}
}
},
"snackbarFillAllFields": "Please fill all fields",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "View Queue",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -817,14 +751,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Remove Credentials",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Save Credentials",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} selected",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -978,10 +904,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extension",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -998,14 +920,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "No rate limits",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -1072,30 +986,6 @@
}
}
},
"credentialsTitle": "Spotify Credentials",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "Client ID",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Paste Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Client Secret",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Paste Client Secret",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Stable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1168,10 +1058,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Fallback, lyrics, cover art, updates",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Manage download providers",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1373,18 +1259,6 @@
"@storeClearFilters": {
"description": "Button to clear all filters"
},
"extensionDefaultProvider": "Default Search",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Author",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -1572,10 +1446,6 @@
"@qualityHiResFlacMaxSubtitle": {
"description": "Technical spec for hi-res max"
},
"qualityNote": "Actual quality depends on track availability from the service",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Ask Before Download",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -1674,10 +1544,6 @@
}
}
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Tap tracks to select",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -1728,14 +1594,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
@@ -1772,10 +1630,6 @@
"@optionsArtistTagModeSplitVorbisSubtitle": {
"description": "Subtitle for split Vorbis artist tag mode"
},
"optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"aboutTranslators": "Translators",
"@aboutTranslators": {
"description": "Section for translators"
@@ -1912,10 +1766,6 @@
"@folderOrganizationByPlaylistSubtitle": {
"description": "Subtitle for playlist folder option"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Choose which installed download extensions can be used during automatic fallback.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -2008,10 +1858,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -2974,18 +2820,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Save Lyrics (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Saving lyrics...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -2998,10 +2836,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Fields to update",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Cover Art",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3085,18 +2919,6 @@
}
}
},
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3126,10 +2948,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convert to MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convert Audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3198,10 +3016,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Album: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3294,10 +3108,6 @@
"@collectionLoved": {
"description": "Custom folder for favorite tracks"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Playlist",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3314,10 +3124,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3345,10 +3151,6 @@
}
}
},
"collectionPlaylistCreated": "Playlist created",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Playlist name",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3365,19 +3167,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Playlist deleted",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Playlist renamed",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3414,15 +3203,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "\"{trackName}\" removed",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3540,18 +3320,6 @@
}
}
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3825,10 +3593,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4065,10 +3829,6 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4183,19 +3943,10 @@
"@audioAnalysisRescan": {
"description": "Tooltip/label for the button that re-runs the audio analysis, discarding cached results"
},
"audioAnalysisRescanning": "Re-analyzing audio...",
"audioAnalysisRescanning": "Re-analyzing audio...",
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Search with {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4225,14 +3976,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4267,34 +4010,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
+1 -322
View File
@@ -73,10 +73,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Opciones",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensiones",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -145,10 +141,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Opciones",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Proveedor Principal",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -174,10 +166,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsSwitchBack": "Elija el proveedor de búsqueda por defecto para volver de una extensión",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Cambio automático",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -186,18 +174,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Usar proveedores de extensiones",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Proveedores de extensiones habilitados",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Proveedores de extensiones habilitados",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Incrustar letras",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -230,10 +206,6 @@
"@trackReplayGain": {
"description": "Three-dot menu option to scan loudness and write ReplayGain tags"
},
"trackReplayGainSubtitle": "Analizar el volumen y guardar las etiquetas ReplayGain",
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"trackReplayGainScanning": "Analizando el nivel de volumen...",
"@trackReplayGainScanning": {
"description": "Snackbar/progress message while scanning ReplayGain for a single track"
@@ -360,31 +332,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Credenciales de Spotify",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "ID de cliente: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Requerido: toca para configurar",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requiere tus propias credenciales de API. Consíguelas gratis en developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"optionsSpotifyDeprecationWarning": "La búsqueda de Spotify quedará obsoleta el 3 de marzo de 2026 debido a cambios en la API de Spotify. Por favor, cambia a Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"extensionsTitle": "Extensiones",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -402,15 +349,6 @@
}
}
},
"extensionsAuthor": "por {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Desinstalar",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -912,14 +850,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credenciales guardadas",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credenciales borradas",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Eliminado {count} {count, plural, =1{pista} other{pistas}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -938,10 +868,6 @@
}
}
},
"snackbarFillAllFields": "Por favor, completa todos los campos",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "Ver cola",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -1055,14 +981,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Eliminar credenciales",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Guardar credenciales",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} seleccionado",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -1272,10 +1190,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerPriorityFallbackExtensionsTitle": "Respaldo de extensión",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Elija las extensiones de descarga que se usarán como respaldo automático.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -1284,10 +1198,6 @@
"@providerPriorityFallbackExtensionsHint": {
"description": "Hint below the extension fallback selection list"
},
"providerBuiltIn": "Heredado",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extensión",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -1304,14 +1214,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "Sin límites de tasa",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "Sin límites de tasa",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Registros",
"@logTitle": {
"description": "Logs screen title"
@@ -1378,30 +1280,6 @@
}
}
},
"credentialsTitle": "Credenciales de Spotify",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Introduzca su ID de cliente y secreto para utilizar su propia cuota de aplicación de Spotify.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "ID del cliente",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Pegar ID de cliente",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Cliente Secreto",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Pegar Cliente Secreto",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Estable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1510,10 +1388,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Respaldo, meta datos, letras, portada",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Administrar proveedores de descarga",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1772,10 +1646,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.j. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Añadir repositorio",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -1808,18 +1678,6 @@
"@storeEmptyNoResults": {
"description": "Message when search/filter returns no results"
},
"extensionDefaultProvider": "Búsqueda predeterminada",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Usar la búsqueda de metadatos predeterminada",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Autor/a",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -2087,10 +1945,6 @@
"@downloadLossyOpus128Subtitle": {
"description": "Subtitle for Opus 128kbps lossy option"
},
"qualityNote": "La calidad real depende de la disponibilidad de la pista del servicio",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Preguntar antes de descargar",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -2245,10 +2099,6 @@
}
}
},
"downloadedAlbumAllSelected": "Todas las pistas seleccionadas",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Toca las pistas para seleccionar",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -3092,18 +2942,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Guardar imagen del álbum como archivo .jpg",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Guardar letra (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Buscar y guardar letras como archivo .lrc",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Guardando letra...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -3116,10 +2958,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Campos a actualizar",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Carátula",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3203,18 +3041,6 @@
}
}
},
"queueFlacFindingProgress": "Buscando coincidencias FLAC",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "Sin coincidencias en línea de confianza",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3244,10 +3070,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convertir a AAC/M4A, MP3, Opus, ALAC, o FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convertir audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3316,10 +3138,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Dividir CUE + FLAC en pistas individuales",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Álbum: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3416,10 +3234,6 @@
"@collectionFavoriteArtists": {
"description": "Custom folder for favorite artists"
},
"collectionPlaylists": "Listas de reproducción",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Lista de reproducción",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3436,10 +3250,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Crear una lista de reproducción para empezar a categorizar pistas",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 pista} other{{count} pistas}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3476,10 +3286,6 @@
}
}
},
"collectionPlaylistCreated": "Lista de reproducción creada",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Nombre de la lista de reproducción",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3496,19 +3302,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "¿Eliminar \"{playlistName}\" y todas las pistas que contiene?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Lista de reproducción eliminada",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Lista de reproducción renombrada",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3553,15 +3346,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "Se eliminó \"{trackName}\"",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" se agregó a «Me gusta»",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3705,18 +3489,6 @@
}
}
},
"selectionBatchConvertProgress": "Convirtiendo {current} de {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Se convirtieron {success} de {total} pistas a {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3879,10 +3651,6 @@
"@backupImportButton": {
"description": "Button to pick a backup file to restore"
},
"backupCreating": "Creando copia de seguridad...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"backupCreated": "Copia de seguridad creada",
"@backupCreated": {
"description": "Snackbar after a backup file is created"
@@ -3891,10 +3659,6 @@
"@backupCreateFailed": {
"description": "Snackbar when backup creation fails"
},
"backupEmpty": "Aún no hay nada que respaldar",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"backupRestoreConfirmTitle": "¿Restaurar esta copia de seguridad?",
"@backupRestoreConfirmTitle": {
"description": "Confirmation dialog title before restoring a backup"
@@ -3907,10 +3671,6 @@
"@backupRestoreConfirmButton": {
"description": "Confirm button to proceed with restore"
},
"backupRestoring": "Restaurando copia de seguridad...",
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"backupRestored": "Copia de seguridad restaurada correctamente",
"@backupRestored": {
"description": "Snackbar after a successful restore"
@@ -4178,10 +3938,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4430,10 +4186,6 @@
}
}
},
"queueDownloadedHeader": "Descargadas",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtrando...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4588,15 +4340,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Buscar con {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4634,14 +4377,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "¿Cancelar descarga?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4676,34 +4411,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Muestra el progreso de la descarga para las pistas",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Escaneo de biblioteca",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
@@ -4956,14 +4663,6 @@
"@actionPaste": {
"description": "Generic action - paste from clipboard"
},
"searchTracksHint": "Buscar canciones...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"searchTracksEmptyPrompt": "Buscar pistas",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"tutorialSearchHint": "Pegar o buscar...",
"@tutorialSearchHint": {
"description": "Placeholder shown in the tutorial search demo"
@@ -4992,14 +4691,6 @@
"@optionsEmbedMetadataSubtitleOff": {
"description": "Subtitle when metadata embedding is disabled"
},
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
@@ -5239,14 +4930,6 @@
}
}
},
"optionsDefaultSearchTabAlbums": "Álbumes",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Pistas",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"settingsFiles": "Archivos y carpetas",
"@settingsFiles": {
"description": "Settings menu item - file and folder settings"
@@ -5699,10 +5382,6 @@
"@errorInvalidFolderSelected": {
"description": "Error when the selected folder is invalid"
},
"errorCouldNotKeepFolderAccess": "No se puede obtener acceso al directorio seleccionado",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"storeAnyVersion": "Cualquier",
"@storeAnyVersion": {
"description": "Store detail value when any app version is accepted"
@@ -6205,4 +5884,4 @@
"@extensionVerificationOpenBrowser": {
"description": "Button to open the extension verification URL in a browser"
}
}
}
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256 kbps",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Création d'une sauvegarde...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "Télécharger",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "Journaux",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "Aperçu",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} supprimées",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "Analyser le niveau sonore et créer des balises ReplayGain",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Conversion de {current} sur {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "Identifiant client : {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Lecteur",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "Il n'y a encore rien à sauvegarder",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "Pas de limite de débit",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Les métadonnées ont été réenrichies avec succès ({successCount}/{total}) - Échec : {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Impossible de charger l'album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "Coller l'identifiant client",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "Solution de secours pour les extensions",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "Les fournisseurs d'extensions sont requis",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "Options",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "Tous les fichiers du dossier « Téléchargements »",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "Obligatoire - appuyez pour configurer",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "Stockage & Cache",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Finalisation de la bibliothèque...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "Développeur de la version mobile",
"errorCouldNotKeepFolderAccess": "Impossible de conserver l'accès au dossier sélectionné",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "Télécharger",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "Sélectionnez les titres à supprimer",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "Auteur",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "Coller la clé secrète du client",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Téléchargé",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "Impossible de récupérer certains albums",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Récupérez et enregistrez les paroles sous forme de fichier .lrc",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "Supprimer « {playlistName} » et tous les morceaux qu'elle contient ?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "Thème, couleurs, affichage",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Titres",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "Gérez les fournisseurs de téléchargement",
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "Fichier de secours, métadonnées, paroles, pochette",
"navLibrary": "Bibliothèque",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Navigateur de vérification",
"extensionDefaultProvider": "Recherche par défaut",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Options du fournisseur",
"nowPlayingTitle": "En cours de lecture",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "Aucun historique de téléchargement",
"optionsTitle": "Options",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "Effacer",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Activez cette option si vous rencontrez des erreurs d'écriture lors de l'enregistrement dans des dossiers personnalisés. À partir d'Android 13, l'accès à certains répertoires est restreint par défaut.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Playlist supprimée",
"metadataMayRateLimit": "Limite de taux de métadonnées",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Impossible d'ouvrir le lien. Veuillez réessayer.",
"collectionNoPlaylistsSubtitle": "Créez une playlist pour commencer à classer vos morceaux",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Album (Z-A)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "Identifiants enregistrés",
"cacheCleanupResult": "Nettoyage terminé : {downloadCount} téléchargements orphelins, {libraryCount} entrées de bibliothèque manquantes",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Analyse de la bibliothèque",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Enregistrer l'historique des téléchargements",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "Utiliser la recherche par métadonnées par défaut",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "Charger les paroles",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "Tous les titres sélectionnés",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, one {}=1{1 album} other{{count} albums}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "par {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Élargissez les fonctionnalités de l'application grâce aux extensions de la communauté.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "Par playlist",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 titre} other{{count} titres}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Progression du téléchargement",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Nom de la playlist",
"extensionVerificationCopyLink": "Copier le lien",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "La fonction de recherche Spotify sera supprimée le 3 mars 2026 en raison de modifications apportées à l'API Spotify. Veuillez passer à Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "Identifiant client",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "par exemple : https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Mise à jour du stockage requise",
"snackbarMetadataSaved": "Les métadonnées ont été enregistrées avec succès",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} dans {count} fichiers",
"actionRemoveCredentials": "Supprimer les identifiants",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "Aucun fichier partageable n'a été trouvé",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Choisissez un fournisseur proposant différentes options pour sélectionner la qualité audio",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Non configuré",
"queueRetryAllFailed": "{count} tentatives ont échoué",
"folderOrganizationByPlaylistSubtitle": "Un dossier distinct pour chaque playlist",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "Faites glisser pour réorganiser les fournisseurs de métadonnées. L'application testera les fournisseurs dans l'ordre de haut en bas lors de la recherche de morceaux et de la récupération des métadonnées.",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Affiche la progression du téléchargement des morceaux",
"setupIcloudNotSupported": "iCloud Drive n'est pas pris en charge. Veuillez utiliser le dossier « Documents » de l'application.",
"trackLyricsEmbeddedSource": "Intégré",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Champs à mettre à jour",
"aboutFeatureRequest": "Demande de fonctionnalité",
"downloadSingleFilenameFormatDescription": "Modèle de nom de fichier pour les singles et les EP. Utilise les mêmes balises que le format album.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "Priorité du fournisseur de métadonnées enregistrée",
"setupPermissionRequired": "Autorisation {permissionType} requise",
"backupRestoring": "Restauration de la sauvegarde...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Identifiants Spotify",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "Activer la bibliothèque locale",
"queueFlacFindingProgress": "Recherche de fichiers FLAC... ({current}/{total})",
"trackConvertTargetFormat": "Format cible",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choisissez un fichier de sauvegarde",
"downloadAppleElrcWordSyncDisabled": "Paroles d'Apple Music, ligne par ligne, en toute sécurité",
"credentialsTitle": "Identifiants Spotify",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Télécharger l'intégralité",
"snackbarAlreadyDownloaded": "« {trackName} » a déjà été téléchargé",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "Un dossier distinct pour chaque album",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "HP triangulaire",
"searchTracksEmptyPrompt": "Rechercher des morceaux",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "Intégrer et enregistrer le fichier .lrc",
"trackReEnrichFieldExtra": "Genre, Label, Droits d'auteur",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Rechercher des morceaux...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Hors ligne",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "Choisissez le moteur de recherche par défaut pour revenir à la configuration d'origine après avoir utilisé une extension",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "Aucune source d'illustration de couverture disponible",
"libraryFilterMetadata": "Métadonnées",
"albumFolderArtistYearAlbum": "Artiste / [Année] Album",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "Diviser un fichier CUE+FLAC en pistes individuelles",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "Aucune playlist pour le moment",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Impossible de charger l'artiste",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "La qualité réelle dépend de la disponibilité des pistes sur le service",
"downloadFilenameDescription": "Utilisez {artist}, {title}, {album}, {track}, {year}, {date} et {disc} comme variables de remplacement.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Les fournisseurs de paroles d'extension s'exécutent avant les fournisseurs de paroles intégrés. Au moins un fournisseur doit rester activé.",
"cacheTrackLookup": "Cache de recherche de piste",
"extensionsHomeFeedOffSubtitle": "Ne pas afficher le fil d'actualité sur l'écran principal",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "Héritage",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Playlist renommée",
"collectionCreatePlaylist": "Créer une playlist",
"homeGoToAlbum": "Aller à l'album",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "Utiliser des fournisseurs d'extension",
"cacheCleanupUnusedSubtitle": "Supprimer l'historique des téléchargements orphelins et les entrées manquantes dans la bibliothèque",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "Enregistrer les identifiants",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "Analyser le niveau sonore et ajouter des balises ReplayGain à {count} piste(s) ?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Dossier nommé d'après la balise « Artiste de l'album »",
"optionsSpotifyWarning": "Spotify nécessite vos propres identifiants API. Vous pouvez les obtenir gratuitement sur developer.spotify.com",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "Toutes les pistes sélectionnées",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "Dossier « Applications » (recommandé)",
"collectionPlaylistCreated": "Playlist créée",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Enregistrez la pochette de l'album au format .jpg",
"actionPaste": "Coller",
"extensionSettingsCount": "{count} {count, plural, =1{paramètre} other{paramètres}}",
"downloadNativeWorker": "Tâche de téléchargement native",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "Accorder l'autorisation",
"lyricsProvidersDescription": "Activer, désactiver et réorganiser les sources de paroles. Les sources sont parcourues de haut en bas jusqu'à ce que les paroles soient trouvées.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "Il y a {count} jours",
"extensionsHomeFeedDescription": "Choisissez l'extension qui affiche le fil d'actualité sur l'écran principal",
"downloadLossyMp3Subtitle": "Compatibilité optimale, environ 10 Mo par piste",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Service perturbé",
"optionsUseExtensionProvidersOn": "Les fournisseurs d'extensions sont activés",
"selectionConvertNoConvertible": "Aucune piste convertible sélectionnée",
"snackbarCredentialsCleared": "Identifiants validés",
"setupStorageGranted": "Autorisation de stockage accordée !",
"downloadAllowLocalNetwork": "Autoriser l'accès au réseau local",
"optionsMaxQualityCoverSubtitleDisabled": "Désactivé lorsque l'intégration des métadonnées est désactivée",
"nowPlayingNoLyrics": "Ce fichier ne contient pas de paroles",
"selectionDeleteTracksCount": "Supprimer {count} {count, plural, =1{titre} other{titres}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ : Paroles pour plusieurs personnes",
"downloadFallbackExtensionsSubtitle": "Choisissez les extensions pouvant servir de solution de secours",
"notifChannelLibraryScanDesc": "Affiche la progression de la numérisation dans la bibliothèque locale",
"storeExtensionsCount": "{count} {count, plural, one {}=1{extension} other{extensions}}",
"trackCoverNoEmbeddedArt": "Aucune pochette d'album n'a été trouvée",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} a été mis à jour vers la version {version}",
"collectionRemoved": "« {trackName} » supprimé",
"setupStorageAccessMessageAndroid11": "Depuis Android 11, l'autorisation « Accès à tous les fichiers » est requise pour enregistrer des fichiers dans le dossier de téléchargement de votre choix.",
"notifDownloadsFinished": "Téléchargements terminés ({completed} terminé, {failed} en échec)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} fichiers • {percentage} %",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Lecture aléatoire",
"backupCreated": "Sauvegarde créée",
"downloadLossyAacSubtitle": "Compatibilité optimale avec les appareils mobiles, format M4A",
"snackbarFillAllFields": "Veuillez remplir tous les champs",
"actionCreate": "Créer",
"snackbarAddedToQueueGeneric": "Ajouté à la file d'attente",
"downloadedAlbumDownloadedCount": "{count} téléchargements",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "Impossible de charger {item} : source de l'extension manquante",
"albumFolderAlbumOnlySubtitle": "Albums/Nom de l'album/",
"errorLoadPlaylist": "Impossible de charger la playlist",
"logIssueTrackNotFoundLabel": "PISTE INTROUVABLE",
"extensionVerificationHelpTitleManual": "Lancer la vérification manuellement",
"dialogDiscard": "Ignorer",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "Sélectionner la qualité",
"dialogDownloadPlaylistsMessage": "Télécharger {trackCount} {trackCount, plural, =1{titre} other{titres}} depuis {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}} ?",
"collectionFoldersTitle": "Mes dossiers",
"credentialsClientSecret": "Clé secrète du client",
"progressFetchingMetadata": "Récupération des métadonnées... {current}/{total}",
"settingsDownloadNetworkAny": "Wi-Fi + données mobiles",
"audioAnalysisDuration": "Durée",
"audioAnalysisAnalyzing": "Analyse audio en cours...",
"credentialsDescription": "Saisissez votre identifiant client et votre clé secrète pour utiliser votre propre quota d'application Spotify.",
"extensionVerificationHelpMessageWaiting": "Si le navigateur ne s'est pas ouvert, ou si la vérification s'est terminée sans que vous ne soyez redirigé vers SpotiFLAC Mobile, ouvrez à nouveau ce lien ou copiez-le manuellement.",
"editMetadataFieldDiscNum": "Disque n°",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Chaîne « Artiste » de l'album complet utilisée",
"trackConvertFormatSubtitle": "Convertir au format AAC/M4A, MP3, Opus, ALAC ou FLAC",
"albumFolderArtistAlbumSinglesSubtitle": "Artiste/Album/ et Artiste/Singles/",
"collectionDeletePlaylistsMessage": "Supprimer {count} {count, plural, =1{playlist} other{playlists}}?",
"lyricsProvidersSaved": "Priorité du fournisseur de paroles enregistrée",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "Avec perte",
"actionPause": "Pause",
"csvImportTracks": "{count} pistes issues d'un fichier CSV",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Aller",
"sectionDebug": "Débogage",
"editMetadataFieldDate": "Date",
"timeHoursAgo": "{count, plural, =1{il y a 1 heure} other{il y a {count} heures}}",
"sectionPerformance": "Performances",
"extensionsSearchWith": "Rechercher avec {providerName}",
"extensionsDownloadPrioritySubtitle": "Définissez l'ordre des services de téléchargement",
"cacheAppDirectoryDesc": "Réponses HTTP, données WebView et autres données temporaires de l'application.",
"sectionData": "Données",
+1 -322
View File
@@ -73,10 +73,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Options",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensions",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -145,10 +141,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Options",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Primary Provider",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -174,10 +166,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Auto Fallback",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -186,18 +174,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Use Extension Providers",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Embed Lyrics",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -230,10 +206,6 @@
"@trackReplayGain": {
"description": "Three-dot menu option to scan loudness and write ReplayGain tags"
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"trackReplayGainScanning": "Analyzing loudness...",
"@trackReplayGainScanning": {
"description": "Snackbar/progress message while scanning ReplayGain for a single track"
@@ -360,31 +332,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Spotify Credentials",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Required - tap to configure",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requires your own API credentials. Get them free from developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"extensionsTitle": "Extensions",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -402,15 +349,6 @@
}
}
},
"extensionsAuthor": "by {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Uninstall",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -912,14 +850,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credentials saved",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credentials cleared",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -938,10 +868,6 @@
}
}
},
"snackbarFillAllFields": "Please fill all fields",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "View Queue",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -1055,14 +981,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Remove Credentials",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Save Credentials",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} selected",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -1272,10 +1190,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Choose which installed download extensions can be used during automatic fallback.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -1284,10 +1198,6 @@
"@providerPriorityFallbackExtensionsHint": {
"description": "Hint below the extension fallback selection list"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extension",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -1304,14 +1214,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "No rate limits",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -1378,30 +1280,6 @@
}
}
},
"credentialsTitle": "Spotify Credentials",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "Client ID",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Paste Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Client Secret",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Paste Client Secret",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Stable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1510,10 +1388,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Fallback, metadata, lyrics, cover art",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Manage download providers",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1772,10 +1646,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -1808,18 +1678,6 @@
"@storeEmptyNoResults": {
"description": "Message when search/filter returns no results"
},
"extensionDefaultProvider": "Default Search",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Author",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -2087,10 +1945,6 @@
"@downloadLossyOpus128Subtitle": {
"description": "Subtitle for Opus 128kbps lossy option"
},
"qualityNote": "Actual quality depends on track availability from the service",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Ask Before Download",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -2245,10 +2099,6 @@
}
}
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Tap tracks to select",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -3092,18 +2942,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Save Lyrics (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Saving lyrics...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -3116,10 +2958,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Fields to update",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Cover Art",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3203,18 +3041,6 @@
}
}
},
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3244,10 +3070,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convert Audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3316,10 +3138,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Album: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3416,10 +3234,6 @@
"@collectionFavoriteArtists": {
"description": "Custom folder for favorite artists"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Playlist",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3436,10 +3250,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3476,10 +3286,6 @@
}
}
},
"collectionPlaylistCreated": "Playlist created",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Playlist name",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3496,19 +3302,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Playlist deleted",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Playlist renamed",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3553,15 +3346,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "\"{trackName}\" removed",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3705,18 +3489,6 @@
}
}
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3879,10 +3651,6 @@
"@backupImportButton": {
"description": "Button to pick a backup file to restore"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"backupCreated": "Backup created",
"@backupCreated": {
"description": "Snackbar after a backup file is created"
@@ -3891,10 +3659,6 @@
"@backupCreateFailed": {
"description": "Snackbar when backup creation fails"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"backupRestoreConfirmTitle": "Restore this backup?",
"@backupRestoreConfirmTitle": {
"description": "Confirmation dialog title before restoring a backup"
@@ -3907,10 +3671,6 @@
"@backupRestoreConfirmButton": {
"description": "Confirm button to proceed with restore"
},
"backupRestoring": "Restoring backup...",
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"backupRestored": "Backup restored successfully",
"@backupRestored": {
"description": "Snackbar after a successful restore"
@@ -4178,10 +3938,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4430,10 +4186,6 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4588,15 +4340,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Search with {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4634,14 +4377,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4676,34 +4411,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
@@ -4956,14 +4663,6 @@
"@actionPaste": {
"description": "Generic action - paste from clipboard"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"tutorialSearchHint": "Paste or search...",
"@tutorialSearchHint": {
"description": "Placeholder shown in the tutorial search demo"
@@ -4992,14 +4691,6 @@
"@optionsEmbedMetadataSubtitleOff": {
"description": "Subtitle when metadata embedding is disabled"
},
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
@@ -5239,14 +4930,6 @@
}
}
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"settingsFiles": "Files & Folders",
"@settingsFiles": {
"description": "Settings menu item - file and folder settings"
@@ -5699,10 +5382,6 @@
"@errorInvalidFolderSelected": {
"description": "Error when the selected folder is invalid"
},
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"storeAnyVersion": "Any",
"@storeAnyVersion": {
"description": "Store detail value when any app version is accepted"
@@ -6205,4 +5884,4 @@
"@extensionVerificationOpenBrowser": {
"description": "Button to open the extension verification URL in a browser"
}
}
}
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256kbps",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "Unduhan",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "Log",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "Pratinjau",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} deleted",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "Analisis kenyaringan dan tulis tag ReplayGain",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "ID Klien: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "Tidak ada batas rate",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Metadata re-enriched successfully ({successCount}/{total}) - Failed: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "Tempel Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "Ekstensi Cadangan",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "Penyedia ekstensi diwajibkan",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "Opsi",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "Semua file di folder unduhan",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "Diperlukan - ketuk untuk mengatur",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "Storage & Cache",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Finalizing library...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "Pengembang versi mobile",
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "Unduhan",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "Pilih lagu untuk dihapus",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "Pembuat",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "Tempel Client Secret",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "Failed to fetch some albums",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "Tema, warna, tampilan",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "Kelola provider unduhan",
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "Cadangan, metadata, lirik, sampul album",
"navLibrary": "Pustaka",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Verification browser",
"extensionDefaultProvider": "Pencarian default",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Provider Options",
"nowPlayingTitle": "Now Playing",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "No download history",
"optionsTitle": "Opsi",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "Hapus",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Playlist deleted",
"metadataMayRateLimit": "Mungkin dibatasi rate",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Album (Z-A)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "Kredensial disimpan",
"cacheCleanupResult": "Cleanup completed: {downloadCount} orphaned downloads, {libraryCount} missing library entries",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "Gunakan pencarian metadata default",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "Muat Lirik",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "Semua lagu dipilih",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 album} other{{count} albums}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "oleh {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Extend the app's capabilities with community extensions.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "Berdasarkan Daftar Putar",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 track} other{{count} tracks}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Playlist name",
"extensionVerificationCopyLink": "Copy link",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "Pencarian Spotify akan dihentikan pada 3 Maret 2026 karena perubahan API Spotify. Silakan beralih ke Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "ID Klien",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "misalnya https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Storage Update Required",
"snackbarMetadataSaved": "Metadata saved successfully",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} in {count} files",
"actionRemoveCredentials": "Hapus Kredensial",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "No shareable files found",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Not configured",
"queueRetryAllFailed": "Retry {count} failed",
"folderOrganizationByPlaylistSubtitle": "Setiap daftar putar memerlukan folder terpisah",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "Seret untuk mengatur ulang urutan provider metadata. Aplikasi akan mencoba provider dari atas ke bawah saat mencari lagu dan mengambil metadata.",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"setupIcloudNotSupported": "iCloud Drive tidak didukung. Silakan gunakan folder Dokumen di aplikasi.",
"trackLyricsEmbeddedSource": "Embedded",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Fields to update",
"aboutFeatureRequest": "Permintaan fitur",
"downloadSingleFilenameFormatDescription": "Pola nama file untuk single dan EP. Menggunakan tag yang sama dengan format album.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "Prioritas provider metadata disimpan",
"setupPermissionRequired": "Izin {permissionType} Diperlukan",
"backupRestoring": "Restoring backup...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Kredensial Spotify",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "Enable Local Library",
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"trackConvertTargetFormat": "Target Format",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choose backup file",
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
"credentialsTitle": "Kredensial Spotify",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Download Complete",
"snackbarAlreadyDownloaded": "\"{trackName}\" sudah diunduh",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "Folder terpisah untuk setiap album",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "Triangular HP",
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "Sematkan dan simpan file .lrc",
"trackReEnrichFieldExtra": "Genre, Label, Copyright",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Offline",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "Pilih penyedia pencarian default untuk beralih kembali dari ekstensi",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "No cover art source available",
"libraryFilterMetadata": "Metadata",
"albumFolderArtistYearAlbum": "Artis / [Tahun] Album",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "No playlists yet",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "Kualitas sebenarnya tergantung ketersediaan lagu dari layanan",
"downloadFilenameDescription": "Use {artist}, {title}, {album}, {track}, {year}, {date}, {disc} as placeholders.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
"cacheTrackLookup": "Track lookup cache",
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "Warisan",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Playlist renamed",
"collectionCreatePlaylist": "Create playlist",
"homeGoToAlbum": "Go to Album",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "Gunakan Provider Ekstensi",
"cacheCleanupUnusedSubtitle": "Remove orphaned download history and missing library entries",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "Simpan Kredensial",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "Analisis kenyaringan dan tulis tag ReplayGain ke {count} trek?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Folder named after Album Artist tag",
"optionsSpotifyWarning": "Spotify memerlukan kredensial API Anda sendiri. Dapatkan gratis dari developer.spotify.com",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "Semua lagu dipilih",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "App Folder (Recommended)",
"collectionPlaylistCreated": "Playlist created",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"actionPaste": "Paste",
"extensionSettingsCount": "{count} {count, plural, =1{setting} other{settings}}",
"downloadNativeWorker": "Native download worker",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "Berikan Izin",
"lyricsProvidersDescription": "Enable, disable and reorder lyrics sources. Providers are tried top-to-bottom until lyrics are found.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "{count} hari lalu",
"extensionsHomeFeedDescription": "Choose which extension provides the home feed on the main screen",
"downloadLossyMp3Subtitle": "Kompatibilitas terbaik, ~10MB per trek",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Service degraded",
"optionsUseExtensionProvidersOn": "Penyedia ekstensi diaktifkan",
"selectionConvertNoConvertible": "No convertible tracks selected",
"snackbarCredentialsCleared": "Kredensial dihapus",
"setupStorageGranted": "Izin Penyimpanan Diberikan!",
"downloadAllowLocalNetwork": "Allow Local Network Access",
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"nowPlayingNoLyrics": "No lyrics in this file",
"selectionDeleteTracksCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
"downloadFallbackExtensionsSubtitle": "Choose which extensions can be used as fallback",
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"storeExtensionsCount": "{count} {count, plural, =1{extension} other{extensions}}",
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"collectionRemoved": "\"{trackName}\" removed",
"setupStorageAccessMessageAndroid11": "Android 11+ memerlukan izin \"Akses semua file\" untuk menyimpan file ke folder unduhan pilihan Anda.",
"notifDownloadsFinished": "Downloads Finished ({completed} done, {failed} failed)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} files • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Shuffle",
"backupCreated": "Backup created",
"downloadLossyAacSubtitle": "Kompatibilitas seluler terbaik, kontainer M4A",
"snackbarFillAllFields": "Harap isi semua field",
"actionCreate": "Create",
"snackbarAddedToQueueGeneric": "Added to queue",
"downloadedAlbumDownloadedCount": "{count} diunduh",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "Tidak dapat memuat {item}: sumber ekstensi tidak ada",
"albumFolderAlbumOnlySubtitle": "Albums/Nama Album/",
"errorLoadPlaylist": "Failed to load playlist",
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
"extensionVerificationHelpTitleManual": "Open verification manually",
"dialogDiscard": "Buang",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "Pilih Kualitas",
"dialogDownloadPlaylistsMessage": "Download {trackCount} {trackCount, plural, =1{track} other{tracks}} from {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}}?",
"collectionFoldersTitle": "My folders",
"credentialsClientSecret": "Rahasia Klien",
"progressFetchingMetadata": "Mengambil metadata... {current}/{total}",
"settingsDownloadNetworkAny": "WiFi + Data Seluler",
"audioAnalysisDuration": "Duration",
"audioAnalysisAnalyzing": "Analyzing audio...",
"credentialsDescription": "Masukkan Client ID dan Secret Anda untuk menggunakan kuota aplikasi Spotify Anda sendiri.",
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"editMetadataFieldDiscNum": "Disc #",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Full Album Artist string used",
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"albumFolderArtistAlbumSinglesSubtitle": "Artis/Album/ dan Artis/Single/",
"collectionDeletePlaylistsMessage": "Delete {count} {count, plural, =1{playlist} other{playlists}}?",
"lyricsProvidersSaved": "Lyrics provider priority saved",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "Lossy",
"actionPause": "Jeda",
"csvImportTracks": "{count} trek dari CSV",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Go",
"sectionDebug": "Debug",
"editMetadataFieldDate": "Date",
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
"sectionPerformance": "Performa",
"extensionsSearchWith": "Search with {providerName}",
"extensionsDownloadPrioritySubtitle": "Atur urutan layanan unduhan",
"cacheAppDirectoryDesc": "HTTP responses, WebView data, and other temporary app data.",
"sectionData": "Data",
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256kbps",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "ダウンロード",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "ログ",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "プレビュー",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} deleted",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "クライアント ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "レート制限はありません",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Metadata re-enriched successfully ({successCount}/{total}) - Failed: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "クライアント ID を貼り付け",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "オプション",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "ダウンロードフォルダ内のすべてのファイル",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "必須 - タップで設定",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "ストレージとキャッシュ",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Finalizing library...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "モバイルバージョンの開発者",
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "ダウンロード",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "トラックを選択で削除",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "作者",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "クライアントシークレットを貼り付け",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "一部のアルバムの取得に失敗しました",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "テーマ、カラー、画面",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "ダウンロードプロバイダーを管理",
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "Fallback, metadata, lyrics, cover art",
"navLibrary": "ライブラリ",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Verification browser",
"extensionDefaultProvider": "Default Search",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Provider Options",
"nowPlayingTitle": "Now Playing",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "No download history",
"optionsTitle": "オプション",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "消去",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Playlist deleted",
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Album (Z-A)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "認証情報を保存しました",
"cacheCleanupResult": "Cleanup completed: {downloadCount} orphaned downloads, {libraryCount} missing library entries",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "歌詞を読み込み",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "すべてのトラックを選択済み",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 album} other{{count} albums}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "作者 {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Extend the app's capabilities with community extensions.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "By Playlist",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 track} other{{count} tracks}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Playlist name",
"extensionVerificationCopyLink": "Copy link",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "クライアント ID",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Storage Update Required",
"snackbarMetadataSaved": "Metadata saved successfully",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} in {count} files",
"actionRemoveCredentials": "認証情報を削除",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "No shareable files found",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Not configured",
"queueRetryAllFailed": "Retry {count} failed",
"folderOrganizationByPlaylistSubtitle": "Separate folder for each playlist",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"setupIcloudNotSupported": "iCloud Drive is not supported. Please use the app Documents folder.",
"trackLyricsEmbeddedSource": "Embedded",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Fields to update",
"aboutFeatureRequest": "機能の要望",
"downloadSingleFilenameFormatDescription": "Filename pattern for singles and EPs. Uses the same tags as the album format.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "メタデータプロバイダーの優先度を保存しました",
"setupPermissionRequired": "{permissionType} の権限が必要です",
"backupRestoring": "Restoring backup...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Spotify の認証情報",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "ローカルライブラリを有効",
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"trackConvertTargetFormat": "ターゲットの形式",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choose backup file",
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
"credentialsTitle": "Spotify の認証情報",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Download Complete",
"snackbarAlreadyDownloaded": "「{trackName}」は既にダウンロードされています",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "Separate folder for each album",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "Triangular HP",
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "Embed and save .lrc file",
"trackReEnrichFieldExtra": "Genre, Label, Copyright",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Offline",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "No cover art source available",
"libraryFilterMetadata": "Metadata",
"albumFolderArtistYearAlbum": "アーティスト / [年] アルバム",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "No playlists yet",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "実際の品質はサービスからのトラックの可用性に依存します",
"downloadFilenameDescription": "Use {artist}, {title}, {album}, {track}, {year}, {date}, {disc} as placeholders.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
"cacheTrackLookup": "Track lookup cache",
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Playlist renamed",
"collectionCreatePlaylist": "Create playlist",
"homeGoToAlbum": "Go to Album",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "拡張のプロバイダーを使用する",
"cacheCleanupUnusedSubtitle": "Remove orphaned download history and missing library entries",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "認証情報を保存",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "Analyze loudness and write ReplayGain tags to {count} track(s)?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Folder named after Album Artist tag",
"optionsSpotifyWarning": "Spotify は独自の API 認証情報が必要です。developer.spotify.com から取得できます。",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "すべてのトラックを選択済み",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "App Folder (Recommended)",
"collectionPlaylistCreated": "Playlist created",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"actionPaste": "Paste",
"extensionSettingsCount": "{count} {count, plural, =1{setting} other{settings}}",
"downloadNativeWorker": "Native download worker",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "権限を許可",
"lyricsProvidersDescription": "Enable, disable and reorder lyrics sources. Providers are tried top-to-bottom until lyrics are found.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "{count} 日前",
"extensionsHomeFeedDescription": "Choose which extension provides the home feed on the main screen",
"downloadLossyMp3Subtitle": "Best compatibility, ~10MB per track",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Service degraded",
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"selectionConvertNoConvertible": "No convertible tracks selected",
"snackbarCredentialsCleared": "認証情報を消去しました",
"setupStorageGranted": "ストレージの権限が許可されました!",
"downloadAllowLocalNetwork": "Allow Local Network Access",
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"nowPlayingNoLyrics": "No lyrics in this file",
"selectionDeleteTracksCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
"downloadFallbackExtensionsSubtitle": "Choose which extensions can be used as fallback",
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"storeExtensionsCount": "{count} {count, plural, =1{extension} other{extensions}}",
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"collectionRemoved": "\"{trackName}\" removed",
"setupStorageAccessMessageAndroid11": "Android 11+ requires \"All files access\" permission to save files to your chosen download folder.",
"notifDownloadsFinished": "Downloads Finished ({completed} done, {failed} failed)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} files • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Shuffle",
"backupCreated": "Backup created",
"downloadLossyAacSubtitle": "Best mobile compatibility, M4A container",
"snackbarFillAllFields": "すべての項目を入力してください",
"actionCreate": "Create",
"snackbarAddedToQueueGeneric": "Added to queue",
"downloadedAlbumDownloadedCount": "{count} 個をダウンロード済み",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "{item} を読み込めません: 拡張ソースがありません",
"albumFolderAlbumOnlySubtitle": "アルバム/アルバム名/",
"errorLoadPlaylist": "Failed to load playlist",
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
"extensionVerificationHelpTitleManual": "Open verification manually",
"dialogDiscard": "破棄",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "品質を選択",
"dialogDownloadPlaylistsMessage": "Download {trackCount} {trackCount, plural, =1{track} other{tracks}} from {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}}?",
"collectionFoldersTitle": "My folders",
"credentialsClientSecret": "クライアントシークレット",
"progressFetchingMetadata": "メタデータを取得中... {current}/{total}",
"settingsDownloadNetworkAny": "Wi-Fi + モバイルデータ",
"audioAnalysisDuration": "Duration",
"audioAnalysisAnalyzing": "Analyzing audio...",
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"editMetadataFieldDiscNum": "Disc #",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Full Album Artist string used",
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"albumFolderArtistAlbumSinglesSubtitle": "Artist/Album/ and Artist/Singles/",
"collectionDeletePlaylistsMessage": "Delete {count} {count, plural, =1{playlist} other{playlists}}?",
"lyricsProvidersSaved": "Lyrics provider priority saved",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "Lossy",
"actionPause": "一時停止",
"csvImportTracks": "{count} tracks from CSV",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Go",
"sectionDebug": "デバッグ",
"editMetadataFieldDate": "Date",
"timeHoursAgo": "{count, plural, =1{1 時間前} other{{count} 時間前}}",
"sectionPerformance": "パフォーマンス",
"extensionsSearchWith": "Search with {providerName}",
"extensionsDownloadPrioritySubtitle": "ダウンロードサービスの順序を設定",
"cacheAppDirectoryDesc": "HTTP responses, WebView data, and other temporary app data.",
"sectionData": "データ",
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256kbps",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "백업을 생성하는 중...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "다운로드",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "재생목록",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "로그",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "베타",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} 개의 {count, plural, =1{재생목록} other{재생목록}}이 삭제됨",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "음량 분석 및 리플레이게인 태그 작성",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "{total} 개 중 {current} 개를 변환하는 중...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "클라이언트 ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "플레이어",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "아직 백업할 내용이 없습니다",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "사용 제한 없음",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "메타데이터 재구성 성공 ({successCount}/{total}) - 실패: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "앨범 불러오기 실패",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "클라이언트 ID를 붙여넣으세요",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "리플레이게인",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "확장 프로그램 대체",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "확장 프로그램 제공자가 필요함",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "옵션",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "다운로드 폴더의 모든 파일",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "필수 - 탭하여 설정",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "저장소 & 캐시",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "라이브러리를 마무리하는 중...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "모바일 버전 개발자",
"errorCouldNotKeepFolderAccess": "선택한 폴더에 대한 접근 권한을 유지할 수 없습니다",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "다운로드",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "삭제할 트랙을 선택",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "작성자",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "클라이언트 비밀키를 붙여넣으세요",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "다운로드됨",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "일부 앨범 가져오기 실패",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "가사를 .Irc 파일로 가져와서 저장",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "''{playlistName}''과 그 안에 있는 모든 트랙을 삭제하시겠습니까?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "테마, 색상, 디스플레이",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "트랙",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "다운로드 제공자 관리",
"sortAlphaAsc": "오름차순",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "대체, 메타데이터, 가사, 표지 이미지",
"navLibrary": "라이브러리",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "인증 브라우저",
"extensionDefaultProvider": "기본 검색",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "원본",
"sectionLyricsProviderOptions": "제공자 옵션",
"nowPlayingTitle": "현재 재생 중",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "다운로드 기록이 없음",
"optionsTitle": "옵션",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "지우기",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "사용자 정의 폴더에 저장할 경우에 쓰기 오류가 발생하면 이 옵션을 활성화하세요. Android 13 이상에서는 기본적으로 특정 디렉터리에 대한 접근이 제한됩니다",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "재생목록 삭제 완료",
"metadataMayRateLimit": "사용 제한이 있을 수 있음",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "링크를 열 수 없습니다. 다시 시도해 주세요",
"collectionNoPlaylistsSubtitle": "트랙 분류를 시작하려면 재생목록을 만드세요",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "앨범 (내림차순)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "자격 증명이 저장됨",
"cacheCleanupResult": "정리 완료: {downloadCount} 개의 사용되지 않는 다운로드, {libraryCount} 개의 누락된 라이브러리 항목",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "라이브러리 스캔",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "다운로드 기록 저장",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "기본 메타데이터 검색 사용",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "가사 불러오기",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "모든 트랙 선택됨",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 개의 앨범} other{{count} 개의 앨범}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "작성자: {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "커뮤니티 확장 프로그램을 사용하여 앱의 기능을 확장하세요",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "재생목록별",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 개의 트랙} other{{count} 개의 트랙}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "다운로드 진행률",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "재생목록 이름",
"extensionVerificationCopyLink": "링크 복사",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "Spotify API 변경으로 인해 Spotify 검색 기능은 2026년 3월 3일부터 더 이상 지원되지 않습니다. Deezer로 전환해 주세요",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "클라이언트 ID",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "예시: https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "저장소 업데이트 필요",
"snackbarMetadataSaved": "메타데이터 저장 성공",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{count} 개의 파일에 {size} 사용",
"actionRemoveCredentials": "자격 증명 제거",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "공유할 수 있는 파일을 찾을 수 없음",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "음질을 선택하려면 음질 옵션이 있는 제공자를 선택하세요",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "앨범",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "설정되지 않음",
"queueRetryAllFailed": "재시도 {count} 번 실패",
"folderOrganizationByPlaylistSubtitle": "각 재생목록별 별도 폴더",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "드래그하여 메타데이터 제공자 순서를 변경하세요. 앱은 트랙을 검색하고 메타데이터를 가져올 경우에 위에서 아래로 제공자를 시도합니다",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "트랙 다운로드 진행률 표시",
"setupIcloudNotSupported": "iCloud Drive는 지원되지 않습니다. 앱의 문서 폴더를 사용해 주세요",
"trackLyricsEmbeddedSource": "내장",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "업데이트할 필드",
"aboutFeatureRequest": "기능 요청",
"downloadSingleFilenameFormatDescription": "싱글 및 EP용 파일 이름 패턴입니다. 앨범 형식과 동일한 태그를 사용합니다",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "메타데이터 제공자 우선순위가 저장됨",
"setupPermissionRequired": "''{permissionType}'' 권한 필요",
"backupRestoring": "백업을 복원하는 중...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Spotify 자격 증명",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "로컬 라이브러리 활성화",
"queueFlacFindingProgress": "FLAC 일치 항목을 찾는 중... ({current}/{total})",
"trackConvertTargetFormat": "변경될 형식",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "백업 파일 선택",
"downloadAppleElrcWordSyncDisabled": "더 안전한 Apple Music 가사 (줄 단위)",
"credentialsTitle": "Spotify 자격 증명",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "다운로드 완료",
"snackbarAlreadyDownloaded": "''{trackName}''은 이미 다운로드되어 있음",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "각 앨범별 별도 폴더",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "삼각형 HP",
"searchTracksEmptyPrompt": "트랙 검색",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": ".lrc 파일을 삽입하고 저장합니다",
"trackReEnrichFieldExtra": "장르, 레이블, 저작권",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "트랙 검색...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "오프라인",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "확장 프로그램에서 기본 검색 제공자로 전환하려면 기본 검색 제공자를 선택하세요",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "사용할 수 있는 표지 출처가 없음",
"libraryFilterMetadata": "메타데이터",
"albumFolderArtistYearAlbum": "아티스트 / [연도] 앨범",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "CUE+FLAC을 개별 트랙으로 분할",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "아직 재생목록이 없음",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "아티스트 불러오기 실패",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "실제 음질은 서비스의 트랙 가용성에 따라 달라집니다",
"downloadFilenameDescription": "''{artist}'', ''{title}'', ''{album}'', ''{track}'', ''{year}'', ''{date}'', ''{disc}''를 자리표시자로 사용하세요",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "내림차순",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "확장 프로그램 가사 제공자는 내장 가사 제공자보다 먼저 실행됩니다. 하나 이상의 제공자가 활성화되어 있어야 합니다",
"cacheTrackLookup": "트랙 조회 캐시",
"extensionsHomeFeedOffSubtitle": "메인 화면에 홈 피드를 표시하지 않습니다",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "레거시",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "재생목록 이름 변경 완료",
"collectionCreatePlaylist": "재생목록 생성",
"homeGoToAlbum": "앨범으로 이동",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "확장 프로그램 사용",
"cacheCleanupUnusedSubtitle": "불필요한 다운로드 기록 및 누락된 라이브러리 항목을 제거합니다",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "자격 증명 저장",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "음량을 분석하고 {count} 개의 트랙에 리플레이게인 태그를 추가하시겠습니까?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "앨범 아티스트 태그로 이름이 지정된 폴더",
"optionsSpotifyWarning": "Spotify는 사용자 고유의 API 자격 증명을 요구합니다. 'developer.spotify.com'에서 무료로 발급받으세요",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "모든 트랙 선택됨",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "앱 폴더 (추천)",
"collectionPlaylistCreated": "재생목록 생성 완료",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "표지 이미지를 .jpg 파일로 저장",
"actionPaste": "붙여넣기",
"extensionSettingsCount": "{count} 개의 {count, plural, =1{설정} other{설정}}",
"downloadNativeWorker": "기본 다운로드 워커",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "권한을 부여해 주세요",
"lyricsProvidersDescription": "가사 출처를 활성화, 비활성화 및 재정렬합니다. 가사가 발견될 때까지 위에서 아래로 제공자를 시도합니다",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "{count} 일 전",
"extensionsHomeFeedDescription": "메인 화면에 홈 피드를 제공하는 확장 프로그램을 선택하세요",
"downloadLossyMp3Subtitle": "최상의 호환성, 트랙당 약 10MB",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "서비스 저하됨",
"optionsUseExtensionProvidersOn": "확장 프로그램 제공자가 활성화됨",
"selectionConvertNoConvertible": "선택된 변환할 수 있는 트랙이 없음",
"snackbarCredentialsCleared": "자격 증명이 삭제됨",
"setupStorageGranted": "저장소 접근 권한이 부여되었습니다!",
"downloadAllowLocalNetwork": "로컬 네트워크 접근 허용",
"optionsMaxQualityCoverSubtitleDisabled": "메타데이터 삽입이 꺼져 있을 때 비활성화됨",
"nowPlayingNoLyrics": "이 파일에는 가사가 없음",
"selectionDeleteTracksCount": "{count} {count, plural, =1{트랙} other{트랙}} 삭제",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: 다인용 가사",
"downloadFallbackExtensionsSubtitle": "대체 확장 프로그램으로 사용할 확장 프로그램을 선택하세요",
"notifChannelLibraryScanDesc": "로컬 라이브러리 스캔 진행률을 표시합니다",
"storeExtensionsCount": "{count} 개의 {count, plural, =1{확장 프로그램} other{확장 프로그램}}",
"trackCoverNoEmbeddedArt": "내장된 표지 이미지가 없음",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "''{extensionName}''이 v{version}으로 업데이트됨",
"collectionRemoved": "''{trackName}'' 제거 완료",
"setupStorageAccessMessageAndroid11": "Android 11 이상 버전에서는 선택한 다운로드 폴더에 파일을 저장하려면 '모든 파일 접근' 권한이 필요합니다",
"notifDownloadsFinished": "다운로드 완료 ({completed} 개 완료, {failed} 개 실패)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} 개의 파일 • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "셔플",
"backupCreated": "백업 생성 완료",
"downloadLossyAacSubtitle": "최상의 모바일 호환성, M4A 컨테이너",
"snackbarFillAllFields": "모든 항목을 입력해 주세요",
"actionCreate": "생성",
"snackbarAddedToQueueGeneric": "현재 다운로드 목록에 추가됨",
"downloadedAlbumDownloadedCount": "{count} 개 다운로드됨",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "''{item}''을 불러올 수 없음: 확장 소스가 누락됨",
"albumFolderAlbumOnlySubtitle": "앨범/앨범 이름/",
"errorLoadPlaylist": "재생목록 불러오기 실패",
"logIssueTrackNotFoundLabel": "트랙을 찾을 수 없음",
"extensionVerificationHelpTitleManual": "수동으로 인증 열기",
"dialogDiscard": "폐기",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "음질 선택",
"dialogDownloadPlaylistsMessage": "{playlistCount} 개의 {playlistCount, plural, =1{재생목록} other{재생록록}}에서 {trackCount} 개의 {trackCount, plural, =1{트랙} other{트랙}}을 다운로드하시겠습니까?",
"collectionFoldersTitle": "내 폴더",
"credentialsClientSecret": "클라이언트 비밀키",
"progressFetchingMetadata": "메타데이터를 가져오는 중... {current}/{total}",
"settingsDownloadNetworkAny": "WiFi + 모바일 네트워크",
"audioAnalysisDuration": "재생시간",
"audioAnalysisAnalyzing": "오디오를 분석하는 중...",
"credentialsDescription": "Spotify 애플리케이션 할당량을 사용하려면 클라이언트 ID와 비밀키를 입력하세요",
"extensionVerificationHelpMessageWaiting": "브라우저가 열리지 않았거나 인증을 완료한 후에도 SpotiFLAC Mobile로 돌아오지 않았다면, 아래 링크를 다시 열거나 직접 복사하세요",
"editMetadataFieldDiscNum": "디스크 #",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "전체 앨범 아티스트 문자열 사용",
"trackConvertFormatSubtitle": "AAC/M4A, MP3, Opus, ALAC 또는 FLAC으로 변환",
"albumFolderArtistAlbumSinglesSubtitle": "아티스트/앨범/ 및 아티스트/싱글/",
"collectionDeletePlaylistsMessage": "{count} 개의 {count, plural, =1{재생목록} other{재생목록}}을 삭제하시겠습니까?",
"lyricsProvidersSaved": "가사 제공자 우선순위가 저장됨",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "손실 압축",
"actionPause": "일시 중지",
"csvImportTracks": "CSV 파일의 트랙: {count}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "이동",
"sectionDebug": "디버그",
"editMetadataFieldDate": "날짜",
"timeHoursAgo": "{count, plural, =1{1 시간 전} other{{count} 시간 전}}",
"sectionPerformance": "성능",
"extensionsSearchWith": "{providerName}으로 검색",
"extensionsDownloadPrioritySubtitle": "다운로드 서비스 순서를 설정하세요",
"cacheAppDirectoryDesc": "HTTP 응답, WebView 데이터 및 기타 임시 앱 데이터",
"sectionData": "데이터",
+1 -322
View File
@@ -73,10 +73,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Options",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensions",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -145,10 +141,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Options",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Primary Provider",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -174,10 +166,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Auto Fallback",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -186,18 +174,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Use Extension Providers",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Embed Lyrics",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -230,10 +206,6 @@
"@trackReplayGain": {
"description": "Three-dot menu option to scan loudness and write ReplayGain tags"
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"trackReplayGainScanning": "Analyzing loudness...",
"@trackReplayGainScanning": {
"description": "Snackbar/progress message while scanning ReplayGain for a single track"
@@ -360,31 +332,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Spotify Credentials",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Required - tap to configure",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requires your own API credentials. Get them free from developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"extensionsTitle": "Extensions",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -402,15 +349,6 @@
}
}
},
"extensionsAuthor": "by {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Uninstall",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -912,14 +850,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credentials saved",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credentials cleared",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -938,10 +868,6 @@
}
}
},
"snackbarFillAllFields": "Please fill all fields",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "View Queue",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -1055,14 +981,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Remove Credentials",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Save Credentials",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} selected",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -1272,10 +1190,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Choose which installed download extensions can be used during automatic fallback.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -1284,10 +1198,6 @@
"@providerPriorityFallbackExtensionsHint": {
"description": "Hint below the extension fallback selection list"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extension",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -1304,14 +1214,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "No rate limits",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -1378,30 +1280,6 @@
}
}
},
"credentialsTitle": "Spotify Credentials",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "Client ID",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Paste Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Client Secret",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Paste Client Secret",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Stable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1510,10 +1388,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Fallback, metadata, lyrics, cover art",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Manage download providers",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1772,10 +1646,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -1808,18 +1678,6 @@
"@storeEmptyNoResults": {
"description": "Message when search/filter returns no results"
},
"extensionDefaultProvider": "Default Search",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Author",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -2087,10 +1945,6 @@
"@downloadLossyOpus128Subtitle": {
"description": "Subtitle for Opus 128kbps lossy option"
},
"qualityNote": "Actual quality depends on track availability from the service",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Ask Before Download",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -2245,10 +2099,6 @@
}
}
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Tap tracks to select",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -3092,18 +2942,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Save Lyrics (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Saving lyrics...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -3116,10 +2958,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Fields to update",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Cover Art",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3203,18 +3041,6 @@
}
}
},
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3244,10 +3070,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convert Audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3316,10 +3138,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Album: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3416,10 +3234,6 @@
"@collectionFavoriteArtists": {
"description": "Custom folder for favorite artists"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Playlist",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3436,10 +3250,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3476,10 +3286,6 @@
}
}
},
"collectionPlaylistCreated": "Playlist created",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Playlist name",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3496,19 +3302,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Playlist deleted",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Playlist renamed",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3553,15 +3346,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "\"{trackName}\" removed",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3705,18 +3489,6 @@
}
}
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3879,10 +3651,6 @@
"@backupImportButton": {
"description": "Button to pick a backup file to restore"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"backupCreated": "Backup created",
"@backupCreated": {
"description": "Snackbar after a backup file is created"
@@ -3891,10 +3659,6 @@
"@backupCreateFailed": {
"description": "Snackbar when backup creation fails"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"backupRestoreConfirmTitle": "Restore this backup?",
"@backupRestoreConfirmTitle": {
"description": "Confirmation dialog title before restoring a backup"
@@ -3907,10 +3671,6 @@
"@backupRestoreConfirmButton": {
"description": "Confirm button to proceed with restore"
},
"backupRestoring": "Restoring backup...",
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"backupRestored": "Backup restored successfully",
"@backupRestored": {
"description": "Snackbar after a successful restore"
@@ -4178,10 +3938,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4430,10 +4186,6 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4588,15 +4340,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Search with {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4634,14 +4377,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4676,34 +4411,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
@@ -4956,14 +4663,6 @@
"@actionPaste": {
"description": "Generic action - paste from clipboard"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"tutorialSearchHint": "Paste or search...",
"@tutorialSearchHint": {
"description": "Placeholder shown in the tutorial search demo"
@@ -4992,14 +4691,6 @@
"@optionsEmbedMetadataSubtitleOff": {
"description": "Subtitle when metadata embedding is disabled"
},
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
@@ -5239,14 +4930,6 @@
}
}
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"settingsFiles": "Files & Folders",
"@settingsFiles": {
"description": "Settings menu item - file and folder settings"
@@ -5699,10 +5382,6 @@
"@errorInvalidFolderSelected": {
"description": "Error when the selected folder is invalid"
},
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"storeAnyVersion": "Any",
"@storeAnyVersion": {
"description": "Store detail value when any app version is accepted"
@@ -6205,4 +5884,4 @@
"@extensionVerificationOpenBrowser": {
"description": "Button to open the extension verification URL in a browser"
}
}
}
+1 -286
View File
@@ -57,10 +57,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Options",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensions",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -121,10 +117,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Options",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Primary Provider",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -142,10 +134,6 @@
}
}
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Auto Fallback",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -154,18 +142,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Use Extension Providers",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Embed Lyrics",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -234,27 +210,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Spotify Credentials",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Required - tap to configure",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requires your own API credentials. Get them free from developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"extensionsTitle": "Extensions",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -272,15 +227,6 @@
}
}
},
"extensionsAuthor": "by {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Uninstall",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -690,14 +636,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credentials saved",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credentials cleared",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -716,10 +654,6 @@
}
}
},
"snackbarFillAllFields": "Please fill all fields",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "View Queue",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -817,14 +751,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Remove Credentials",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Save Credentials",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} selected",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -978,10 +904,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extension",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -998,14 +920,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "No rate limits",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -1072,30 +986,6 @@
}
}
},
"credentialsTitle": "Spotify Credentials",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "Client ID",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Paste Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Client Secret",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Paste Client Secret",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Stable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1168,10 +1058,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Fallback, lyrics, cover art, updates",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Manage download providers",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1373,18 +1259,6 @@
"@storeClearFilters": {
"description": "Button to clear all filters"
},
"extensionDefaultProvider": "Default Search",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Author",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -1572,10 +1446,6 @@
"@qualityHiResFlacMaxSubtitle": {
"description": "Technical spec for hi-res max"
},
"qualityNote": "Actual quality depends on track availability from the service",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Ask Before Download",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -1674,10 +1544,6 @@
}
}
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Tap tracks to select",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -1728,14 +1594,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
@@ -1772,10 +1630,6 @@
"@optionsArtistTagModeSplitVorbisSubtitle": {
"description": "Subtitle for split Vorbis artist tag mode"
},
"optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"aboutTranslators": "Translators",
"@aboutTranslators": {
"description": "Section for translators"
@@ -1912,10 +1766,6 @@
"@folderOrganizationByPlaylistSubtitle": {
"description": "Subtitle for playlist folder option"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Choose which installed download extensions can be used during automatic fallback.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -2008,10 +1858,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -2974,18 +2820,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Save Lyrics (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Saving lyrics...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -2998,10 +2836,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Fields to update",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Cover Art",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3085,18 +2919,6 @@
}
}
},
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3126,10 +2948,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convert to MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convert Audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3198,10 +3016,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Album: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3294,10 +3108,6 @@
"@collectionLoved": {
"description": "Custom folder for favorite tracks"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Playlist",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3314,10 +3124,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3345,10 +3151,6 @@
}
}
},
"collectionPlaylistCreated": "Playlist created",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Playlist name",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3365,19 +3167,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Playlist deleted",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Playlist renamed",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3414,15 +3203,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "\"{trackName}\" removed",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3540,18 +3320,6 @@
}
}
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3825,10 +3593,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4065,10 +3829,6 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4183,19 +3943,10 @@
"@audioAnalysisRescan": {
"description": "Tooltip/label for the button that re-runs the audio analysis, discarding cached results"
},
"audioAnalysisRescanning": "Re-analyzing audio...",
"audioAnalysisRescanning": "Re-analyzing audio...",
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Search with {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4225,14 +3976,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4267,34 +4010,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256kbps",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "Baixar",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "Registros",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "Prévia",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} deleted",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "Analisar o volume e gravar etiquetas ReplayGain",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "ID do cliente: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "Sem limites de taxa",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Metadata re-enriched successfully ({successCount}/{total}) - Failed: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "Colar Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "Alternativa de extensão",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "Provedores de extensão são necessários",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "Opções",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "Todos os arquivos na pasta de download",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "Obrigatório - toque para configurar",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "Storage & Cache",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Finalizing library...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "Desenvolvedor da versão móvel",
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "Selecione as faixas para apagar",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "Autor",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "Colar Client Secret",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "Falha ao obter alguns álbuns",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "Tema, cores, exibição",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "Gerenciar provedores de download",
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "Alternativa, metadados, letras, capa do álbum",
"navLibrary": "Biblioteca",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Verification browser",
"extensionDefaultProvider": "Pesquisa padrão",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Provider Options",
"nowPlayingTitle": "Now Playing",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "No download history",
"optionsTitle": "Opções",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "Limpar",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Playlist deleted",
"metadataMayRateLimit": "Pode ter limites de taxa",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Album (Z-A)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "Credenciais salvas",
"cacheCleanupResult": "Cleanup completed: {downloadCount} orphaned downloads, {libraryCount} missing library entries",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "Usar a pesquisa padrão de metadados",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "Carregar Letras",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "Todas as faixas selecionadas",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 album} other{{count} albums}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "por {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Extend the app's capabilities with community extensions.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "Por playlist",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 track} other{{count} tracks}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Playlist name",
"extensionVerificationCopyLink": "Copy link",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "A busca do Spotify será descontinuada em 3 de março de 2026 devido a mudanças na API do Spotify. Por favor, mude para o Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "ID do cliente",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "e.g. https://github.com/usuario/repositorio-extensao",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Storage Update Required",
"snackbarMetadataSaved": "Metadata saved successfully",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} in {count} files",
"actionRemoveCredentials": "Remover Credenciais",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "No shareable files found",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Not configured",
"queueRetryAllFailed": "Retry {count} failed",
"folderOrganizationByPlaylistSubtitle": "Pasta separada para cada playlist",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "Arraste para reordenar provedores de metadados. O aplicativo tentará provedores de cima para baixo ao procurar por faixas e buscar metadados.",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"setupIcloudNotSupported": "O iCloud Drive não é compatível. Use a pasta Documentos do aplicativo.",
"trackLyricsEmbeddedSource": "Embedded",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Fields to update",
"aboutFeatureRequest": "Solicitação de recurso",
"downloadSingleFilenameFormatDescription": "Padrão de nome de arquivo para Singles e EPs. Utiliza as mesmas tags do formato de álbum.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "Prioridade do provedor de metadados salva",
"setupPermissionRequired": "Permissão {permissionType} Necessária",
"backupRestoring": "Restoring backup...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Credenciais do Spotify",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "Enable Local Library",
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"trackConvertTargetFormat": "Target Format",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choose backup file",
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
"credentialsTitle": "Credenciais do Spotify",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Download Complete",
"snackbarAlreadyDownloaded": "\"{trackName}\" já foi baixada",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "Pasta separada para cada álbum",
"storeRepoUrlHint": "https://github.com/usuario/repositorio",
"trackConvertDitherTriangularHp": "Triangular HP",
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "Incorporar e salvar arquivo .lrc",
"trackReEnrichFieldExtra": "Genre, Label, Copyright",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Offline",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "Escolha o provedor de pesquisa padrão para retornar após sair de uma extensão",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "No cover art source available",
"libraryFilterMetadata": "Metadata",
"albumFolderArtistYearAlbum": "Artista / [Ano] Álbum",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "No playlists yet",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "A qualidade real depende da faixa que estiver disponível no serviço",
"downloadFilenameDescription": "Use {artist}, {title}, {album}, {track}, {year}, {date}, {disc} as placeholders.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
"cacheTrackLookup": "Track lookup cache",
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "Legado",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Playlist renamed",
"collectionCreatePlaylist": "Create playlist",
"homeGoToAlbum": "Go to Album",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "Usar Provedores de Extensão",
"cacheCleanupUnusedSubtitle": "Remove orphaned download history and missing library entries",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "Salvar Credenciais",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "Analisar o volume e gravar etiquetas ReplayGain em {count} faixa(s)?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Folder named after Album Artist tag",
"optionsSpotifyWarning": "O Spotify requer as suas próprias credenciais de API. Consiga gratuitamente em developer.spotify.com",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "Todas as faixas selecionadas",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "App Folder (Recommended)",
"collectionPlaylistCreated": "Playlist created",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"actionPaste": "Paste",
"extensionSettingsCount": "{count} {count, plural, =1{setting} other{settings}}",
"downloadNativeWorker": "Native download worker",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "Conceder Permissão",
"lyricsProvidersDescription": "Enable, disable and reorder lyrics sources. Providers are tried top-to-bottom until lyrics are found.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "{count} dias atrás",
"extensionsHomeFeedDescription": "Choose which extension provides the home feed on the main screen",
"downloadLossyMp3Subtitle": "Best compatibility, ~10MB per track",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Service degraded",
"optionsUseExtensionProvidersOn": "Provedores de extensão estão habilitados",
"selectionConvertNoConvertible": "No convertible tracks selected",
"snackbarCredentialsCleared": "Credenciais limpas",
"setupStorageGranted": "Permissão de Armazenamento Concedida!",
"downloadAllowLocalNetwork": "Allow Local Network Access",
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"nowPlayingNoLyrics": "No lyrics in this file",
"selectionDeleteTracksCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
"downloadFallbackExtensionsSubtitle": "Choose which extensions can be used as fallback",
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"storeExtensionsCount": "{count} {count, plural, =1{extension} other{extensions}}",
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"collectionRemoved": "\"{trackName}\" removed",
"setupStorageAccessMessageAndroid11": "O Android 11+ requer a permissão \"Acesso a Todos os Arquivos\" para salvar arquivos na pasta de download escolhida.",
"notifDownloadsFinished": "Downloads Finished ({completed} done, {failed} failed)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} files • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Shuffle",
"backupCreated": "Backup created",
"downloadLossyAacSubtitle": "Best mobile compatibility, M4A container",
"snackbarFillAllFields": "Por favor, preencha todos os campos",
"actionCreate": "Create",
"snackbarAddedToQueueGeneric": "Added to queue",
"downloadedAlbumDownloadedCount": "{count} baixado(s)",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "Não é possível carregar {item}: faltando a fonte da extensão",
"albumFolderAlbumOnlySubtitle": "Albums/Nome do Álbum/",
"errorLoadPlaylist": "Failed to load playlist",
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
"extensionVerificationHelpTitleManual": "Open verification manually",
"dialogDiscard": "Descartar",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "Selecionar Qualidade",
"dialogDownloadPlaylistsMessage": "Download {trackCount} {trackCount, plural, =1{track} other{tracks}} from {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}}?",
"collectionFoldersTitle": "My folders",
"credentialsClientSecret": "Segredo do cliente",
"progressFetchingMetadata": "Buscando metadados... {current}/{total}",
"settingsDownloadNetworkAny": "WiFi + Mobile Data",
"audioAnalysisDuration": "Duration",
"audioAnalysisAnalyzing": "Analyzing audio...",
"credentialsDescription": "Digite a sua Client ID e Secret para usar a sua própria cota de aplicativo do Spotify.",
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"editMetadataFieldDiscNum": "Disc #",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Full Album Artist string used",
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"albumFolderArtistAlbumSinglesSubtitle": "Artista/Álbum/ e Artista/Singles/",
"collectionDeletePlaylistsMessage": "Delete {count} {count, plural, =1{playlist} other{playlists}}?",
"lyricsProvidersSaved": "Lyrics provider priority saved",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "Lossy",
"actionPause": "Pausar",
"csvImportTracks": "{count} faixas do CSV",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Go",
"sectionDebug": "Depuração",
"editMetadataFieldDate": "Date",
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
"sectionPerformance": "Desempenho",
"extensionsSearchWith": "Search with {providerName}",
"extensionsDownloadPrioritySubtitle": "Definir ordem do serviço de download",
"cacheAppDirectoryDesc": "HTTP responses, WebView data, and other temporary app data.",
"sectionData": "Dados",
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256 кбит/с",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "Скачивание",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Плейлисты",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "Логи",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "Предварительный",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} deleted",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Конвертация {current} из {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "Без ограничений по скорости",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Metadata re-enriched successfully ({successCount}/{total}) - Failed: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Не удалось загрузить альбом",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "Вставьте Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "Резервное расширение",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "Опции",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "Все файлы в папке загрузок",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "Необходимо - нажмите для настройки",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "Хранилище и кэш",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Завершение работы с библиотекой...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "Разработчик мобильной версии",
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "Скачать",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "Выберите треки для удаления",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "Автор",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "Вставьте Client Secret",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Скачано",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "Не удалось получить некоторые альбомы",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Получить и сохранить текст песни в формате .lrc",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "Удалить \"{playlistName}\" и все треки внутри него?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "Тема, цвета, дисплей",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Треки",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "Управление провайдерами скачивания",
"sortAlphaAsc": "А-Я",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "Fallback, metadata, lyrics, cover art",
"navLibrary": "Библиотека",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Verification browser",
"extensionDefaultProvider": "Default Search",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Provider Options",
"nowPlayingTitle": "Now Playing",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "Нет истории скачиваний",
"optionsTitle": "Опции",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "Очистить",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Включите, если вы сталкиваетесь с ошибками записи при сохранении в пользовательские папки. Android 13+ по умолчанию ограничивает доступ к определенным папкам.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Плейлист удалён",
"metadataMayRateLimit": "Есть ограничения по скорости",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"collectionNoPlaylistsSubtitle": "Создайте плейлист, чтобы начать классифицировать треки",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Альбом (Я-А)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "Учётные данные сохранены",
"cacheCleanupResult": "Очистка завершена: {downloadCount} потерянных загрузок, {libraryCount} отсутствующих записей в библиотеке",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Сканирование библиотеки",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "Загрузить текст песни",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "Все треки выбраны",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 album} other{{count} albums}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "от {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Расширьте возможности приложения с расширениями от сообщества.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "По плейлисту",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 track} other{{count} tracks}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Прогресс скачивания",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Название плейлиста",
"extensionVerificationCopyLink": "Copy link",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "Поиск Spotify устареет 3 марта 2026 года из-за изменений Spotify API. Пожалуйста, перейдите на Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "Client ID",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "например, https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Storage Update Required",
"snackbarMetadataSaved": "Метаданные успешно сохранены",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} в {count} файлах",
"actionRemoveCredentials": "Удалить учётные данные",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "Файлы, доступные для совместного доступа, не найдены",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Альбомы",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Not configured",
"queueRetryAllFailed": "Retry {count} failed",
"folderOrganizationByPlaylistSubtitle": "Отдельная папка для каждого плейлиста",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "Перетаскивайте, чтобы изменить порядок провайдеров метаданных. Приложение будет пробовать провайдеров сверху вниз при поиске треков и извлечении метаданных.",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"setupIcloudNotSupported": "iCloud Drive не поддерживается. Пожалуйста, используйте папку Документы.",
"trackLyricsEmbeddedSource": "Embedded",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Поля для обновления",
"aboutFeatureRequest": "Предложить новую функцию",
"downloadSingleFilenameFormatDescription": "Формат имени файла для синглов и EP. Используются те же теги, что и для альбомов.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "Приоритет провайдера метаданных сохранён",
"setupPermissionRequired": "Требуется разрешение {permissionType}",
"backupRestoring": "Restoring backup...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Учётные данные Spotify",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "Включить локальную библиотеку",
"queueFlacFindingProgress": "Поиск совпадений FLAC... ({current}/{total})",
"trackConvertTargetFormat": "Целевой формат",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choose backup file",
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
"credentialsTitle": "Учётные данные Spotify",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Скачивание завершено",
"snackbarAlreadyDownloaded": "\"{trackName}\" уже скачан",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "Отдельная папка для каждого альбома",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "Triangular HP",
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "Вписать и сохранить .lrc файл",
"trackReEnrichFieldExtra": "Жанр, Название, Авторские права",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Offline",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "Нет доступных источников обложки",
"libraryFilterMetadata": "Метаданные",
"albumFolderArtistYearAlbum": "Исполнитель / [Год] Альбом",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "Разделить файл CUE+FLAC на отдельные треки",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "Плейлисты отсутствуют",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Не удалось загрузить исполнителя",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "Фактическое качество зависит от доступности треков в сервисе",
"downloadFilenameDescription": "Use {artist}, {title}, {album}, {track}, {year}, {date}, {disc} as placeholders.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Я-А",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
"cacheTrackLookup": "Отслеживать кэш поиска",
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Плейлист переименован",
"collectionCreatePlaylist": "Создать плейлист",
"homeGoToAlbum": "Перейти к альбому",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "Использовать провайдера расширений",
"cacheCleanupUnusedSubtitle": "Удалить историю загрузок, оставшихся без просмотра, и отсутствующие записи в библиотеке",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "Сохранить учётные данные",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "Analyze loudness and write ReplayGain tags to {count} track(s)?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Папка названная в честь тега Альбома Артиста",
"optionsSpotifyWarning": "Spotify требует ваши собственные учетные данные API. Получите их бесплатно на сайте developer.spotify.com",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "Все треки выбраны",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "App Folder (Recommended)",
"collectionPlaylistCreated": "Плейлист создан",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Сохранить обложку как файл .jpg",
"actionPaste": "Paste",
"extensionSettingsCount": "{count} {count, plural, =1{setting} other{settings}}",
"downloadNativeWorker": "Native download worker",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "Предоставить разрешение",
"lyricsProvidersDescription": "Включайте, выключайте, переупорядочивайте источники текстов. Поставщики связаны сверху вниз пока проводится поиск текста.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "{count} дней назад",
"extensionsHomeFeedDescription": "Choose which extension provides the home feed on the main screen",
"downloadLossyMp3Subtitle": "Наилучшая совместимость, ~10 Мб на трек",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Service degraded",
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"selectionConvertNoConvertible": "Не выбраны конвертируемые треки",
"snackbarCredentialsCleared": "Учётные данные очищены",
"setupStorageGranted": "Доступ к хранилищу предоставлен!",
"downloadAllowLocalNetwork": "Allow Local Network Access",
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"nowPlayingNoLyrics": "No lyrics in this file",
"selectionDeleteTracksCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
"downloadFallbackExtensionsSubtitle": "Choose which extensions can be used as fallback",
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"storeExtensionsCount": "{count} {count, plural, =1{extension} other{extensions}}",
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"collectionRemoved": "\"{trackName}\" удалён",
"setupStorageAccessMessageAndroid11": "Для Android 11+ требуется разрешение \"Доступ ко всем файлам\" для сохранения файлов в выбранную вами папку загрузки.",
"notifDownloadsFinished": "Загрузка завершена ({completed} завершено, {failed} не удалось)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} files • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Shuffle",
"backupCreated": "Backup created",
"downloadLossyAacSubtitle": "Best mobile compatibility, M4A container",
"snackbarFillAllFields": "Пожалуйста, заполните все поля",
"actionCreate": "Создать",
"snackbarAddedToQueueGeneric": "Added to queue",
"downloadedAlbumDownloadedCount": "{count} скачано",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "Невозможно загрузить {item}: отсутствует источник расширения",
"albumFolderAlbumOnlySubtitle": "Альбомы/Название Альбома/",
"errorLoadPlaylist": "Не удалось загрузить плейлист",
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
"extensionVerificationHelpTitleManual": "Open verification manually",
"dialogDiscard": "Отменить",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "Выбор качества",
"dialogDownloadPlaylistsMessage": "Download {trackCount} {trackCount, plural, =1{track} other{tracks}} from {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}}?",
"collectionFoldersTitle": "Мои папки",
"credentialsClientSecret": "Секретный код клиента",
"progressFetchingMetadata": "Получение метаданных... {current}/{total}",
"settingsDownloadNetworkAny": "WiFi и Мобильная сеть",
"audioAnalysisDuration": "Продолжительность",
"audioAnalysisAnalyzing": "Analyzing audio...",
"credentialsDescription": "Введите свой Client ID и Secret, чтобы использовать собственные квоты в Spotify.",
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"editMetadataFieldDiscNum": "Диск #",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Full Album Artist string used",
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"albumFolderArtistAlbumSinglesSubtitle": "Исполнитель/Альбом и Исполнитель/Сингл/",
"collectionDeletePlaylistsMessage": "Delete {count} {count, plural, =1{playlist} other{playlists}}?",
"lyricsProvidersSaved": "Lyrics provider priority saved",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "С потерями",
"actionPause": "Пауза",
"csvImportTracks": "{count} трек(-ов) из CSV",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Go",
"sectionDebug": "Отладка",
"editMetadataFieldDate": "Дата",
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
"sectionPerformance": "Производительность",
"extensionsSearchWith": "Искать с помощью {providerName}",
"extensionsDownloadPrioritySubtitle": "Установка порядок сервисов скачивания",
"cacheAppDirectoryDesc": "HTTP-ответы, данные WebView и другие временные данные приложения.",
"sectionData": "Данные",
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256kbps",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "İndir",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Çalma listeleri",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "Kayıtlar",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "Önizleme",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} deleted",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "Müşteri Kimliği: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "İstek sınırı yok",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Metadata re-enriched successfully ({successCount}/{total}) - Failed: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "Client ID yapıştır",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "Uzantı Yedeği",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "Seçenekler",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "Her şey indirilen dosyasına kaydedilecek",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "Zorunlu - değiştirmek için tıkla",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "Depolama & Önbellek",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Kütüphane sonlandırılıyor...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "Mobil versiyon geliştiricisi",
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "İndirme",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "Silinecek parçaları seçin",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "Oluşturan",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "Client Secret yapıştır",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "Bazı albümler getirilemedi",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "\"{playlistName}\" ve içindeki tüm parçaları silmek mi istiyorsunuz?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "Tema, renkler, görünüm",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "İndirme sağlayıcılarını yönet",
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "Yedek plan, meta veriler, şarkı sözleri, kapak resmi",
"navLibrary": "Kitaplığın",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Verification browser",
"extensionDefaultProvider": "Default Search",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Provider Options",
"nowPlayingTitle": "Now Playing",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "No download history",
"optionsTitle": "Seçenekler",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "Temizle",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Özel klasörlere kaydederken yazma hatalarıyla karşılaşırsanız bunu etkinleştirin. Android 13 ve üzeri, varsayılan olarak belirli dizinlere erişimi kısıtlar.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Playlist deleted",
"metadataMayRateLimit": "Hız sınırlaması uygulanabilir",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"collectionNoPlaylistsSubtitle": "Parçaları kategorize etmeye başlamak için bir çalma listesi oluşturun",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Albüm (Z-A)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "Kimlik bilgileri kaydedildi",
"cacheCleanupResult": "Cleanup completed: {downloadCount} orphaned downloads, {libraryCount} missing library entries",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "Şarkı Sözlerini Yükle",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "Tüm parçalar seçildi",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 album} other{{count} albums}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "{author} tarafından",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Topluluk uzantılarıyla uygulamanın yeteneklerini artırın.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "Çalma Listesine Göre",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 track} other{{count} tracks}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Playlist name",
"extensionVerificationCopyLink": "Copy link",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "Spotify API değişiklikleri nedeniyle Spotify araması 3 Mart 2026 tarihinde kullanımdan kaldırılacaktır. Lütfen Deezer'a geçiş yapın.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "Müşteri Kimliği",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "örn. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Storage Update Required",
"snackbarMetadataSaved": "Meta veriler başarıyla kaydedildi",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} in {count} files",
"actionRemoveCredentials": "Özellikleri kaldır",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "No shareable files found",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Albümler",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Not configured",
"queueRetryAllFailed": "Retry {count} failed",
"folderOrganizationByPlaylistSubtitle": "Her çalma listesi için ayrı klasör",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "Meta veri sağlayıcılarını yeniden sıralamak için sürükleyin. Uygulama, parça ararken ve meta verileri alırken sağlayıcıları yukarıdan aşağıya doğru deneyecektir.",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"setupIcloudNotSupported": "iCloud Drive desteklenmiyor. Lütfen uygulama Belgeler klasörünü kullanın.",
"trackLyricsEmbeddedSource": "Embedded",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Fields to update",
"aboutFeatureRequest": "Özellik isteği",
"downloadSingleFilenameFormatDescription": "Single ve EP'ler için dosya adı örneği. Albüm formatıyla aynı etiketleri kullanır.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "Meta veri sağlayıcı önceliği kaydedildi",
"setupPermissionRequired": "{permissionType} İzni Zorunlu",
"backupRestoring": "Restoring backup...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Spotify Kimlik Bilgileri",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "Yerel Kitaplığı Etkinleştir",
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"trackConvertTargetFormat": "Target Format",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choose backup file",
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
"credentialsTitle": "Spotify Kimlik Bilgileri",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Download Complete",
"snackbarAlreadyDownloaded": "\"{trackName}\" zaten indirilmiş",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "Her albüm için ayrı klasör",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "Triangular HP",
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "Hem göm hem de .lrc dosyası olarak kaydet",
"trackReEnrichFieldExtra": "Genre, Label, Copyright",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Çevrimdışı",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "No cover art source available",
"libraryFilterMetadata": "Meta veriler",
"albumFolderArtistYearAlbum": "Sanatçı / [Yıl] Albüm",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "CUE+FLAC dosyalarını ayrı parçalara bölün",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "Henüz çalma listesi yok",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "Gerçek kalite, parçanın servisteki uygunluğuna bağlıdır",
"downloadFilenameDescription": "Yer tutucu olarak {artist}, {title}, {album}, {track}, {year}, {date}, {disc} ifadelerini kullanın.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
"cacheTrackLookup": "İzleme arama önbelleği",
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Çalma listesinin adı değiştirildi",
"collectionCreatePlaylist": "Çalma listesi oluştur",
"homeGoToAlbum": "Albüme Git",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "Eklenti sağlayıcılarını kullan",
"cacheCleanupUnusedSubtitle": "Remove orphaned download history and missing library entries",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "Özellikleri kaydet",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "Analyze loudness and write ReplayGain tags to {count} track(s)?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Folder named after Album Artist tag",
"optionsSpotifyWarning": "Spotify'ın senin API kimlik bilgilerine ihtiyacı var. Onları developer.spotify.com'dan alabilirsin",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "Tüm parçalar seçildi",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "Uygulama Klasörü (Önerilir)",
"collectionPlaylistCreated": "Playlist created",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"actionPaste": "Yapıştır",
"extensionSettingsCount": "{count} {count, plural, =1{setting} other{settings}}",
"downloadNativeWorker": "Native download worker",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "İzin Ver",
"lyricsProvidersDescription": "Enable, disable and reorder lyrics sources. Providers are tried top-to-bottom until lyrics are found.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "{count} gün önce",
"extensionsHomeFeedDescription": "Choose which extension provides the home feed on the main screen",
"downloadLossyMp3Subtitle": "En iyi uyumluluk, parça başına ~10 Mb",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Service degraded",
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"selectionConvertNoConvertible": "No convertible tracks selected",
"snackbarCredentialsCleared": "Kimlik bilgileri temizlendi",
"setupStorageGranted": "Depolama İzni Verildi!",
"downloadAllowLocalNetwork": "Allow Local Network Access",
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"nowPlayingNoLyrics": "No lyrics in this file",
"selectionDeleteTracksCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
"downloadFallbackExtensionsSubtitle": "Choose which extensions can be used as fallback",
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"storeExtensionsCount": "{count} {count, plural, =1{extension} other{extensions}}",
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"collectionRemoved": "\"{trackName}\" removed",
"setupStorageAccessMessageAndroid11": "Android 11 ve sonrasında şarkıların seçili klasörünüze kaydedilebilmesi için \"Bütün dosyalara eriş\" iznine ihtiyaç var.",
"notifDownloadsFinished": "Downloads Finished ({completed} done, {failed} failed)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} files • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Shuffle",
"backupCreated": "Backup created",
"downloadLossyAacSubtitle": "En iyi mobil uyumluluk, M4A konteyner",
"snackbarFillAllFields": "Lütfen tüm alanları doldurun",
"actionCreate": "Oluştur",
"snackbarAddedToQueueGeneric": "Added to queue",
"downloadedAlbumDownloadedCount": "{count} downloaded",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "{item} yüklenemedi: Eksik eklenti kaynağı",
"albumFolderAlbumOnlySubtitle": "Albümler/Albüm Adı/",
"errorLoadPlaylist": "Failed to load playlist",
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
"extensionVerificationHelpTitleManual": "Open verification manually",
"dialogDiscard": "Vazgeç",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "Kalite seçin",
"dialogDownloadPlaylistsMessage": "Download {trackCount} {trackCount, plural, =1{track} other{tracks}} from {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}}?",
"collectionFoldersTitle": "Klasörlerim",
"credentialsClientSecret": "Müşteri Sırrı",
"progressFetchingMetadata": "Meta verileri alınıyor... {current}/{total}",
"settingsDownloadNetworkAny": "WiFi + Mobil Veri",
"audioAnalysisDuration": "Duration",
"audioAnalysisAnalyzing": "Analyzing audio...",
"credentialsDescription": "Kendi Spotify uygulama kotanızı kullanmak için Client ID ve Secret girin.",
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"editMetadataFieldDiscNum": "Disc #",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Full Album Artist string used",
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"albumFolderArtistAlbumSinglesSubtitle": "Sanatçı/Albüm/ ve Sanatçı/Singlelar/",
"collectionDeletePlaylistsMessage": "Delete {count} {count, plural, =1{playlist} other{playlists}}?",
"lyricsProvidersSaved": "Lyrics provider priority saved",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "Kayıplı",
"actionPause": "Duraklat",
"csvImportTracks": "CSV'den {count} şarkı",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Go",
"sectionDebug": "Hata ayıklama",
"editMetadataFieldDate": "Date",
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
"sectionPerformance": "Performans",
"extensionsSearchWith": "Search with {providerName}",
"extensionsDownloadPrioritySubtitle": "İndirme servisi sırasını ayarla",
"cacheAppDirectoryDesc": "HTTP yanıtları, WebView verileri ve diğer geçici uygulama verileri.",
"sectionData": "Veri",
-321
View File
@@ -128,9 +128,6 @@
"@downloadAppleElrcWordSyncEnabled": {
"description": "Subtitle when Apple Music eLRC word sync is enabled"
},
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"@nowPlayingDetails": {
"description": "Menu item and section title for track metadata details"
},
@@ -270,9 +267,6 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"@downloadLossyAac": {
"description": "Lossy format option - AAC in M4A container at 320kbps"
},
@@ -305,9 +299,6 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"downloadLossyOpus256": "Opus 256 кбіт/с",
"@downloadLossyOpus256": {
"description": "Lossy format option - Opus 256kbps"
@@ -466,10 +457,6 @@
"@setupGrantPermission": {
"description": "Button to request permission"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"storeFilterDownload": "Завантажити",
"@storeFilterDownload": {
"description": "Store filter - download providers"
@@ -550,21 +537,12 @@
"@downloadAppleElrcWordSync": {
"description": "Setting for preserving Apple Music word-by-word eLRC timestamps"
},
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"@extensionsNoCustomSearch": {
"description": "Empty state - no search providers"
},
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"@tutorialWelcomeDesc": {
"description": "Tutorial welcome page description"
},
@@ -797,10 +775,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"collectionPlaylists": "Списки відтворення",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"logTitle": "Журнали",
"@logTitle": {
"description": "Logs screen title"
@@ -823,16 +797,10 @@
"@aboutLogoArtist": {
"description": "Role description for logo artist"
},
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"channelPreview": "Бета",
"@channelPreview": {
"description": "Update channel - beta/preview releases"
},
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"collectionPlaylistsDeleted": "{count} {count, plural, =1{playlist} other{playlists}} deleted",
"@collectionPlaylistsDeleted": {
"description": "Snackbar after deleting selected playlists",
@@ -842,7 +810,6 @@
}
}
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
@@ -882,21 +849,6 @@
"@homeChangeSearchProviderTooltip": {
"description": "Tooltip for the Home search provider picker"
},
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"selectionBatchConvertProgress": "Конвертування {current} з {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"@sectionLyricsProviderOptions": {
"description": "Settings section header for per-provider lyrics options"
},
@@ -918,18 +870,6 @@
"@previewUnavailable": {
"description": "Snackbar shown when a track preview snippet cannot be played"
},
"optionsSpotifyCredentialsConfigured": "Ідентифікатор клієнта: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"nowPlayingTabPlayer": "Player",
"@nowPlayingTabPlayer": {
"description": "Tab label for the player view"
@@ -1029,10 +969,6 @@
"@cacheTrackLookupDesc": {
"description": "Description of what track lookup cache contains"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"@unknownAlbum": {
"description": "Fallback album name when metadata is missing"
},
@@ -1053,9 +989,6 @@
"@downloadUseAlbumArtistForFoldersAlbumSubtitle": {
"description": "Subtitle when album artist is used for folder names"
},
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"@qualityFlacLossless": {
"description": "Quality option - CD quality FLAC"
},
@@ -1084,10 +1017,6 @@
"@tutorialSearchTitle": {
"description": "Tutorial search page title"
},
"metadataNoRateLimits": "Без обмежень щодо швидкості",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"trackReEnrichSuccessWithFailures": "Metadata re-enriched successfully ({successCount}/{total}) - Failed: {failedCount}",
"@a11yTrackByArtist": {
"description": "Accessibility label for a queue or list track item",
@@ -1121,10 +1050,6 @@
"@aboutTelegramChat": {
"description": "Link to Telegram chat group"
},
"errorLoadAlbum": "Не вдалося завантажити альбом",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"@trackCopiedToClipboard": {
"description": "Snackbar - content copied"
},
@@ -1143,10 +1068,6 @@
"@downloadAllowLocalNetwork": {
"description": "Setting title for allowing requests to private/local network targets"
},
"credentialsClientIdHint": "Вставити ідентифікатор клієнта",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"@openInOtherServices": {
"description": "Title and tooltip for finding the current collection in other services"
},
@@ -1195,16 +1116,10 @@
"@lyricsModeEmbedSubtitle": {
"description": "Subtitle for embed option"
},
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"optionsReplayGain": "Нормалізація звуку",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
},
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"@storeLoadError": {
"description": "Error heading when the store cannot be loaded"
},
@@ -1450,10 +1365,6 @@
"@lyricsProviderLyricsPlusDesc": {
"description": "Description for LyricsPlus provider"
},
"providerPriorityFallbackExtensionsTitle": "Резервне розширення",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"@libraryFilterDownloaded": {
"description": "Filter chip - show only downloaded items"
},
@@ -1542,10 +1453,6 @@
"@discographyNoAlbums": {
"description": "Error - no albums found for artist"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"@updateLater": {
"description": "Update button - dismiss"
},
@@ -1597,10 +1504,6 @@
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"settingsOptions": "Опції",
"@settingsOptions": {
"description": "Settings section - app options"
},
"@downloadDeduplication": {
"description": "Setting - skip tracks already in download history"
},
@@ -1712,17 +1615,6 @@
"@selectionSelectToDelete": {
"description": "Placeholder when nothing selected"
},
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"folderOrganizationNoneSubtitle": "Усі файли в папці завантажень",
"@folderOrganizationNoneSubtitle": {
"description": "Subtitle for no organization option"
@@ -1821,10 +1713,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentialsRequired": "Обов'язковий – торкніться, щоб налаштувати",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"@setupStorageDescription": {
"description": "Explanation for storage permission"
},
@@ -1870,9 +1758,6 @@
"description": "Album folder option with year"
},
"cacheTitle": "Зберігання та кеш",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"@extensionPostProcessing": {
"description": "Capability - post-download processing"
},
@@ -1906,9 +1791,6 @@
"@qualityFlacLosslessSubtitle": {
"description": "Technical spec for lossless"
},
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"libraryScanFinalizing": "Завершення роботи з бібліотекою...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
@@ -1938,10 +1820,6 @@
"description": "Settings menu item - file and folder settings"
},
"aboutMobileDeveloper": "Розробник мобільної версії",
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"@trackDownloaded": {
"description": "Metadata label - download date"
},
@@ -1961,9 +1839,6 @@
"@trackCoverOnline": {
"description": "Label shown when metadata autofill downloaded cover art from the internet"
},
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"downloadTitle": "Завантажити",
"@downloadTitle": {
"description": "Download settings page title"
@@ -2079,9 +1954,6 @@
"@extensionPermissions": {
"description": "Section header - required permissions"
},
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"selectionSelectToDelete": "Виберіть треки для видалення",
"@libraryExternalPlayerSubtitle": {
"description": "Subtitle for external player option"
@@ -2155,10 +2027,6 @@
}
}
},
"extensionAuthor": "Автор",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"@downloadLossy320FormatDesc": {
"description": "Description in the lossy format picker"
},
@@ -2201,7 +2069,6 @@
"@downloadPrimaryArtistOnlyOff": {
"description": "Status label when primary-artist-only folder naming is disabled"
},
"credentialsClientSecretHint": "Вставити секретний код клієнта",
"@trackReEnrichFieldTrackInfo": {
"description": "Checkbox label for track info in re-enrich"
},
@@ -2235,10 +2102,6 @@
"@libraryClear": {
"description": "Button to clear all library entries"
},
"queueDownloadedHeader": "Завантажено",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"discographyFailedToFetch": "Не вдалося отримати деякі альбоми",
"@filenameShowAdvancedTagsDescription": {
"description": "Description for advanced filename tag toggle"
@@ -2372,7 +2235,6 @@
"@extensionCapabilities": {
"description": "Section header - extension features"
},
"trackSaveLyricsSubtitle": "Отримати та зберегти текст пісні у форматі .lrc",
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
@@ -2420,15 +2282,6 @@
"@appearanceTitle": {
"description": "Appearance settings page title"
},
"collectionDeletePlaylistMessage": "Видалити \"{playlistName}\" та всі треки в ньому?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"@backupExportSectionDescription": {
"description": "Description of what a backup contains"
},
@@ -2615,9 +2468,6 @@
"@setupNotificationEnable": {
"description": "Button to enable notifications"
},
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"settingsAppearanceSubtitle": "Тема, кольори, дисплей",
"@settingsAppearanceSubtitle": {
"description": "Appearance settings description"
@@ -2802,10 +2652,6 @@
"@dateYesterday": {
"description": "Relative date - yesterday"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
},
@@ -2873,10 +2719,6 @@
"description": "Label for new version"
},
"settingsExtensionsSubtitle": "Керування постачальниками послуг завантаження",
"sortAlphaAsc": "А-Я",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"@albumFolderArtistAlbumSinglesSubtitle": {
"description": "Folder structure example"
},
@@ -3007,9 +2849,6 @@
"@tutorialSettingsTip3": {
"description": "Tutorial settings tip 3"
},
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"@announcementUnableToOpenLink": {
"description": "Snackbar shown when an announcement CTA link cannot be opened"
},
@@ -3192,7 +3031,6 @@
"@unknownTitle": {
"description": "Fallback track title when metadata is missing"
},
"settingsOptionsSubtitle": "Fallback, metadata, lyrics, cover art",
"navLibrary": "Бібліотека",
"@navLibrary": {
"description": "Bottom navigation - Library tab"
@@ -3350,7 +3188,6 @@
"description": "Section header for all artist releases"
},
"extensionVerificationBrowserTitle": "Verification browser",
"extensionDefaultProvider": "Default Search",
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
@@ -3366,9 +3203,6 @@
"@setupDownloadLocationIosMessage": {
"description": "iOS-specific folder info"
},
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"trackConvertOriginal": "Original",
"sectionLyricsProviderOptions": "Provider Options",
"nowPlayingTitle": "Now Playing",
@@ -3394,18 +3228,10 @@
"description": "Info tip on lyrics provider priority page"
},
"queueEmptyHistory": "Немає історії завантажень",
"optionsTitle": "Опції",
"@optionsTitle": {
"description": "Options settings page title"
},
"dialogClear": "Очистити",
"@dialogClear": {
"description": "Dialog button - clear items"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"allFilesAccessDescription": "Увімкніть цю опцію, якщо під час збереження у власні папки виникають помилки запису. Android 13+ за замовчуванням обмежує доступ до певних каталогів.",
"@allFilesAccessDescription": {
"description": "Description explaining when to enable all files access"
@@ -3415,11 +3241,6 @@
"@storeCategoryLyrics": {
"description": "Store extension category - lyrics"
},
"collectionPlaylistDeleted": "Список відтворення видалено",
"metadataMayRateLimit": "Травневе обмеження ставок",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
@@ -3461,10 +3282,6 @@
}
},
"announcementUnableToOpenLink": "Unable to open link. Please try again.",
"collectionNoPlaylistsSubtitle": "Створіть список відтворення, щоб розпочати категоризацію треків",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"libraryFilterSortAlbumDesc": "Альбом (Я-А)",
"@libraryFilterSortAlbumDesc": {
"description": "Sort option - album descending"
@@ -3597,7 +3414,6 @@
"@extensionsHomeFeedOffSubtitle": {
"description": "Extensions page - subtitle for off home feed option"
},
"snackbarCredentialsSaved": "Облікові дані збережено",
"cacheCleanupResult": "Очищення завершено: {downloadCount} утрачених завантажень, {libraryCount} відсутніх записів бібліотеки",
"@cacheCleanupResult": {
"description": "Snackbar after unused data cleanup",
@@ -3672,10 +3488,6 @@
"@optionsDetailedLoggingOn": {
"description": "Status when logging enabled"
},
"notifChannelLibraryScanName": "Сканування бібліотеки",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"settingsSaveDownloadHistory": "Save download history",
"@settingsSaveDownloadHistory": {
"description": "Settings switch title for storing completed downloads in history"
@@ -3709,10 +3521,6 @@
"@lyricsModeExternalSubtitle": {
"description": "Subtitle for external option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"trackLoadLyrics": "Завантажити текст пісні",
"@trackLoadLyrics": {
"description": "Action - fetch lyrics"
@@ -3744,10 +3552,6 @@
"@libraryTitle": {
"description": "Library settings page title"
},
"downloadedAlbumAllSelected": "Усі треки вибрано",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"queueAlbumCount": "{count, plural, =1{1 альбом} other{{count} альбомів}}",
"@queueAlbumCount": {
"description": "Album count label with plural support",
@@ -3765,15 +3569,6 @@
"@dialogClearAll": {
"description": "Dialog title - clear all items"
},
"extensionsAuthor": "від {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"tutorialExtensionsDesc": "Розширте можливості програми за допомогою розширень спільноти.",
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
@@ -3787,9 +3582,6 @@
"description": "Tutorial library page title"
},
"folderOrganizationByPlaylist": "За списком відтворення",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"queueTrackCount": "{count, plural, =1{1 трек} other{{count} треків}}",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
@@ -3868,16 +3660,9 @@
}
}
},
"@qualityNote": {
"description": "Note about quality availability"
},
"@extensionDetailsTags": {
"description": "Section title for extension tags"
},
"notifChannelDownloadName": "Прогрес завантаження",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"@albumFolderAlbumOnlySubtitle": {
"description": "Folder structure example"
},
@@ -4004,9 +3789,6 @@
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"collectionPlaylistNameHint": "Назва списку відтворення",
"extensionVerificationCopyLink": "Copy link",
"@replayGainBatchAnalyzing": {
@@ -4024,10 +3806,6 @@
"@queueDownloadedFileMissing": {
"description": "Accessibility label when a downloaded file is missing from disk"
},
"optionsSpotifyDeprecationWarning": "Пошук Spotify буде припинено 3 березня 2026 року через зміни в API Spotify. Будь ласка, перейдіть на Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"@lyricsMode": {
"description": "Setting - how to save lyrics"
},
@@ -4062,9 +3840,6 @@
"@downloadNetworkCompatibilityModeEnabled": {
"description": "Subtitle when network compatibility mode is on"
},
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
@@ -4124,7 +3899,6 @@
"@settingsSaveDownloadHistorySubtitle": {
"description": "Settings switch subtitle for storing completed downloads in history"
},
"credentialsClientId": "Ідентифікатор клієнта",
"@albumFolderArtistAlbumFlat": {
"description": "Album folder option with singles directly in artist folder"
},
@@ -4205,10 +3979,6 @@
"@setupNotificationBackgroundDescription": {
"description": "Detailed notification explanation"
},
"storeRepoUrlHelper": "наприклад https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"safMigrationTitle": "Потрібне оновлення сховища",
"snackbarMetadataSaved": "Метадані успішно збережено",
"@snackbarMetadataSaved": {
@@ -4226,10 +3996,6 @@
"description": "Label - download source"
},
"cacheSizeWithFiles": "{size} у {count} файлах",
"actionRemoveCredentials": "Видалити облікові дані",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"selectionShareNoFiles": "Файлів для спільного доступу не знайдено",
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
@@ -4262,7 +4028,6 @@
"@trackTrackName": {
"description": "Metadata label - track title"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@setupPermissionRequired": {
"description": "Generic permission required title",
"placeholders": {
@@ -4294,10 +4059,6 @@
"@sectionDownload": {
"description": "Settings section header"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"extensionHealthNotConfigured": "Not configured",
"queueRetryAllFailed": "Retry {count} failed",
"folderOrganizationByPlaylistSubtitle": "Окрема папка для кожного списку відтворення",
@@ -4341,14 +4102,6 @@
}
}
},
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"metadataProviderPriorityDescription": "Перетягніть, щоб змінити порядок постачальників метаданих. Додаток шукатиме постачальників зверху вниз під час пошуку треків та отримання метаданих.",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
@@ -4384,7 +4137,6 @@
"@appearanceAmoledDarkSubtitle": {
"description": "Subtitle for AMOLED dark"
},
"notifChannelDownloadDesc": "Показує прогрес завантаження треків",
"setupIcloudNotSupported": "iCloud Drive не підтримується. Будь ласка, скористайтеся папкою «Документи» програми.",
"trackLyricsEmbeddedSource": "Embedded",
"@trackLyricsEmbeddedSource": {
@@ -4487,7 +4239,6 @@
"@discographyDownload": {
"description": "Button - download artist discography"
},
"trackReEnrichFieldsTitle": "Поля для оновлення",
"aboutFeatureRequest": "Запит на функцію",
"downloadSingleFilenameFormatDescription": "Шаблон назви файлу для синглів та міні-альбомів. Використовує ті самі теги, що й формат альбому.",
"@downloadSingleFilenameFormatDescription": {
@@ -4593,7 +4344,6 @@
},
"snackbarMetadataProviderSaved": "Пріоритет постачальника метаданих збережено",
"setupPermissionRequired": "{permissionType} Потрібен дозвіл",
"backupRestoring": "Restoring backup...",
"@selectionConvertNoConvertible": {
"description": "Snackbar when no selected tracks support conversion"
},
@@ -4606,10 +4356,6 @@
"@trackLyricsNotInFile": {
"description": "Message when no embedded lyrics in audio file"
},
"optionsSpotifyCredentials": "Облікові дані Spotify",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
@@ -4826,7 +4572,6 @@
"description": "Subtitle for auto scan setting"
},
"libraryEnableLocalLibrary": "Увімкнути локальну бібліотеку",
"queueFlacFindingProgress": "Пошук FLAC-збігів... ({current}/{total})",
"trackConvertTargetFormat": "Цільовий формат",
"@trackConvertTargetFormat": {
"description": "Label for format selection"
@@ -4850,7 +4595,6 @@
},
"backupImportButton": "Choose backup file",
"downloadAppleElrcWordSyncDisabled": "Safer line-by-line Apple Music lyrics",
"credentialsTitle": "Облікові дані Spotify",
"@optionsEmbedMetadata": {
"description": "Settings toggle title for writing metadata into downloaded files"
},
@@ -4884,16 +4628,9 @@
},
"notifDownloadComplete": "Завантаження завершено",
"snackbarAlreadyDownloaded": "\"{trackName}\" вже завантажено",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"folderOrganizationByAlbumSubtitle": "Окрема папка для кожного альбому",
"storeRepoUrlHint": "https://github.com/user/repo",
"trackConvertDitherTriangularHp": "Triangular HP",
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"lyricsModeBothSubtitle": "Вбудувати та зберегти файл .lrc",
"trackReEnrichFieldExtra": "Жанр, Лейбл, Авторське право",
"@trackReEnrichFieldExtra": {
@@ -4948,10 +4685,6 @@
"@trackDuration": {
"description": "Metadata label - track length"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"extensionHealthOffline": "Offline",
"@extensionHealthOffline": {
"description": "Extension service health status - offline"
@@ -4983,7 +4716,6 @@
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -5011,9 +4743,6 @@
"@providerExtension": {
"description": "Label for extension-provided providers"
},
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackCoverNoSource": "Джерело обкладинки недоступне",
"libraryFilterMetadata": "Метадані",
"albumFolderArtistYearAlbum": "Артист / [Рік] Альбом",
@@ -5130,10 +4859,6 @@
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"cueSplitSubtitle": "Розділення CUE+FLAC на окремі треки",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"collectionNoPlaylistsYet": "Поки що немає списків відтворення",
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
@@ -5152,11 +4877,6 @@
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"errorLoadArtist": "Не вдалося завантажити артиста",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"qualityNote": "Фактична якість залежить від наявності треку в сервісі",
"downloadFilenameDescription": "Use {artist}, {title}, {album}, {track}, {year}, {date}, {disc} as placeholders.",
"@downloadFilenameDescription": {
"description": "Description shown in filename format editor"
@@ -5175,10 +4895,6 @@
"@libraryFolderNotExist": {
"description": "Error when folder doesn't exist"
},
"sortAlphaDesc": "Я-А",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"@playlistsCount": {
"description": "Playlist count display",
"placeholders": {
@@ -5267,9 +4983,6 @@
"@settingsCache": {
"description": "Settings menu item - cache management"
},
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"lyricsProvidersInfoText": "Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.",
"cacheTrackLookup": "Відстеження кешу пошуку",
"extensionsHomeFeedOffSubtitle": "Do not show the home feed on the main screen",
@@ -5343,10 +5056,6 @@
"@extensionRemoveButton": {
"description": "Button to uninstall extension"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"collectionPlaylistRenamed": "Список відтворення перейменовано",
"collectionCreatePlaylist": "Створити плейлист",
"homeGoToAlbum": "Перейти до альбому",
@@ -5419,7 +5128,6 @@
"@settingsAutoExportFailed": {
"description": "Setting toggle for auto-export"
},
"optionsUseExtensionProviders": "Використати постачальників розширень",
"cacheCleanupUnusedSubtitle": "Видалити історію утрачених завантажень файлів та відсутні записи бібліотеки",
"@tutorialSettingsTitle": {
"description": "Tutorial settings page title"
@@ -5454,7 +5162,6 @@
"@backupInvalidFile": {
"description": "Snackbar when the chosen file is not a valid backup"
},
"actionSaveCredentials": "Зберегти облікові дані",
"@extensionHooksAvailable": {
"description": "Post-processing hooks count",
"placeholders": {
@@ -5572,7 +5279,6 @@
},
"replayGainBatchConfirmMessage": "Analyze loudness and write ReplayGain tags to {count} track(s)?",
"downloadUseAlbumArtistForFoldersAlbumSubtitle": "Folder named after Album Artist tag",
"optionsSpotifyWarning": "Spotify вимагає ваших власних облікових даних API. Отримайте їх безкоштовно на сайті developer.spotify.com",
"@notifDownloadingUpdate": {
"description": "Notification title while downloading an app update",
"placeholders": {
@@ -5632,9 +5338,6 @@
"@tutorialWelcomeTip2": {
"description": "Tutorial welcome tip 2"
},
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"selectionAllSelected": "Усі треки вибрано",
"@selectionAllSelected": {
"description": "Status - all items selected"
@@ -5723,11 +5426,9 @@
"description": "Subtitle for built-in preview player option"
},
"storageModeAppFolder": "App Folder (Recommended)",
"collectionPlaylistCreated": "Список відтворення створено",
"@actionPause": {
"description": "Action button - pause download"
},
"trackSaveCoverArtSubtitle": "Зберегти обкладинку альбому як файл .jpg",
"actionPaste": "Paste",
"extensionSettingsCount": "{count} {count, plural, =1{setting} other{settings}}",
"downloadNativeWorker": "Native download worker",
@@ -5768,9 +5469,6 @@
},
"setupGrantPermission": "Надати дозвіл",
"lyricsProvidersDescription": "Увімкнення, вимкнення та зміна порядку джерел текстів пісень. Постачальники перевірятимуть зверху вниз, доки не буде знайдено текст пісні.",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"dateDaysAgo": "{count} днів тому",
"extensionsHomeFeedDescription": "Виберіть, яке розширення відображатиме домашню стрічку на головному екрані",
"downloadLossyMp3Subtitle": "Найкраща сумісність, ~10 МБ на доріжку",
@@ -5795,12 +5493,9 @@
}
},
"extensionHealthServiceDegraded": "Service degraded",
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"selectionConvertNoConvertible": "Трансформованих треків не вибрано",
"snackbarCredentialsCleared": "Облікові дані очищено",
"setupStorageGranted": "Дозвіл на зберігання надано!",
"downloadAllowLocalNetwork": "Allow Local Network Access",
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"nowPlayingNoLyrics": "No lyrics in this file",
"selectionDeleteTracksCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
"@selectionDeleteTracksCount": {
@@ -5871,14 +5566,12 @@
},
"downloadAppleQqMultiPerson": "Apple / QQ: Multi-Person Lyrics",
"downloadFallbackExtensionsSubtitle": "Choose which extensions can be used as fallback",
"notifChannelLibraryScanDesc": "Показує перебіг сканування локальної бібліотеки",
"storeExtensionsCount": "{count} {count, plural, =1{extension} other{extensions}}",
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
},
"snackbarExtensionUpdatedVersion": "{extensionName} updated to v{version}",
"collectionRemoved": "\"{trackName}\" видалено",
"setupStorageAccessMessageAndroid11": "Для збереження файлів у вибрану папку завантажень для Android 11+ потрібен дозвіл «Доступ до всіх файлів».",
"notifDownloadsFinished": "Завантаження завершено ({completed} завершено, {failed} не вдалося)",
"notifLibraryScanProgressWithTotal": "{scanned}/{total} файлів • {percentage}%",
@@ -5958,7 +5651,6 @@
"actionShuffle": "Shuffle",
"backupCreated": "Backup created",
"downloadLossyAacSubtitle": "Best mobile compatibility, M4A container",
"snackbarFillAllFields": "Будь ласка, заповніть усі поля",
"actionCreate": "Створити",
"snackbarAddedToQueueGeneric": "Added to queue",
"downloadedAlbumDownloadedCount": "{count} завантажено",
@@ -6021,7 +5713,6 @@
},
"errorMissingExtensionSource": "Не вдається завантажити {item}: відсутній вихідний код розширення",
"albumFolderAlbumOnlySubtitle": "Альбоми/Назва Альбому/",
"errorLoadPlaylist": "Не вдалося завантажити список відтворення",
"logIssueTrackNotFoundLabel": "TRACK NOT FOUND",
"extensionVerificationHelpTitleManual": "Open verification manually",
"dialogDiscard": "Відхилити",
@@ -6030,12 +5721,10 @@
"downloadSelectQuality": "Вибрати якість",
"dialogDownloadPlaylistsMessage": "Завантажити {trackCount} {trackCount, plural, =1{трек} other{треків}} з {playlistCount} {playlistCount, plural, =1{плейлист} other{плейлистів}}?",
"collectionFoldersTitle": "Мої папки",
"credentialsClientSecret": "Секретний код клієнта",
"progressFetchingMetadata": "Отримання метаданих... {current}/{total}",
"settingsDownloadNetworkAny": "Wi-Fi + мобільний інтернет",
"audioAnalysisDuration": "Тривалість",
"audioAnalysisAnalyzing": "Аналіз аудіо...",
"credentialsDescription": "Введіть свій ідентифікатор клієнта та секретний код, щоб використовувати власну квоту програми Spotify.",
"extensionVerificationHelpMessageWaiting": "If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.",
"editMetadataFieldDiscNum": "Номер диска",
"@editMetadataFieldDiscNum": {
@@ -6084,7 +5773,6 @@
"description": "Settings section header for language"
},
"downloadFilterContributingDisabled": "Full Album Artist string used",
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"albumFolderArtistAlbumSinglesSubtitle": "Виконавець/Альбом/ та Виконавець/Сингли/",
"collectionDeletePlaylistsMessage": "Delete {count} {count, plural, =1{playlist} other{playlists}}?",
"lyricsProvidersSaved": "Пріоритет постачальника текстів пісень збережено",
@@ -6178,20 +5866,11 @@
"libraryFilterQualityLossy": "Із втратами (lossy)",
"actionPause": "Пауза",
"csvImportTracks": "{count} треків з CSV",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"actionGo": "Go",
"sectionDebug": "Налагодження",
"editMetadataFieldDate": "Дата",
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} годин тому}}",
"sectionPerformance": "Продуктивність",
"extensionsSearchWith": "Пошук за допомогою{providerName}",
"extensionsDownloadPrioritySubtitle": "Встановити порядок завантаження",
"cacheAppDirectoryDesc": "HTTP-відповіді, дані WebView та інші тимчасові дані додатків.",
"sectionData": "Дані",
+1 -286
View File
@@ -57,10 +57,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Options",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensions",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -121,10 +117,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Options",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Primary Provider",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -142,10 +134,6 @@
}
}
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Auto Fallback",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -154,18 +142,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Use Extension Providers",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Embed Lyrics",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -234,27 +210,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Spotify Credentials",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Required - tap to configure",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requires your own API credentials. Get them free from developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"extensionsTitle": "Extensions",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -272,15 +227,6 @@
}
}
},
"extensionsAuthor": "by {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Uninstall",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -690,14 +636,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credentials saved",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credentials cleared",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -716,10 +654,6 @@
}
}
},
"snackbarFillAllFields": "Please fill all fields",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "View Queue",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -817,14 +751,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Remove Credentials",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Save Credentials",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} selected",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -978,10 +904,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extension",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -998,14 +920,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "No rate limits",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -1072,30 +986,6 @@
}
}
},
"credentialsTitle": "Spotify Credentials",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "Client ID",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Paste Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Client Secret",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Paste Client Secret",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Stable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1168,10 +1058,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Fallback, lyrics, cover art, updates",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Manage download providers",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1373,18 +1259,6 @@
"@storeClearFilters": {
"description": "Button to clear all filters"
},
"extensionDefaultProvider": "Default Search",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Author",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -1572,10 +1446,6 @@
"@qualityHiResFlacMaxSubtitle": {
"description": "Technical spec for hi-res max"
},
"qualityNote": "Actual quality depends on track availability from the service",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Ask Before Download",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -1674,10 +1544,6 @@
}
}
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Tap tracks to select",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -1728,14 +1594,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"optionsReplayGain": "ReplayGain",
"@optionsReplayGain": {
"description": "Title for ReplayGain setting toggle"
@@ -1772,10 +1630,6 @@
"@optionsArtistTagModeSplitVorbisSubtitle": {
"description": "Subtitle for split Vorbis artist tag mode"
},
"optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"aboutTranslators": "Translators",
"@aboutTranslators": {
"description": "Section for translators"
@@ -1912,10 +1766,6 @@
"@folderOrganizationByPlaylistSubtitle": {
"description": "Subtitle for playlist folder option"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Choose which installed download extensions can be used during automatic fallback.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -2008,10 +1858,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -2974,18 +2820,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Save Lyrics (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Saving lyrics...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -2998,10 +2836,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Fields to update",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Cover Art",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3085,18 +2919,6 @@
}
}
},
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3126,10 +2948,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convert to MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convert Audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3198,10 +3016,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Album: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3294,10 +3108,6 @@
"@collectionLoved": {
"description": "Custom folder for favorite tracks"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Playlist",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3314,10 +3124,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3345,10 +3151,6 @@
}
}
},
"collectionPlaylistCreated": "Playlist created",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Playlist name",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3365,19 +3167,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Playlist deleted",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Playlist renamed",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3414,15 +3203,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "\"{trackName}\" removed",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3540,18 +3320,6 @@
}
}
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3825,10 +3593,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4065,10 +3829,6 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4183,19 +3943,10 @@
"@audioAnalysisRescan": {
"description": "Tooltip/label for the button that re-runs the audio analysis, discarding cached results"
},
"audioAnalysisRescanning": "Re-analyzing audio...",
"audioAnalysisRescanning": "Re-analyzing audio...",
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Search with {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4225,14 +3976,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4267,34 +4010,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
+1 -322
View File
@@ -73,10 +73,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "选项",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "扩展",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -145,10 +141,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "选项",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "主要提供者",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -174,10 +166,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsSwitchBack": "选择要从扩展中返回的默认搜索服务器",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "自动回退",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -186,18 +174,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "使用扩展提供商",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "扩展提供商已启用",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "需要扩展提供商",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "内嵌歌词",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -230,10 +206,6 @@
"@trackReplayGain": {
"description": "Three-dot menu option to scan loudness and write ReplayGain tags"
},
"trackReplayGainSubtitle": "分析响度并写入ReplayGain标签",
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"trackReplayGainScanning": "正在分析声音……",
"@trackReplayGainScanning": {
"description": "Snackbar/progress message while scanning ReplayGain for a single track"
@@ -360,31 +332,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Spotify 凭据",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "客户端 ID{clientId}……",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "必填 - 点击配置",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify 需要您自己的 API 凭据。在 developer.spotify.com 免费获取",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"optionsSpotifyDeprecationWarning": "Spotify 搜索将在 2026 年 3 月 3 日因 Spotify API 更改而被废弃。请切换到 Deezer。",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"extensionsTitle": "扩展",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -402,15 +349,6 @@
}
}
},
"extensionsAuthor": "来自 {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "卸载",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -912,14 +850,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "凭据已保存",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "凭据已清除",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "已删除 {count} {count, plural, =1{首歌曲} other{首歌曲}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -938,10 +868,6 @@
}
}
},
"snackbarFillAllFields": "请填写所有字段",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "查看队列",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -1055,14 +981,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Remove Credentials",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Save Credentials",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} selected",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -1272,10 +1190,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Choose which installed download extensions can be used during automatic fallback.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -1284,10 +1198,6 @@
"@providerPriorityFallbackExtensionsHint": {
"description": "Hint below the extension fallback selection list"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extension",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -1304,14 +1214,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "No rate limits",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -1378,30 +1280,6 @@
}
}
},
"credentialsTitle": "Spotify Credentials",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "Client ID",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Paste Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Client Secret",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Paste Client Secret",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Stable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1510,10 +1388,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Fallback, metadata, lyrics, cover art",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Manage download providers",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1772,10 +1646,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -1808,18 +1678,6 @@
"@storeEmptyNoResults": {
"description": "Message when search/filter returns no results"
},
"extensionDefaultProvider": "Default Search",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Author",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -2087,10 +1945,6 @@
"@downloadLossyOpus128Subtitle": {
"description": "Subtitle for Opus 128kbps lossy option"
},
"qualityNote": "Actual quality depends on track availability from the service",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Ask Before Download",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -2245,10 +2099,6 @@
}
}
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Tap tracks to select",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -3092,18 +2942,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Save Lyrics (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Saving lyrics...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -3116,10 +2958,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Fields to update",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Cover Art",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3203,18 +3041,6 @@
}
}
},
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3244,10 +3070,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convert Audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3316,10 +3138,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Album: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3416,10 +3234,6 @@
"@collectionFavoriteArtists": {
"description": "Custom folder for favorite artists"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Playlist",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3436,10 +3250,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3476,10 +3286,6 @@
}
}
},
"collectionPlaylistCreated": "Playlist created",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Playlist name",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3496,19 +3302,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Playlist deleted",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Playlist renamed",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3553,15 +3346,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "\"{trackName}\" removed",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3705,18 +3489,6 @@
}
}
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3879,10 +3651,6 @@
"@backupImportButton": {
"description": "Button to pick a backup file to restore"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"backupCreated": "Backup created",
"@backupCreated": {
"description": "Snackbar after a backup file is created"
@@ -3891,10 +3659,6 @@
"@backupCreateFailed": {
"description": "Snackbar when backup creation fails"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"backupRestoreConfirmTitle": "Restore this backup?",
"@backupRestoreConfirmTitle": {
"description": "Confirmation dialog title before restoring a backup"
@@ -3907,10 +3671,6 @@
"@backupRestoreConfirmButton": {
"description": "Confirm button to proceed with restore"
},
"backupRestoring": "Restoring backup...",
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"backupRestored": "Backup restored successfully",
"@backupRestored": {
"description": "Snackbar after a successful restore"
@@ -4178,10 +3938,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4430,10 +4186,6 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4588,15 +4340,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Search with {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4634,14 +4377,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4676,34 +4411,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
@@ -4956,14 +4663,6 @@
"@actionPaste": {
"description": "Generic action - paste from clipboard"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"tutorialSearchHint": "Paste or search...",
"@tutorialSearchHint": {
"description": "Placeholder shown in the tutorial search demo"
@@ -4992,14 +4691,6 @@
"@optionsEmbedMetadataSubtitleOff": {
"description": "Subtitle when metadata embedding is disabled"
},
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
@@ -5239,14 +4930,6 @@
}
}
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"settingsFiles": "Files & Folders",
"@settingsFiles": {
"description": "Settings menu item - file and folder settings"
@@ -5699,10 +5382,6 @@
"@errorInvalidFolderSelected": {
"description": "Error when the selected folder is invalid"
},
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"storeAnyVersion": "Any",
"@storeAnyVersion": {
"description": "Store detail value when any app version is accepted"
@@ -6205,4 +5884,4 @@
"@extensionVerificationOpenBrowser": {
"description": "Button to open the extension verification URL in a browser"
}
}
}
+1 -322
View File
@@ -73,10 +73,6 @@
"@settingsAppearance": {
"description": "Settings section - visual customization"
},
"settingsOptions": "Options",
"@settingsOptions": {
"description": "Settings section - app options"
},
"settingsExtensions": "Extensions",
"@settingsExtensions": {
"description": "Settings section - extension management"
@@ -145,10 +141,6 @@
"@appearanceHistoryViewGrid": {
"description": "Grid layout option"
},
"optionsTitle": "Options",
"@optionsTitle": {
"description": "Options settings page title"
},
"optionsPrimaryProvider": "Primary Provider",
"@optionsPrimaryProvider": {
"description": "Main search provider setting"
@@ -174,10 +166,6 @@
"@optionsDefaultSearchTabSubtitle": {
"description": "Subtitle for the preferred default search tab setting"
},
"optionsSwitchBack": "Choose the default search provider to switch back from an extension",
"@optionsSwitchBack": {
"description": "Hint to switch back from extension search"
},
"optionsAutoFallback": "Auto Fallback",
"@optionsAutoFallback": {
"description": "Auto-retry with other services"
@@ -186,18 +174,6 @@
"@optionsAutoFallbackSubtitle": {
"description": "Subtitle for auto fallback"
},
"optionsUseExtensionProviders": "Use Extension Providers",
"@optionsUseExtensionProviders": {
"description": "Legacy setting label for extension download providers"
},
"optionsUseExtensionProvidersOn": "Extension providers are enabled",
"@optionsUseExtensionProvidersOn": {
"description": "Status when extension providers enabled"
},
"optionsUseExtensionProvidersOff": "Extension providers are required",
"@optionsUseExtensionProvidersOff": {
"description": "Legacy status when extension providers would be disabled"
},
"optionsEmbedLyrics": "Embed Lyrics",
"@optionsEmbedLyrics": {
"description": "Embed lyrics in audio files"
@@ -230,10 +206,6 @@
"@trackReplayGain": {
"description": "Three-dot menu option to scan loudness and write ReplayGain tags"
},
"trackReplayGainSubtitle": "Analyze loudness and write ReplayGain tags",
"@trackReplayGainSubtitle": {
"description": "Subtitle for the rescan ReplayGain menu option"
},
"trackReplayGainScanning": "Analyzing loudness...",
"@trackReplayGainScanning": {
"description": "Snackbar/progress message while scanning ReplayGain for a single track"
@@ -360,31 +332,6 @@
"@optionsDetailedLoggingOff": {
"description": "Status when logging disabled"
},
"optionsSpotifyCredentials": "Spotify Credentials",
"@optionsSpotifyCredentials": {
"description": "Spotify API credentials setting"
},
"optionsSpotifyCredentialsConfigured": "Client ID: {clientId}...",
"@optionsSpotifyCredentialsConfigured": {
"description": "Shows configured client ID preview",
"placeholders": {
"clientId": {
"type": "String"
}
}
},
"optionsSpotifyCredentialsRequired": "Required - tap to configure",
"@optionsSpotifyCredentialsRequired": {
"description": "Prompt to set up credentials"
},
"optionsSpotifyWarning": "Spotify requires your own API credentials. Get them free from developer.spotify.com",
"@optionsSpotifyWarning": {
"description": "Info about Spotify API requirement"
},
"optionsSpotifyDeprecationWarning": "Spotify search will be deprecated on March 3, 2026 due to Spotify API changes. Please switch to Deezer.",
"@optionsSpotifyDeprecationWarning": {
"description": "Warning about Spotify API deprecation"
},
"extensionsTitle": "Extensions",
"@extensionsTitle": {
"description": "Extensions page title"
@@ -402,15 +349,6 @@
}
}
},
"extensionsAuthor": "by {author}",
"@extensionsAuthor": {
"description": "Extension author credit",
"placeholders": {
"author": {
"type": "String"
}
}
},
"extensionsUninstall": "Uninstall",
"@extensionsUninstall": {
"description": "Uninstall extension button"
@@ -912,14 +850,6 @@
"@snackbarHistoryCleared": {
"description": "Snackbar - history deleted"
},
"snackbarCredentialsSaved": "Credentials saved",
"@snackbarCredentialsSaved": {
"description": "Snackbar - Spotify credentials saved"
},
"snackbarCredentialsCleared": "Credentials cleared",
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
@@ -938,10 +868,6 @@
}
}
},
"snackbarFillAllFields": "Please fill all fields",
"@snackbarFillAllFields": {
"description": "Snackbar - validation error"
},
"snackbarViewQueue": "View Queue",
"@snackbarViewQueue": {
"description": "Snackbar action - view download queue"
@@ -1055,14 +981,6 @@
"@actionDeselect": {
"description": "Action button - deselect all"
},
"actionRemoveCredentials": "Remove Credentials",
"@actionRemoveCredentials": {
"description": "Action button - delete Spotify credentials"
},
"actionSaveCredentials": "Save Credentials",
"@actionSaveCredentials": {
"description": "Action button - save Spotify credentials"
},
"selectionSelected": "{count} selected",
"@selectionSelected": {
"description": "Selection count indicator",
@@ -1272,10 +1190,6 @@
"@providerPriorityInfo": {
"description": "Info tip about fallback behavior"
},
"providerPriorityFallbackExtensionsTitle": "Extension Fallback",
"@providerPriorityFallbackExtensionsTitle": {
"description": "Section title for choosing which download extensions can be used as fallback providers"
},
"providerPriorityFallbackExtensionsDescription": "Choose which installed download extensions can be used during automatic fallback.",
"@providerPriorityFallbackExtensionsDescription": {
"description": "Section description for extension fallback selection"
@@ -1284,10 +1198,6 @@
"@providerPriorityFallbackExtensionsHint": {
"description": "Hint below the extension fallback selection list"
},
"providerBuiltIn": "Legacy",
"@providerBuiltIn": {
"description": "Legacy label retained for old generated localization compatibility"
},
"providerExtension": "Extension",
"@providerExtension": {
"description": "Label for extension-provided providers"
@@ -1304,14 +1214,6 @@
"@metadataProviderPriorityInfo": {
"description": "Info tip about rate limits"
},
"metadataNoRateLimits": "No rate limits",
"@metadataNoRateLimits": {
"description": "Deezer provider description"
},
"metadataMayRateLimit": "May rate limit",
"@metadataMayRateLimit": {
"description": "Spotify provider description"
},
"logTitle": "Logs",
"@logTitle": {
"description": "Logs screen title"
@@ -1378,30 +1280,6 @@
}
}
},
"credentialsTitle": "Spotify Credentials",
"@credentialsTitle": {
"description": "Credentials dialog title"
},
"credentialsDescription": "Enter your Client ID and Secret to use your own Spotify application quota.",
"@credentialsDescription": {
"description": "Credentials dialog explanation"
},
"credentialsClientId": "Client ID",
"@credentialsClientId": {
"description": "Client ID field label - DO NOT TRANSLATE"
},
"credentialsClientIdHint": "Paste Client ID",
"@credentialsClientIdHint": {
"description": "Client ID placeholder"
},
"credentialsClientSecret": "Client Secret",
"@credentialsClientSecret": {
"description": "Client Secret field label - DO NOT TRANSLATE"
},
"credentialsClientSecretHint": "Paste Client Secret",
"@credentialsClientSecretHint": {
"description": "Client Secret placeholder"
},
"channelStable": "Stable",
"@channelStable": {
"description": "Update channel - stable releases"
@@ -1510,10 +1388,6 @@
"@settingsDownloadSubtitle": {
"description": "Download settings description"
},
"settingsOptionsSubtitle": "Fallback, metadata, lyrics, cover art",
"@settingsOptionsSubtitle": {
"description": "Options settings description"
},
"settingsExtensionsSubtitle": "Manage download providers",
"@settingsExtensionsSubtitle": {
"description": "Extensions settings description"
@@ -1772,10 +1646,6 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
@@ -1808,18 +1678,6 @@
"@storeEmptyNoResults": {
"description": "Message when search/filter returns no results"
},
"extensionDefaultProvider": "Default Search",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
"extensionDefaultProviderSubtitle": "Use the default metadata search",
"@extensionDefaultProviderSubtitle": {
"description": "Subtitle for default provider"
},
"extensionAuthor": "Author",
"@extensionAuthor": {
"description": "Extension detail - author"
},
"extensionId": "ID",
"@extensionId": {
"description": "Extension detail - unique ID"
@@ -2087,10 +1945,6 @@
"@downloadLossyOpus128Subtitle": {
"description": "Subtitle for Opus 128kbps lossy option"
},
"qualityNote": "Actual quality depends on track availability from the service",
"@qualityNote": {
"description": "Note about quality availability"
},
"downloadAskBeforeDownload": "Ask Before Download",
"@downloadAskBeforeDownload": {
"description": "Setting - show quality picker"
@@ -2245,10 +2099,6 @@
}
}
},
"downloadedAlbumAllSelected": "All tracks selected",
"@downloadedAlbumAllSelected": {
"description": "Status - all items selected"
},
"downloadedAlbumTapToSelect": "Tap tracks to select",
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
@@ -3092,18 +2942,10 @@
"@trackSaveCoverArt": {
"description": "Menu action - save album cover art as file"
},
"trackSaveCoverArtSubtitle": "Save album art as .jpg file",
"@trackSaveCoverArtSubtitle": {
"description": "Subtitle for save cover art action"
},
"trackSaveLyrics": "Save Lyrics (.lrc)",
"@trackSaveLyrics": {
"description": "Menu action - save lyrics as .lrc file"
},
"trackSaveLyricsSubtitle": "Fetch and save lyrics as .lrc file",
"@trackSaveLyricsSubtitle": {
"description": "Subtitle for save lyrics action"
},
"trackSaveLyricsProgress": "Saving lyrics...",
"@trackSaveLyricsProgress": {
"description": "Snackbar while saving lyrics to file"
@@ -3116,10 +2958,6 @@
"@trackReEnrichOnlineSubtitle": {
"description": "Subtitle for re-enrich metadata action for local items"
},
"trackReEnrichFieldsTitle": "Fields to update",
"@trackReEnrichFieldsTitle": {
"description": "Section title for field selection in re-enrich dialog"
},
"trackReEnrichFieldCover": "Cover Art",
"@trackReEnrichFieldCover": {
"description": "Checkbox label for cover art field in re-enrich"
@@ -3203,18 +3041,6 @@
}
}
},
"queueFlacFindingProgress": "Finding FLAC matches... ({current}/{total})",
"@queueFlacFindingProgress": {
"description": "Snackbar while resolving remote matches for local FLAC redownloads",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"queueFlacNoReliableMatches": "No reliable online matches found for the selection",
"@queueFlacNoReliableMatches": {
"description": "Snackbar when no safe FLAC redownload matches were found"
@@ -3244,10 +3070,6 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "Convert to AAC/M4A, MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
"trackConvertTitle": "Convert Audio",
"@trackConvertTitle": {
"description": "Title of convert bottom sheet"
@@ -3316,10 +3138,6 @@
"@cueSplitTitle": {
"description": "Title for CUE split bottom sheet"
},
"cueSplitSubtitle": "Split CUE+FLAC into individual tracks",
"@cueSplitSubtitle": {
"description": "Subtitle for CUE split menu item"
},
"cueSplitAlbum": "Album: {album}",
"@cueSplitAlbum": {
"description": "Album name in CUE split sheet",
@@ -3416,10 +3234,6 @@
"@collectionFavoriteArtists": {
"description": "Custom folder for favorite artists"
},
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
"collectionPlaylist": "Playlist",
"@collectionPlaylist": {
"description": "Single playlist label"
@@ -3436,10 +3250,6 @@
"@collectionNoPlaylistsYet": {
"description": "Empty state title when user has no playlists"
},
"collectionNoPlaylistsSubtitle": "Create a playlist to start categorizing tracks",
"@collectionNoPlaylistsSubtitle": {
"description": "Empty state subtitle when user has no playlists"
},
"collectionPlaylistTracks": "{count, plural, =1{1 track} other{{count} tracks}}",
"@collectionPlaylistTracks": {
"description": "Track count label for custom playlists",
@@ -3476,10 +3286,6 @@
}
}
},
"collectionPlaylistCreated": "Playlist created",
"@collectionPlaylistCreated": {
"description": "Snackbar after creating playlist"
},
"collectionPlaylistNameHint": "Playlist name",
"@collectionPlaylistNameHint": {
"description": "Hint text for playlist name input"
@@ -3496,19 +3302,6 @@
"@collectionDeletePlaylist": {
"description": "Action to delete playlist"
},
"collectionDeletePlaylistMessage": "Delete \"{playlistName}\" and all tracks inside it?",
"@collectionDeletePlaylistMessage": {
"description": "Confirmation message for deleting playlist",
"placeholders": {
"playlistName": {
"type": "String"
}
}
},
"collectionPlaylistDeleted": "Playlist deleted",
"@collectionPlaylistDeleted": {
"description": "Snackbar after deleting playlist"
},
"collectionPlaylistRenamed": "Playlist renamed",
"@collectionPlaylistRenamed": {
"description": "Snackbar after renaming playlist"
@@ -3553,15 +3346,6 @@
"@collectionRemoveFromFolder": {
"description": "Tooltip for removing track from wishlist/loved folder"
},
"collectionRemoved": "\"{trackName}\" removed",
"@collectionRemoved": {
"description": "Snackbar after removing a track from a collection",
"placeholders": {
"trackName": {
"type": "String"
}
}
},
"collectionAddedToLoved": "\"{trackName}\" added to Loved",
"@collectionAddedToLoved": {
"description": "Snackbar after adding track to loved folder",
@@ -3705,18 +3489,6 @@
}
}
},
"selectionBatchConvertProgress": "Converting {current} of {total}...",
"@selectionBatchConvertProgress": {
"description": "Snackbar during batch conversion progress",
"placeholders": {
"current": {
"type": "int"
},
"total": {
"type": "int"
}
}
},
"selectionBatchConvertSuccess": "Converted {success} of {total} tracks to {format}",
"@selectionBatchConvertSuccess": {
"description": "Snackbar after batch conversion completes",
@@ -3879,10 +3651,6 @@
"@backupImportButton": {
"description": "Button to pick a backup file to restore"
},
"backupCreating": "Creating backup...",
"@backupCreating": {
"description": "Progress text while a backup is being created"
},
"backupCreated": "Backup created",
"@backupCreated": {
"description": "Snackbar after a backup file is created"
@@ -3891,10 +3659,6 @@
"@backupCreateFailed": {
"description": "Snackbar when backup creation fails"
},
"backupEmpty": "There is nothing to back up yet",
"@backupEmpty": {
"description": "Snackbar when there is no data to back up"
},
"backupRestoreConfirmTitle": "Restore this backup?",
"@backupRestoreConfirmTitle": {
"description": "Confirmation dialog title before restoring a backup"
@@ -3907,10 +3671,6 @@
"@backupRestoreConfirmButton": {
"description": "Confirm button to proceed with restore"
},
"backupRestoring": "Restoring backup...",
"@backupRestoring": {
"description": "Progress text while restoring a backup"
},
"backupRestored": "Backup restored successfully",
"@backupRestored": {
"description": "Snackbar after a successful restore"
@@ -4178,10 +3938,6 @@
"@downloadSelectServiceToEnable": {
"description": "Subtitle when quality picker is disabled due to extension service"
},
"downloadSelectTidalQobuz": "Select a provider with quality options to choose audio quality",
"@downloadSelectTidalQobuz": {
"description": "Legacy info shown when a provider does not expose quality options"
},
"downloadEmbedLyricsDisabled": "Enable metadata embedding first",
"@downloadEmbedLyricsDisabled": {
"description": "Subtitle when lyrics embedding is blocked by metadata toggle"
@@ -4430,10 +4186,6 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
@@ -4588,15 +4340,6 @@
"@audioAnalysisRescanning": {
"description": "Loading text while audio is being re-analyzed after an explicit refresh"
},
"extensionsSearchWith": "Search with {providerName}",
"@extensionsSearchWith": {
"description": "Extensions page - subtitle for default metadata search provider option",
"placeholders": {
"providerName": {
"type": "String"
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
@@ -4634,14 +4377,6 @@
"@extensionsNoHomeFeedExtensions": {
"description": "Extensions page - shown when no installed extension has home feed"
},
"sortAlphaAsc": "A-Z",
"@sortAlphaAsc": {
"description": "Sort option - alphabetical ascending"
},
"sortAlphaDesc": "Z-A",
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
@@ -4676,34 +4411,6 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
"notifChannelDownloadDesc": "Shows download progress for tracks",
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
"notifChannelLibraryScanDesc": "Shows local library scan progress",
"@notifChannelLibraryScanDesc": {
"description": "Android notification channel description for library scan"
},
"notifDownloadingTrack": "Downloading {trackName}",
"@notifDownloadingTrack": {
"description": "Notification title while downloading a track",
@@ -4956,14 +4663,6 @@
"@actionPaste": {
"description": "Generic action - paste from clipboard"
},
"searchTracksHint": "Search tracks...",
"@searchTracksHint": {
"description": "Placeholder for the search screen input"
},
"searchTracksEmptyPrompt": "Search for tracks",
"@searchTracksEmptyPrompt": {
"description": "Empty-state prompt on the search screen"
},
"tutorialSearchHint": "Paste or search...",
"@tutorialSearchHint": {
"description": "Placeholder shown in the tutorial search demo"
@@ -4992,14 +4691,6 @@
"@optionsEmbedMetadataSubtitleOff": {
"description": "Subtitle when metadata embedding is disabled"
},
"optionsMaxQualityCoverSubtitleDisabled": "Disabled when metadata embedding is off",
"@optionsMaxQualityCoverSubtitleDisabled": {
"description": "Subtitle for max quality cover when metadata embedding is disabled"
},
"downloadFilenameHintExample": "{artist} - {title}",
"@downloadFilenameHintExample": {
"description": "Example placeholder for the download filename format input"
},
"trackCoverNoEmbeddedArt": "No embedded album art found",
"@trackCoverNoEmbeddedArt": {
"description": "Message shown when a track file has no embedded cover art"
@@ -5239,14 +4930,6 @@
}
}
},
"optionsDefaultSearchTabAlbums": "Albums",
"@optionsDefaultSearchTabAlbums": {
"description": "Default search tab option - Albums tab"
},
"optionsDefaultSearchTabTracks": "Tracks",
"@optionsDefaultSearchTabTracks": {
"description": "Default search tab option - Tracks tab"
},
"settingsFiles": "Files & Folders",
"@settingsFiles": {
"description": "Settings menu item - file and folder settings"
@@ -5699,10 +5382,6 @@
"@errorInvalidFolderSelected": {
"description": "Error when the selected folder is invalid"
},
"errorCouldNotKeepFolderAccess": "Could not keep access to the selected folder",
"@errorCouldNotKeepFolderAccess": {
"description": "Error when persistent folder access cannot be saved"
},
"storeAnyVersion": "Any",
"@storeAnyVersion": {
"description": "Store detail value when any app version is accepted"
@@ -6205,4 +5884,4 @@
"@extensionVerificationOpenBrowser": {
"description": "Button to open the extension verification URL in a browser"
}
}
}