- Remove Discovery Mixes master toggle entirely - Discovery rows now auto-appear based on provider availability (e.g., Tidal) - Discovery rows are off by default on first launch - All rows (discovery and static) now behave consistently: * Enabled rows are added to end of list, not inserted at fixed positions * Users can drag rows to any position and they stay there - Simplified default row order to only include: recently played, discover artists, and discover albums - Fixed critical bug: discovery rows now correctly default to false - Fixed SharedPreferences variable shadowing bug in setDiscoveryRowPreferences - Fixed grey section in settings draggable list by filtering discovery-mixes - Added localization strings for discovery rows UI - Removed debug print statements Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1773 lines
42 KiB
Plaintext
1773 lines
42 KiB
Plaintext
{
|
|
"@@locale": "en",
|
|
|
|
"appTitle": "Ensemble",
|
|
"@appTitle": {
|
|
"description": "The application title"
|
|
},
|
|
|
|
"connecting": "Connecting...",
|
|
"@connecting": {
|
|
"description": "Connection status when connecting"
|
|
},
|
|
|
|
"connected": "Connected",
|
|
"@connected": {
|
|
"description": "Connection status when connected"
|
|
},
|
|
|
|
"disconnected": "Disconnected",
|
|
"@disconnected": {
|
|
"description": "Connection status when disconnected"
|
|
},
|
|
|
|
"serverAddress": "Server Address",
|
|
"@serverAddress": {
|
|
"description": "Login screen server address field label"
|
|
},
|
|
|
|
"serverAddressHint": "e.g., music.example.com or 192.168.1.100",
|
|
"@serverAddressHint": {
|
|
"description": "Hint text for server address field"
|
|
},
|
|
|
|
"yourName": "Your Name",
|
|
"@yourName": {
|
|
"description": "Login screen name field label"
|
|
},
|
|
|
|
"yourFirstName": "Your first name",
|
|
"@yourFirstName": {
|
|
"description": "Hint for name field"
|
|
},
|
|
|
|
"portOptional": "Port (Optional)",
|
|
"@portOptional": {
|
|
"description": "Port field label"
|
|
},
|
|
|
|
"portHint": "e.g., 8095 or leave blank",
|
|
"@portHint": {
|
|
"description": "Hint for port field"
|
|
},
|
|
|
|
"portDescription": "Leave blank unless using a custom port",
|
|
"@portDescription": {
|
|
"description": "Description for port field"
|
|
},
|
|
|
|
"username": "Username",
|
|
"@username": {
|
|
"description": "Username field label"
|
|
},
|
|
|
|
"password": "Password",
|
|
"@password": {
|
|
"description": "Password field label"
|
|
},
|
|
|
|
"detectAndConnect": "Detect & Connect",
|
|
"@detectAndConnect": {
|
|
"description": "Button to detect auth and connect"
|
|
},
|
|
|
|
"connect": "Connect",
|
|
"@connect": {
|
|
"description": "Connect button label"
|
|
},
|
|
|
|
"disconnect": "Disconnect",
|
|
"@disconnect": {
|
|
"description": "Disconnect button label"
|
|
},
|
|
|
|
"authServerUrlOptional": "Auth Server URL (Optional)",
|
|
"@authServerUrlOptional": {
|
|
"description": "Auth server URL field label"
|
|
},
|
|
|
|
"authServerUrlHint": "e.g., auth.example.com (if different from server)",
|
|
"@authServerUrlHint": {
|
|
"description": "Hint for auth server URL"
|
|
},
|
|
|
|
"authServerUrlDescription": "Leave empty if authentication is on the same server",
|
|
"@authServerUrlDescription": {
|
|
"description": "Description for auth server URL field"
|
|
},
|
|
|
|
"detectedAuthType": "Detected: {authType}",
|
|
"@detectedAuthType": {
|
|
"description": "Shows detected authentication type",
|
|
"placeholders": {
|
|
"authType": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"serverRequiresAuth": "This server requires authentication",
|
|
"@serverRequiresAuth": {
|
|
"description": "Message when server requires auth"
|
|
},
|
|
|
|
"tailscaleVpnConnection": "Tailscale VPN Connection",
|
|
"@tailscaleVpnConnection": {
|
|
"description": "Tailscale connection type"
|
|
},
|
|
|
|
"unencryptedConnection": "Unencrypted Connection",
|
|
"@unencryptedConnection": {
|
|
"description": "Unencrypted connection warning"
|
|
},
|
|
|
|
"usingHttpOverTailscale": "Using HTTP over Tailscale (encrypted tunnel)",
|
|
"@usingHttpOverTailscale": {
|
|
"description": "HTTP over Tailscale description"
|
|
},
|
|
|
|
"httpsFailedUsingHttp": "HTTPS failed, using HTTP fallback",
|
|
"@httpsFailedUsingHttp": {
|
|
"description": "HTTP fallback message"
|
|
},
|
|
|
|
"httpNotEncrypted": "HTTP connection - data is not encrypted",
|
|
"@httpNotEncrypted": {
|
|
"description": "HTTP not encrypted warning"
|
|
},
|
|
|
|
"pleaseEnterServerAddress": "Please enter your Music Assistant server address",
|
|
"@pleaseEnterServerAddress": {
|
|
"description": "Validation message for server address"
|
|
},
|
|
|
|
"pleaseEnterName": "Please enter your name",
|
|
"@pleaseEnterName": {
|
|
"description": "Validation message for name"
|
|
},
|
|
|
|
"pleaseEnterValidPort": "Please enter a valid port number (1-65535)",
|
|
"@pleaseEnterValidPort": {
|
|
"description": "Validation message for port"
|
|
},
|
|
|
|
"pleaseEnterCredentials": "Please enter username and password",
|
|
"@pleaseEnterCredentials": {
|
|
"description": "Validation message for credentials"
|
|
},
|
|
|
|
"authFailed": "Authentication failed. Please check your credentials.",
|
|
"@authFailed": {
|
|
"description": "Authentication failed error"
|
|
},
|
|
|
|
"maLoginFailed": "Music Assistant login failed. Please check your credentials.",
|
|
"@maLoginFailed": {
|
|
"description": "MA login failed error"
|
|
},
|
|
|
|
"connectionFailed": "Could not connect to server. Please check the address and try again.",
|
|
"@connectionFailed": {
|
|
"description": "Connection failed error"
|
|
},
|
|
|
|
"detectingAuth": "Detecting authentication...",
|
|
"@detectingAuth": {
|
|
"description": "Status when detecting auth"
|
|
},
|
|
|
|
"cannotDetermineAuth": "Cannot determine authentication requirements. Please check server URL.",
|
|
"@cannotDetermineAuth": {
|
|
"description": "Error when auth detection fails"
|
|
},
|
|
|
|
"noAuthentication": "No Authentication",
|
|
"@noAuthentication": {
|
|
"description": "Auth type: none"
|
|
},
|
|
|
|
"httpBasicAuth": "HTTP Basic Auth",
|
|
"@httpBasicAuth": {
|
|
"description": "Auth type: HTTP Basic"
|
|
},
|
|
|
|
"authelia": "Authelia",
|
|
"@authelia": {
|
|
"description": "Auth type: Authelia"
|
|
},
|
|
|
|
"musicAssistantLogin": "Music Assistant Login",
|
|
"@musicAssistantLogin": {
|
|
"description": "Auth type: MA Login"
|
|
},
|
|
|
|
"pressBackToMinimize": "Press back again to minimize",
|
|
"@pressBackToMinimize": {
|
|
"description": "Back button toast message"
|
|
},
|
|
|
|
"recentlyPlayed": "Recently Played",
|
|
"@recentlyPlayed": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"discoverArtists": "Discover Artists",
|
|
"@discoverArtists": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"discoverAlbums": "Discover Albums",
|
|
"@discoverAlbums": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"discoveryMixes": "Discovery Mixes",
|
|
"@discoveryMixes": {
|
|
"description": "Provider discovery mixes (e.g., Tidal playlists)"
|
|
},
|
|
|
|
"discoveryMixesDescription": "Show provider recommendation mixes (e.g., Tidal Daily Mixes, Discover Weekly) on home screen",
|
|
"@discoveryMixesDescription": {
|
|
"description": "Description for discovery mixes setting"
|
|
},
|
|
|
|
"discoveryRows": "Discovery rows from Music Assistant",
|
|
"@discoveryRows": {
|
|
"description": "Label for discovery rows section"
|
|
},
|
|
|
|
"refreshDiscoveryRows": "Refresh available rows",
|
|
"@refreshDiscoveryRows": {
|
|
"description": "Button to refresh discovery rows"
|
|
},
|
|
|
|
"noDiscoveryRows": "No discovery rows available",
|
|
"@noDiscoveryRows": {
|
|
"description": "Empty state when no discovery rows available"
|
|
},
|
|
|
|
"discoveryRowBadge": "Music Assistant",
|
|
"@discoveryRowBadge": {
|
|
"description": "Badge label for discovery rows"
|
|
},
|
|
|
|
"continueListening": "Continue Listening",
|
|
"@continueListening": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"discoverAudiobooks": "Discover Audiobooks",
|
|
"@discoverAudiobooks": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"discoverSeries": "Discover Series",
|
|
"@discoverSeries": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"favoriteAlbums": "Favorite Albums",
|
|
"@favoriteAlbums": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"favoriteArtists": "Favorite Artists",
|
|
"@favoriteArtists": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"favoriteTracks": "Favorite Tracks",
|
|
"@favoriteTracks": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"favoritePlaylists": "Favorite Playlists",
|
|
"@favoritePlaylists": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"favoriteRadioStations": "Favorite Radio Stations",
|
|
"@favoriteRadioStations": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"favoritePodcasts": "Favorite Podcasts",
|
|
"@favoritePodcasts": {
|
|
"description": "Home screen section title"
|
|
},
|
|
|
|
"searchMusic": "Search music...",
|
|
"@searchMusic": {
|
|
"description": "Search placeholder text"
|
|
},
|
|
|
|
"searchForContent": "Search for artists, albums, or tracks",
|
|
"@searchForContent": {
|
|
"description": "Search hint text"
|
|
},
|
|
|
|
"recentSearches": "Recent Searches",
|
|
"@recentSearches": {
|
|
"description": "Label for recent search history section"
|
|
},
|
|
|
|
"clearSearchHistory": "Clear Search History",
|
|
"@clearSearchHistory": {
|
|
"description": "Button to clear search history"
|
|
},
|
|
|
|
"searchHistoryCleared": "Search history cleared",
|
|
"@searchHistoryCleared": {
|
|
"description": "Confirmation message after clearing search history"
|
|
},
|
|
|
|
"libraryOnly": "Library only",
|
|
"@libraryOnly": {
|
|
"description": "Toggle to search only in library"
|
|
},
|
|
|
|
"retry": "Retry",
|
|
"@retry": {
|
|
"description": "Retry button label"
|
|
},
|
|
|
|
"all": "All",
|
|
"@all": {
|
|
"description": "Filter option: All"
|
|
},
|
|
|
|
"artists": "Artists",
|
|
"@artists": {
|
|
"description": "Artists category"
|
|
},
|
|
|
|
"albums": "Albums",
|
|
"@albums": {
|
|
"description": "Albums category"
|
|
},
|
|
|
|
"tracks": "Tracks",
|
|
"@tracks": {
|
|
"description": "Tracks category"
|
|
},
|
|
|
|
"playlists": "Playlists",
|
|
"@playlists": {
|
|
"description": "Playlists category"
|
|
},
|
|
|
|
"audiobooks": "Audiobooks",
|
|
"@audiobooks": {
|
|
"description": "Audiobooks category"
|
|
},
|
|
|
|
"music": "Music",
|
|
"@music": {
|
|
"description": "Music category"
|
|
},
|
|
|
|
"radio": "Radio",
|
|
"@radio": {
|
|
"description": "Radio category"
|
|
},
|
|
|
|
"stations": "Stations",
|
|
"@stations": {
|
|
"description": "Radio stations subcategory"
|
|
},
|
|
|
|
"selectLibrary": "Select Library",
|
|
"@selectLibrary": {
|
|
"description": "Title for library type selection bottom sheet"
|
|
},
|
|
|
|
"noRadioStations": "No radio stations",
|
|
"@noRadioStations": {
|
|
"description": "Empty state when no radio stations are available"
|
|
},
|
|
|
|
"addRadioStationsHint": "Add radio stations in Music Assistant",
|
|
"@addRadioStationsHint": {
|
|
"description": "Hint for adding radio stations"
|
|
},
|
|
|
|
"searchFailed": "Search failed. Please check your connection.",
|
|
"@searchFailed": {
|
|
"description": "Search error message"
|
|
},
|
|
|
|
"queue": "Queue",
|
|
"@queue": {
|
|
"description": "Queue screen title"
|
|
},
|
|
|
|
"playerQueue": "{playerName} Queue",
|
|
"@playerQueue": {
|
|
"description": "Queue title with player name",
|
|
"placeholders": {
|
|
"playerName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"noPlayerSelected": "No player selected",
|
|
"@noPlayerSelected": {
|
|
"description": "Message when no player is selected"
|
|
},
|
|
|
|
"undo": "Undo",
|
|
"@undo": {
|
|
"description": "Undo action"
|
|
},
|
|
|
|
"removedItem": "Removed {itemName}",
|
|
"@removedItem": {
|
|
"description": "Snackbar message when item removed",
|
|
"placeholders": {
|
|
"itemName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"settings": "Settings",
|
|
"@settings": {
|
|
"description": "Settings screen title"
|
|
},
|
|
|
|
"debugLogs": "Debug Logs",
|
|
"@debugLogs": {
|
|
"description": "Debug logs section"
|
|
},
|
|
|
|
"themeMode": "Theme Mode",
|
|
"@themeMode": {
|
|
"description": "Theme mode setting"
|
|
},
|
|
|
|
"light": "Light",
|
|
"@light": {
|
|
"description": "Light theme"
|
|
},
|
|
|
|
"dark": "Dark",
|
|
"@dark": {
|
|
"description": "Dark theme"
|
|
},
|
|
|
|
"system": "System",
|
|
"@system": {
|
|
"description": "System theme"
|
|
},
|
|
|
|
"pullToRefresh": "Pull to refresh the library to apply changes",
|
|
"@pullToRefresh": {
|
|
"description": "Refresh hint message"
|
|
},
|
|
|
|
"viewDebugLogs": "View Debug Logs",
|
|
"@viewDebugLogs": {
|
|
"description": "Button to view debug logs"
|
|
},
|
|
|
|
"viewAllPlayers": "View All Players",
|
|
"@viewAllPlayers": {
|
|
"description": "Button to view all players"
|
|
},
|
|
|
|
"copyLogs": "Copy Logs",
|
|
"@copyLogs": {
|
|
"description": "Button to copy logs"
|
|
},
|
|
|
|
"clearLogs": "Clear Logs",
|
|
"@clearLogs": {
|
|
"description": "Button to clear logs"
|
|
},
|
|
|
|
"copyList": "Copy List",
|
|
"@copyList": {
|
|
"description": "Button to copy list"
|
|
},
|
|
|
|
"close": "Close",
|
|
"@close": {
|
|
"description": "Close button"
|
|
},
|
|
|
|
"allPlayersCount": "All Players ({count})",
|
|
"@allPlayersCount": {
|
|
"description": "Dialog title with player count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
|
|
"errorLoadingPlayers": "Error loading players: {error}",
|
|
"@errorLoadingPlayers": {
|
|
"description": "Error loading players",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"logsCopied": "Logs copied to clipboard",
|
|
"@logsCopied": {
|
|
"description": "Confirmation when logs copied"
|
|
},
|
|
|
|
"logsCleared": "Logs cleared",
|
|
"@logsCleared": {
|
|
"description": "Confirmation when logs cleared"
|
|
},
|
|
|
|
"playerListCopied": "Player list copied to clipboard!",
|
|
"@playerListCopied": {
|
|
"description": "Confirmation when player list copied"
|
|
},
|
|
|
|
"noLogsYet": "No logs yet",
|
|
"@noLogsYet": {
|
|
"description": "Empty logs message"
|
|
},
|
|
|
|
"infoPlus": "Info+",
|
|
"@infoPlus": {
|
|
"description": "Log filter: Info+"
|
|
},
|
|
|
|
"warnings": "Warnings",
|
|
"@warnings": {
|
|
"description": "Log filter: Warnings"
|
|
},
|
|
|
|
"errors": "Errors",
|
|
"@errors": {
|
|
"description": "Log filter: Errors"
|
|
},
|
|
|
|
"showingEntries": "Showing {filtered} of {total} entries",
|
|
"@showingEntries": {
|
|
"description": "Entries count display",
|
|
"placeholders": {
|
|
"filtered": {
|
|
"type": "int"
|
|
},
|
|
"total": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
|
|
"thisDevice": "This device",
|
|
"@thisDevice": {
|
|
"description": "Label for current device"
|
|
},
|
|
|
|
"ghostPlayer": "Ghost player (duplicate)",
|
|
"@ghostPlayer": {
|
|
"description": "Warning for ghost player"
|
|
},
|
|
|
|
"unavailableCorrupt": "Unavailable/Corrupt",
|
|
"@unavailableCorrupt": {
|
|
"description": "Warning for corrupt player"
|
|
},
|
|
|
|
"playerId": "ID: {id}",
|
|
"@playerId": {
|
|
"description": "Player ID display",
|
|
"placeholders": {
|
|
"id": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"playerInfo": "Available: {available} | Provider: {provider}",
|
|
"@playerInfo": {
|
|
"description": "Player info display",
|
|
"placeholders": {
|
|
"available": {
|
|
"type": "String"
|
|
},
|
|
"provider": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"shareBugReport": "Share bug report",
|
|
"@shareBugReport": {
|
|
"description": "Share bug report option"
|
|
},
|
|
|
|
"moreOptions": "More options",
|
|
"@moreOptions": {
|
|
"description": "More options menu"
|
|
},
|
|
|
|
"failedToUpdateFavorite": "Failed to update favorite: {error}",
|
|
"@failedToUpdateFavorite": {
|
|
"description": "Error updating favorite",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"noPlayersAvailable": "No players available",
|
|
"@noPlayersAvailable": {
|
|
"description": "Message when no players available"
|
|
},
|
|
|
|
"albumAddedToQueue": "Album added to queue",
|
|
"@albumAddedToQueue": {
|
|
"description": "Confirmation when album added"
|
|
},
|
|
|
|
"tracksAddedToQueue": "Tracks added to queue",
|
|
"@tracksAddedToQueue": {
|
|
"description": "Snackbar message for tracks added to queue"
|
|
},
|
|
|
|
"trackAddedToQueue": "Track added to queue",
|
|
"@trackAddedToQueue": {
|
|
"description": "Confirmation when tracks added"
|
|
},
|
|
|
|
"play": "Play",
|
|
"@play": {
|
|
"description": "Play button label"
|
|
},
|
|
|
|
"noPlayersFound": "No players found",
|
|
"@noPlayersFound": {
|
|
"description": "Message when no players found"
|
|
},
|
|
|
|
"startingRadio": "Starting {name} radio",
|
|
"@startingRadio": {
|
|
"description": "Status when starting radio",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToStartRadio": "Failed to start radio: {error}",
|
|
"@failedToStartRadio": {
|
|
"description": "Error starting radio",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"startingRadioOnPlayer": "Starting {name} radio on {playerName}",
|
|
"@startingRadioOnPlayer": {
|
|
"description": "Status when starting radio on player",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
},
|
|
"playerName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"addedRadioToQueue": "Added {name} radio to queue",
|
|
"@addedRadioToQueue": {
|
|
"description": "Confirmation when radio added to queue",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToAddToQueue": "Failed to add to queue: {error}",
|
|
"@failedToAddToQueue": {
|
|
"description": "Error adding to queue",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"radio": "Radio",
|
|
"@radio": {
|
|
"description": "Radio button label"
|
|
},
|
|
|
|
"playingRadioStation": "Playing {name}",
|
|
"@playingRadioStation": {
|
|
"description": "Status when playing radio station",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"addedToQueue": "Added to queue",
|
|
"@addedToQueue": {
|
|
"description": "Confirmation when item added to queue"
|
|
},
|
|
|
|
"inLibrary": "In Library",
|
|
"@inLibrary": {
|
|
"description": "In library section title"
|
|
},
|
|
|
|
"noAlbumsFound": "No albums found",
|
|
"@noAlbumsFound": {
|
|
"description": "Empty albums message"
|
|
},
|
|
|
|
"playing": "Playing {name}",
|
|
"@playing": {
|
|
"description": "Status when playing",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"playingTrack": "Playing track",
|
|
"@playingTrack": {
|
|
"description": "Status when playing track"
|
|
},
|
|
|
|
"nowPlaying": "Now playing",
|
|
"@nowPlaying": {
|
|
"description": "Label shown when device selector is open to indicate current player"
|
|
},
|
|
|
|
"markedAsFinished": "{name} marked as finished",
|
|
"@markedAsFinished": {
|
|
"description": "Audiobook marked finished",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToMarkFinished": "Failed to mark as finished: {error}",
|
|
"@failedToMarkFinished": {
|
|
"description": "Error marking finished",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"markedAsUnplayed": "{name} marked as unplayed",
|
|
"@markedAsUnplayed": {
|
|
"description": "Audiobook marked unplayed",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToMarkUnplayed": "Failed to mark as unplayed: {error}",
|
|
"@failedToMarkUnplayed": {
|
|
"description": "Error marking unplayed",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToPlay": "Failed to play: {error}",
|
|
"@failedToPlay": {
|
|
"description": "Error playing",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"markAsFinished": "Mark as Finished",
|
|
"@markAsFinished": {
|
|
"description": "Button to mark as finished"
|
|
},
|
|
|
|
"markAsUnplayed": "Mark as Unplayed",
|
|
"@markAsUnplayed": {
|
|
"description": "Button to mark as unplayed"
|
|
},
|
|
|
|
"byAuthor": "By {author}",
|
|
"@byAuthor": {
|
|
"description": "Author attribution",
|
|
"placeholders": {
|
|
"author": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"audiobookCount": "{count} audiobook(s)",
|
|
"@audiobookCount": {
|
|
"description": "Audiobook count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
|
|
"loading": "Loading...",
|
|
"@loading": {
|
|
"description": "Loading state"
|
|
},
|
|
|
|
"bookCount": "{count} book(s)",
|
|
"@bookCount": {
|
|
"description": "Book count",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
|
|
"books": "Books",
|
|
"@books": {
|
|
"description": "Books section title"
|
|
},
|
|
|
|
"noFavoriteAudiobooks": "No favorite audiobooks",
|
|
"@noFavoriteAudiobooks": {
|
|
"description": "Empty favorite audiobooks"
|
|
},
|
|
|
|
"tapHeartAudiobook": "Tap the heart on an audiobook to add it to favorites",
|
|
"@tapHeartAudiobook": {
|
|
"description": "Hint to add audiobook favorite"
|
|
},
|
|
|
|
"noAudiobooks": "No audiobooks",
|
|
"@noAudiobooks": {
|
|
"description": "Empty audiobooks"
|
|
},
|
|
|
|
"addAudiobooksHint": "Add audiobooks to your library to see them here",
|
|
"@addAudiobooksHint": {
|
|
"description": "Hint to add audiobooks"
|
|
},
|
|
|
|
"noFavoriteArtists": "No favorite artists",
|
|
"@noFavoriteArtists": {
|
|
"description": "Empty favorite artists"
|
|
},
|
|
|
|
"tapHeartArtist": "Tap the heart on an artist to add them to favorites",
|
|
"@tapHeartArtist": {
|
|
"description": "Hint to add artist favorite"
|
|
},
|
|
|
|
"noFavoriteAlbums": "No favorite albums",
|
|
"@noFavoriteAlbums": {
|
|
"description": "Empty favorite albums"
|
|
},
|
|
|
|
"tapHeartAlbum": "Tap the heart on an album to add it to favorites",
|
|
"@tapHeartAlbum": {
|
|
"description": "Hint to add album favorite"
|
|
},
|
|
|
|
"noFavoritePlaylists": "No favorite playlists",
|
|
"@noFavoritePlaylists": {
|
|
"description": "Empty favorite playlists"
|
|
},
|
|
|
|
"tapHeartPlaylist": "Tap the heart on a playlist to add it to favorites",
|
|
"@tapHeartPlaylist": {
|
|
"description": "Hint to add playlist favorite"
|
|
},
|
|
|
|
"noFavoriteTracks": "No favorite tracks",
|
|
"@noFavoriteTracks": {
|
|
"description": "Empty favorite tracks"
|
|
},
|
|
|
|
"longPressTrackHint": "Long-press a track and tap the heart to add it to favorites",
|
|
"@longPressTrackHint": {
|
|
"description": "Hint to add track favorite"
|
|
},
|
|
|
|
"loadSeries": "Load Series",
|
|
"@loadSeries": {
|
|
"description": "Button to load series"
|
|
},
|
|
|
|
"notConnected": "Not connected to Music Assistant",
|
|
"@notConnected": {
|
|
"description": "Disconnected state title"
|
|
},
|
|
|
|
"notConnectedTitle": "Not Connected",
|
|
"@notConnectedTitle": {
|
|
"description": "Disconnected state short title"
|
|
},
|
|
|
|
"connectHint": "Connect to your Music Assistant server to start listening",
|
|
"@connectHint": {
|
|
"description": "Hint to connect"
|
|
},
|
|
|
|
"configureServer": "Configure Server",
|
|
"@configureServer": {
|
|
"description": "Button to configure server"
|
|
},
|
|
|
|
"noArtistsFound": "No artists found",
|
|
"@noArtistsFound": {
|
|
"description": "Empty artists"
|
|
},
|
|
|
|
"noTracksFound": "No tracks found",
|
|
"@noTracksFound": {
|
|
"description": "Empty tracks"
|
|
},
|
|
|
|
"noPlaylistsFound": "No playlists found",
|
|
"@noPlaylistsFound": {
|
|
"description": "Empty playlists"
|
|
},
|
|
|
|
"queueIsEmpty": "Queue is empty",
|
|
"@queueIsEmpty": {
|
|
"description": "Empty queue"
|
|
},
|
|
|
|
"noResultsFound": "No results found",
|
|
"@noResultsFound": {
|
|
"description": "Empty search results"
|
|
},
|
|
|
|
"refresh": "Refresh",
|
|
"@refresh": {
|
|
"description": "Refresh button"
|
|
},
|
|
|
|
"debugConsole": "Debug Console",
|
|
"@debugConsole": {
|
|
"description": "Debug console title"
|
|
},
|
|
|
|
"copy": "Copy",
|
|
"@copy": {
|
|
"description": "Copy button"
|
|
},
|
|
|
|
"clear": "Clear",
|
|
"@clear": {
|
|
"description": "Clear button"
|
|
},
|
|
|
|
"noLogsToCopy": "No logs to copy",
|
|
"@noLogsToCopy": {
|
|
"description": "Message when no logs to copy"
|
|
},
|
|
|
|
"noDebugLogsYet": "No debug logs yet. Try detecting auth.",
|
|
"@noDebugLogsYet": {
|
|
"description": "Empty debug logs hint"
|
|
},
|
|
|
|
"showDebug": "Show Debug",
|
|
"@showDebug": {
|
|
"description": "Button to show debug"
|
|
},
|
|
|
|
"hideDebug": "Hide Debug",
|
|
"@hideDebug": {
|
|
"description": "Button to hide debug"
|
|
},
|
|
|
|
"chapters": "Chapters",
|
|
"@chapters": {
|
|
"description": "Chapters panel title"
|
|
},
|
|
|
|
"noChapters": "No chapters",
|
|
"@noChapters": {
|
|
"description": "Empty chapters title"
|
|
},
|
|
|
|
"noChapterInfo": "This audiobook has no chapter information",
|
|
"@noChapterInfo": {
|
|
"description": "Empty chapters message"
|
|
},
|
|
|
|
"errorSeeking": "Error seeking: {error}",
|
|
"@errorSeeking": {
|
|
"description": "Error when seeking",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"error": "Error: {error}",
|
|
"@error": {
|
|
"description": "Generic error message",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"home": "Home",
|
|
"@home": {
|
|
"description": "Home navigation label"
|
|
},
|
|
|
|
"library": "Library",
|
|
"@library": {
|
|
"description": "Library navigation label"
|
|
},
|
|
|
|
"homeScreen": "Home Screen",
|
|
"@homeScreen": {
|
|
"description": "Home screen settings section"
|
|
},
|
|
|
|
"metadataApis": "Metadata APIs",
|
|
"@metadataApis": {
|
|
"description": "Metadata APIs settings section"
|
|
},
|
|
|
|
"theme": "Theme",
|
|
"@theme": {
|
|
"description": "Theme settings section"
|
|
},
|
|
|
|
"materialYou": "Material You",
|
|
"@materialYou": {
|
|
"description": "Material You theme option"
|
|
},
|
|
|
|
"adaptiveTheme": "Adaptive Theme",
|
|
"@adaptiveTheme": {
|
|
"description": "Adaptive theme option"
|
|
},
|
|
|
|
"language": "Language",
|
|
"@language": {
|
|
"description": "Language setting"
|
|
},
|
|
|
|
"english": "English",
|
|
"@english": {
|
|
"description": "English language"
|
|
},
|
|
|
|
"german": "German",
|
|
"@german": {
|
|
"description": "German language"
|
|
},
|
|
|
|
"spanish": "Spanish",
|
|
"@spanish": {
|
|
"description": "Spanish language"
|
|
},
|
|
|
|
"french": "French",
|
|
"@french": {
|
|
"description": "French language"
|
|
},
|
|
|
|
"noTracksInPlaylist": "No tracks in playlist",
|
|
"sortAlphabetically": "Sort alphabetically",
|
|
"sortByYear": "Sort by year",
|
|
"sortBySeriesOrder": "Sort by series order",
|
|
"sortByDuration": "Sort by duration",
|
|
"newestFirst": "Newest first",
|
|
"oldestFirst": "Oldest first",
|
|
"viewDetails": "View details",
|
|
"listView": "List view",
|
|
"gridView": "Grid view",
|
|
"noBooksInSeries": "No books found in this series",
|
|
"artist": "Artist",
|
|
"showRecentlyPlayedAlbums": "Show recently played albums",
|
|
"showRandomArtists": "Show random artists to discover",
|
|
"showRandomAlbums": "Show random albums to discover",
|
|
"showAudiobooksInProgress": "Show audiobooks in progress",
|
|
"showRandomAudiobooks": "Show random audiobooks to discover",
|
|
"showRandomSeries": "Show random audiobook series to discover",
|
|
"showFavoriteAlbums": "Show a row of your favorite albums",
|
|
"showFavoriteArtists": "Show a row of your favorite artists",
|
|
"showFavoriteTracks": "Show a row of your favorite tracks",
|
|
"showFavoritePlaylists": "Show a row of your favorite playlists",
|
|
"showFavoriteRadioStations": "Show a row of your favorite radio stations",
|
|
"showFavoritePodcasts": "Show a row of your favorite podcasts",
|
|
"extractColorsFromArtwork": "Extract colors from album and artist artwork",
|
|
"chooseHomeScreenRows": "Choose which rows to display on the home screen",
|
|
"favorite": "Favorite",
|
|
"addedToFavorites": "Added to favorites",
|
|
"removedFromFavorites": "Removed from favorites",
|
|
"addedToLibrary": "Added to library",
|
|
"removedFromLibrary": "Removed from library",
|
|
"addToLibrary": "Add",
|
|
"unknown": "Unknown",
|
|
"noUpcomingTracks": "No upcoming tracks",
|
|
"showAll": "Show all",
|
|
"showFavoritesOnly": "Show favorites only",
|
|
"changeView": "Change view",
|
|
"authors": "Authors",
|
|
"series": "Series",
|
|
"shows": "Shows",
|
|
"podcasts": "Podcasts",
|
|
"podcastSupportComingSoon": "Podcast support coming soon",
|
|
"noPodcasts": "No podcasts",
|
|
"addPodcastsHint": "Subscribe to podcasts in Music Assistant",
|
|
"episodes": "Episodes",
|
|
"episode": "Episode",
|
|
"playlist": "Playlist",
|
|
"connectionError": "Connection Error",
|
|
"twoColumnGrid": "2-column grid",
|
|
"threeColumnGrid": "3-column grid",
|
|
"fromProviders": "From Providers",
|
|
|
|
"resume": "Resume",
|
|
"about": "About",
|
|
"inProgress": "In progress",
|
|
"narratedBy": "Narrated by {narrators}",
|
|
"@narratedBy": {
|
|
"placeholders": {
|
|
"narrators": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"unknownNarrator": "Unknown Narrator",
|
|
"unknownAuthor": "Unknown Author",
|
|
"loadingChapters": "Loading chapters...",
|
|
"noChapterInfoAvailable": "No chapter information available",
|
|
"percentComplete": "{percent}% complete",
|
|
"@percentComplete": {
|
|
"placeholders": {
|
|
"percent": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
"theAudioDbApiKey": "TheAudioDB API Key",
|
|
"theAudioDbApiKeyHint": "Use \"2\" for free tier or premium key",
|
|
"audiobookLibraries": "Audiobook Libraries",
|
|
"chooseAudiobookLibraries": "Choose which Audiobookshelf libraries to include",
|
|
"unknownLibrary": "Unknown Library",
|
|
"musicProviders": "Music Providers",
|
|
"musicProvidersDescription": "Choose which accounts to show in your library",
|
|
"libraryRefreshing": "Refreshing library...",
|
|
"cannotDisableLastProvider": "Cannot disable the last provider",
|
|
"noSeriesFound": "No Series Found",
|
|
"ensembleBugReport": "Ensemble Bug Report",
|
|
"byOwner": "By {owner}",
|
|
"@byOwner": {
|
|
"placeholders": {
|
|
"owner": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
"noSeriesAvailable": "No series available from your audiobook library.\nPull to refresh.",
|
|
"pullToLoadSeries": "Pull down to load series\nfrom Music Assistant",
|
|
|
|
"search": "Search",
|
|
"@search": {
|
|
"description": "Search navigation label"
|
|
},
|
|
|
|
"metadataApisDescription": "Artist images are automatically fetched from Deezer. Add API keys below for artist biographies and album descriptions.",
|
|
"@metadataApisDescription": {
|
|
"description": "Description for metadata APIs section"
|
|
},
|
|
|
|
"lastFmApiKey": "Last.fm API Key",
|
|
"@lastFmApiKey": {
|
|
"description": "Last.fm API key field label"
|
|
},
|
|
|
|
"lastFmApiKeyHint": "Get free key at last.fm/api",
|
|
"@lastFmApiKeyHint": {
|
|
"description": "Hint for Last.fm API key field"
|
|
},
|
|
|
|
"swipeToSwitchDevice": "Swipe to change player",
|
|
"@swipeToSwitchDevice": {
|
|
"description": "Hint for device switching gesture"
|
|
},
|
|
|
|
"chapterNumber": "Chapter {number}",
|
|
"@chapterNumber": {
|
|
"description": "Chapter number display",
|
|
"placeholders": {
|
|
"number": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
|
|
"pcmAudio": "PCM Audio",
|
|
"@pcmAudio": {
|
|
"description": "PCM audio format label"
|
|
},
|
|
|
|
"playOn": "Play on...",
|
|
"@playOn": {
|
|
"description": "Bottom sheet title for selecting player"
|
|
},
|
|
|
|
"addAlbumToQueueOn": "Add album to queue on...",
|
|
"@addAlbumToQueueOn": {
|
|
"description": "Bottom sheet title for adding album to queue"
|
|
},
|
|
|
|
"addToQueue": "Add to queue",
|
|
"@addToQueue": {
|
|
"description": "Add item to queue on selected player"
|
|
},
|
|
|
|
"addToQueueOn": "Add to queue on...",
|
|
"@addToQueueOn": {
|
|
"description": "Bottom sheet title for adding to queue"
|
|
},
|
|
|
|
"startRadio": "Start radio",
|
|
"@startRadio": {
|
|
"description": "Start radio on selected player"
|
|
},
|
|
|
|
"startRadioOn": "Start {name} radio on...",
|
|
"@startRadioOn": {
|
|
"description": "Bottom sheet title for starting radio",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"book": "book",
|
|
"@book": {
|
|
"description": "Singular form of book"
|
|
},
|
|
|
|
"audiobookSingular": "audiobook",
|
|
"@audiobookSingular": {
|
|
"description": "Singular form of audiobook"
|
|
},
|
|
|
|
"albumSingular": "Album",
|
|
"@albumSingular": {
|
|
"description": "Singular form of album for search type indicator"
|
|
},
|
|
|
|
"trackSingular": "Track",
|
|
"@trackSingular": {
|
|
"description": "Singular form of track for search type indicator"
|
|
},
|
|
|
|
"podcastSingular": "Podcast",
|
|
"@podcastSingular": {
|
|
"description": "Singular form of podcast for search type indicator"
|
|
},
|
|
|
|
"trackCount": "{count} {count, plural, =1{track} other{tracks}}",
|
|
"@trackCount": {
|
|
"description": "Track count with plural",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
|
|
"materialYouDescription": "Use system colors (Android 12+)",
|
|
"@materialYouDescription": {
|
|
"description": "Description for Material You theme option"
|
|
},
|
|
|
|
"accentColor": "Accent Color",
|
|
"@accentColor": {
|
|
"description": "Accent color selection label"
|
|
},
|
|
|
|
"players": "Players",
|
|
"@players": {
|
|
"description": "Players settings section title"
|
|
},
|
|
|
|
"preferLocalPlayer": "Prefer Local Player",
|
|
"@preferLocalPlayer": {
|
|
"description": "Setting to always prefer local player"
|
|
},
|
|
|
|
"preferLocalPlayerDescription": "Always select this device first when available",
|
|
"@preferLocalPlayerDescription": {
|
|
"description": "Description for prefer local player setting"
|
|
},
|
|
|
|
"smartSortPlayers": "Smart Sort",
|
|
"@smartSortPlayers": {
|
|
"description": "Setting to sort players by status"
|
|
},
|
|
|
|
"smartSortPlayersDescription": "Sort by status (playing, on, off) instead of alphabetically",
|
|
"@smartSortPlayersDescription": {
|
|
"description": "Description for smart sort players setting"
|
|
},
|
|
|
|
"disableAutoSwitch": "Disable Auto-Switch",
|
|
"@disableAutoSwitch": {
|
|
"description": "Setting to disable automatic player switching"
|
|
},
|
|
|
|
"disableAutoSwitchDescription": "Never automatically switch to a different player",
|
|
"@disableAutoSwitchDescription": {
|
|
"description": "Description for disable auto-switch setting"
|
|
},
|
|
|
|
"playerStateUnavailable": "Unavailable",
|
|
"@playerStateUnavailable": {
|
|
"description": "Player state when unavailable"
|
|
},
|
|
|
|
"playerStateOff": "Off",
|
|
"@playerStateOff": {
|
|
"description": "Player state when powered off"
|
|
},
|
|
|
|
"playerStateIdle": "Idle",
|
|
"@playerStateIdle": {
|
|
"description": "Player state when idle"
|
|
},
|
|
|
|
"playerStateExternalSource": "External Source",
|
|
"@playerStateExternalSource": {
|
|
"description": "Player state when playing from external source (optical, Spotify, etc.)"
|
|
},
|
|
|
|
"playerSelected": "Selected",
|
|
"@playerSelected": {
|
|
"description": "Label for selected player"
|
|
},
|
|
|
|
"actionQueuedForSync": "Will sync when online",
|
|
"@actionQueuedForSync": {
|
|
"description": "Message when action is queued for sync while offline"
|
|
},
|
|
|
|
"pendingOfflineActions": "{count} pending sync",
|
|
"@pendingOfflineActions": {
|
|
"description": "Shows number of pending offline actions",
|
|
"placeholders": {
|
|
"count": {
|
|
"type": "int"
|
|
}
|
|
}
|
|
},
|
|
|
|
"hintsAndTips": "Hints & Tips",
|
|
"@hintsAndTips": {
|
|
"description": "Settings section title for hints"
|
|
},
|
|
|
|
"showHints": "Show Hints",
|
|
"@showHints": {
|
|
"description": "Toggle label for showing hints"
|
|
},
|
|
|
|
"showHintsDescription": "Display helpful tips for discovering features",
|
|
"@showHintsDescription": {
|
|
"description": "Description for show hints toggle"
|
|
},
|
|
|
|
"volumePrecisionMode": "Volume Precision Mode",
|
|
"@volumePrecisionMode": {
|
|
"description": "Setting for fine volume control"
|
|
},
|
|
|
|
"volumePrecisionModeDescription": "Hold still while adjusting volume for fine control",
|
|
"@volumePrecisionModeDescription": {
|
|
"description": "Description for volume precision mode setting"
|
|
},
|
|
|
|
"display": "Display",
|
|
"@display": {
|
|
"description": "Settings section title for display options"
|
|
},
|
|
|
|
"showProviderIcons": "Show Provider Icons",
|
|
"@showProviderIcons": {
|
|
"description": "Toggle label for showing provider icons on album art"
|
|
},
|
|
|
|
"showProviderIconsDescription": "Display provider logos on album art",
|
|
"@showProviderIconsDescription": {
|
|
"description": "Description for show provider icons toggle"
|
|
},
|
|
|
|
"pullToSelectPlayers": "Pull to select players",
|
|
"@pullToSelectPlayers": {
|
|
"description": "Hint shown when mini player bounces"
|
|
},
|
|
|
|
"holdToSync": "Long-press to sync",
|
|
"@holdToSync": {
|
|
"description": "Hint for long-press to sync players"
|
|
},
|
|
|
|
"swipeToAdjustVolume": "Swipe to adjust volume",
|
|
"@swipeToAdjustVolume": {
|
|
"description": "Hint for swiping left/right to adjust player volume"
|
|
},
|
|
|
|
"selectPlayerHint": "Choose a player, or dismiss by swiping down",
|
|
"@selectPlayerHint": {
|
|
"description": "First-time hint for selecting a player in device selector"
|
|
},
|
|
|
|
"welcomeToEnsemble": "Welcome to Ensemble",
|
|
"@welcomeToEnsemble": {
|
|
"description": "Welcome message title for onboarding"
|
|
},
|
|
|
|
"welcomeMessage": "By default your phone is the selected player.\nPull the mini player down to select another player.",
|
|
"@welcomeMessage": {
|
|
"description": "Welcome message body explaining how to select players"
|
|
},
|
|
|
|
"skip": "Skip",
|
|
"@skip": {
|
|
"description": "Button to skip onboarding or hints"
|
|
},
|
|
|
|
"dismissPlayerHint": "Swipe down, tap outside, or press back to return",
|
|
"@dismissPlayerHint": {
|
|
"description": "Hint explaining how to dismiss the player selector"
|
|
},
|
|
|
|
"playingAlbum": "Playing {albumName}",
|
|
"@playingAlbum": {
|
|
"description": "Message shown when starting to play an album",
|
|
"placeholders": {
|
|
"albumName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"playingPlaylist": "Playing {playlistName}",
|
|
"@playingPlaylist": {
|
|
"description": "Message shown when starting to play a playlist",
|
|
"placeholders": {
|
|
"playlistName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"noTracks": "No tracks",
|
|
"@noTracks": {
|
|
"description": "Empty state title when no tracks exist in library"
|
|
},
|
|
|
|
"addTracksHint": "Add some music to your library to see tracks here",
|
|
"@addTracksHint": {
|
|
"description": "Hint for adding tracks to library"
|
|
},
|
|
|
|
"noFavoriteRadioStations": "No favorite radio stations",
|
|
"@noFavoriteRadioStations": {
|
|
"description": "Empty state when no favorite radio stations"
|
|
},
|
|
|
|
"longPressRadioHint": "Long-press a station and tap the heart to add it to favorites",
|
|
"@longPressRadioHint": {
|
|
"description": "Hint for favoriting radio stations"
|
|
},
|
|
|
|
"noFavoritePodcasts": "No favorite podcasts",
|
|
"@noFavoritePodcasts": {
|
|
"description": "Empty state when no favorite podcasts"
|
|
},
|
|
|
|
"longPressPodcastHint": "Long-press a podcast and tap the heart to add it to favorites",
|
|
"@longPressPodcastHint": {
|
|
"description": "Hint for favoriting podcasts"
|
|
},
|
|
|
|
"failedToPlayRadioStation": "Failed to play radio station: {error}",
|
|
"@failedToPlayRadioStation": {
|
|
"description": "Error when playing radio station fails",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"itemAlreadyInLibrary": "Item is already in library",
|
|
"@itemAlreadyInLibrary": {
|
|
"description": "Message when trying to add item already in library"
|
|
},
|
|
|
|
"failedToAddToLibrary": "Failed to add to library",
|
|
"@failedToAddToLibrary": {
|
|
"description": "Error when adding to library fails"
|
|
},
|
|
|
|
"cannotFindLibraryId": "Cannot find library ID for removal",
|
|
"@cannotFindLibraryId": {
|
|
"description": "Error when library ID not found for removal"
|
|
},
|
|
|
|
"failedToRemoveFromLibrary": "Failed to remove from library",
|
|
"@failedToRemoveFromLibrary": {
|
|
"description": "Error when removing from library fails"
|
|
},
|
|
|
|
"failedToPlayAlbum": "Failed to play album: {error}",
|
|
"@failedToPlayAlbum": {
|
|
"description": "Error when playing album fails",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"playingOnPlayer": "Playing {name} on {playerName}",
|
|
"@playingOnPlayer": {
|
|
"description": "Status when playing item on specific player",
|
|
"placeholders": {
|
|
"name": {
|
|
"type": "String"
|
|
},
|
|
"playerName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToPlayPlaylist": "Failed to play playlist: {error}",
|
|
"@failedToPlayPlaylist": {
|
|
"description": "Error when playing playlist fails",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToPlayAudiobook": "Failed to play audiobook: {error}",
|
|
"@failedToPlayAudiobook": {
|
|
"description": "Error when playing audiobook fails",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"noOtherPlayersAvailable": "No other players available",
|
|
"@noOtherPlayersAvailable": {
|
|
"description": "Message when no other players available for transfer"
|
|
},
|
|
|
|
"transferQueue": "Transfer queue",
|
|
"@transferQueue": {
|
|
"description": "Tooltip for transfer queue button"
|
|
},
|
|
|
|
"clearQueue": "Clear queue",
|
|
"@clearQueue": {
|
|
"description": "Tooltip for clear queue button"
|
|
},
|
|
|
|
"syncingPlayer": "Syncing {playerName}...",
|
|
"@syncingPlayer": {
|
|
"description": "Status when syncing player",
|
|
"placeholders": {
|
|
"playerName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"switchPlayer": "Switch Player",
|
|
"@switchPlayer": {
|
|
"description": "Label for switch player action"
|
|
},
|
|
|
|
"logsCopiedToClipboard": "Logs copied to clipboard",
|
|
"@logsCopiedToClipboard": {
|
|
"description": "Confirmation when logs copied"
|
|
},
|
|
|
|
"auto": "Auto",
|
|
"@auto": {
|
|
"description": "Auto option for language selection"
|
|
},
|
|
|
|
"transferQueueTo": "Transfer Queue To",
|
|
"@transferQueueTo": {
|
|
"description": "Title for transfer queue dialog"
|
|
},
|
|
|
|
"queueTransferredTo": "Queue transferred to {playerName}",
|
|
"@queueTransferredTo": {
|
|
"description": "Success message when queue transferred",
|
|
"placeholders": {
|
|
"playerName": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToTransferQueue": "Failed to transfer queue: {error}",
|
|
"@failedToTransferQueue": {
|
|
"description": "Error when queue transfer fails",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"failedToLoadQueue": "Failed to load queue: {error}",
|
|
"@failedToLoadQueue": {
|
|
"description": "Error when queue loading fails",
|
|
"placeholders": {
|
|
"error": {
|
|
"type": "String"
|
|
}
|
|
}
|
|
},
|
|
|
|
"transferTo": "Transfer to...",
|
|
"@transferTo": {
|
|
"description": "Label for transfer destination selection"
|
|
},
|
|
|
|
"transferQueueToPlayer": "Transfer queue to another player",
|
|
"@transferQueueToPlayer": {
|
|
"description": "Tooltip for transfer queue button"
|
|
},
|
|
|
|
"selectPlayerToPlay": "Select a player",
|
|
"@selectPlayerToPlay": {
|
|
"description": "Generic hint for selecting a player in player selector"
|
|
},
|
|
|
|
"selectPlayerToPlayAlbum": "Select player to play album",
|
|
"@selectPlayerToPlayAlbum": {
|
|
"description": "Hint for selecting player to play album"
|
|
},
|
|
|
|
"selectPlayerToPlayPlaylist": "Select player to play playlist",
|
|
"@selectPlayerToPlayPlaylist": {
|
|
"description": "Hint for selecting player to play playlist"
|
|
},
|
|
|
|
"selectPlayerForRadio": "Select player for radio",
|
|
"@selectPlayerForRadio": {
|
|
"description": "Hint for selecting player to start radio"
|
|
},
|
|
|
|
"selectPlayerForEpisode": "Select player for episode",
|
|
"@selectPlayerForEpisode": {
|
|
"description": "Hint for selecting player to play episode"
|
|
},
|
|
|
|
"selectPlayerForAudiobook": "Select player for audiobook",
|
|
"@selectPlayerForAudiobook": {
|
|
"description": "Hint for selecting player to play audiobook"
|
|
},
|
|
|
|
"selectPlayerToAddToQueue": "Select player to add to queue",
|
|
"@selectPlayerToAddToQueue": {
|
|
"description": "Hint for selecting player to add to queue"
|
|
},
|
|
|
|
"aboutAndSupport": "About & Support",
|
|
"@aboutAndSupport": {
|
|
"description": "About and support section title"
|
|
},
|
|
|
|
"supportDevelopment": "Support Development",
|
|
"@supportDevelopment": {
|
|
"description": "Support development section"
|
|
},
|
|
|
|
"ensembleIsUnofficial": "Ensemble is an unofficial, community-built client. Consider supporting its development.",
|
|
"@ensembleIsUnofficial": {
|
|
"description": "Description about Ensemble being unofficial"
|
|
},
|
|
|
|
"sponsorOnGitHub": "Sponsor on GitHub",
|
|
"@sponsorOnGitHub": {
|
|
"description": "GitHub Sponsors button label"
|
|
},
|
|
|
|
"buyMeAKoFi": "Buy me a Ko-fi",
|
|
"@buyMeAKoFi": {
|
|
"description": "Ko-fi donation button label"
|
|
},
|
|
|
|
"aboutEnsemble": "About Ensemble",
|
|
"@aboutEnsemble": {
|
|
"description": "About Ensemble section"
|
|
},
|
|
|
|
"version": "Version",
|
|
"@version": {
|
|
"description": "Version label"
|
|
},
|
|
|
|
"visitGitHubRepo": "Visit GitHub Repository",
|
|
"@visitGitHubRepo": {
|
|
"description": "Link to GitHub repo"
|
|
},
|
|
|
|
"reportABug": "Report a Bug",
|
|
"@reportABug": {
|
|
"description": "Link to report issues"
|
|
},
|
|
|
|
"noRowsEnabled": "No rows enabled",
|
|
"@noRowsEnabled": {
|
|
"description": "Empty state when no home screen rows are enabled"
|
|
},
|
|
|
|
"pullToRefreshHint": "Pull down to refresh or enable rows in settings",
|
|
"@pullToRefreshHint": {
|
|
"description": "Hint when home screen is empty"
|
|
}
|
|
}
|