mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-07-29 07:18:49 +02:00
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:
@@ -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:
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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 => '모든';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "データ",
|
||||
|
||||
@@ -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
@@ -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
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "Данные",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user