Files
Redesnigned-Finamp/lib/l10n/app_en.arb
T
Zakaria 1563409cb1
Build / Build for Android (push) Has been cancelled
Build / Build for iOS (push) Has been cancelled
first commit
2026-05-18 14:15:38 -04:00

588 lines
19 KiB
Plaintext

{
"startupError": "Something went wrong during app startup. The error was: {error}\n\nPlease create an issue on github.com/UnicornsOnLSD/finamp with a screenshot of this page. If this problem persists you can clear your app data to reset the app.",
"@startupError": {
"description": "The error message that shows when startup fails.",
"placeholders": {
"error": {
"type": "String",
"example": "Failed to open download DB"
}
}
},
"serverUrl": "Server URL",
"@serverUrl": {},
"internalExternalIpExplanation": "If you want to be able to access your Jellyfin server remotely, you need to use your external IP.\n\nIf your server is on a HTTP port (80/443), you don't have to specify a port. This will likely be the case if your server is behind a reverse proxy.",
"@internalExternalIpExplanation": {
"description": "Extra info for which IP to use for remote access, and info on whether or not the user needs to specify a port."
},
"emptyServerUrl": "Server URL cannot be empty",
"@emptyServerUrl": {
"description": "Error message that shows when the user submits a login without a server URL"
},
"urlStartWithHttps": "URL must start with http:// or https://",
"@urlStartWithHttps": {
"description": "Error message that shows when the user submits a server URL that doesn't start with http:// or https:// (for example, ftp://0.0.0.0"
},
"urlTrailingSlash": "URL must not include a trailing slash",
"@urlTrailingSlash": {
"description": "Error message that shows when the user submits a server URL that ends with a trailing slash (for example, http://0.0.0.0/)"
},
"username": "Username",
"@username": {},
"password": "Password",
"@password": {},
"logs": "Logs",
"@logs": {},
"next": "Next",
"@next": {},
"selectMusicLibraries": "Select Music Libraries",
"@selectMusicLibraries": {
"description": "App bar title for library select screen"
},
"couldNotFindLibraries": "Could not find any libraries.",
"@couldNotFindLibraries": {
"description": "Error message when the user does not have any libraries"
},
"unknownName": "Unknown Name",
"@unknownName": {},
"songs": "Songs",
"@songs": {},
"albums": "Albums",
"@albums": {},
"artists": "Artists",
"@artists": {},
"genres": "Genres",
"@genres": {},
"playlists": "Playlists",
"@playlists": {},
"startMix": "Start Mix",
"@startMix": {},
"startMixNoSongsArtist": "Long-press an artist to add or remove it from the mix builder before starting a mix",
"@startMixNoSongsArtist": {
"description": "Snackbar message that shows when the user presses the instant mix button with no artists selected"
},
"startMixNoSongsAlbum": "Long-press an album to add or remove it from the mix builder before starting a mix",
"@startMixNoSongsAlbum": {
"description": "Snackbar message that shows when the user presses the instant mix button with no albums selected"
},
"music": "Music",
"@music": {},
"clear": "Clear",
"@clear": {},
"favourites": "Favourites",
"@favourites": {},
"shuffleAll": "Shuffle all",
"@shuffleAll": {},
"finamp": "Finamp",
"@finamp": {},
"downloads": "Downloads",
"@downloads": {},
"settings": "Settings",
"@settings": {},
"offlineMode": "Offline Mode",
"@offlineMode": {},
"sortOrder": "Sort order",
"@sortOrder": {},
"sortBy": "Sort by",
"@sortBy": {},
"album": "Album",
"@album": {},
"albumArtist": "Album Artist",
"@albumArtist": {},
"artist": "Artist",
"@artist": {},
"budget": "Budget",
"@budget": {},
"communityRating": "Community Rating",
"@communityRating": {},
"criticRating": "Critic Rating",
"@criticRating": {},
"dateAdded": "Date Added",
"@dateAdded": {},
"datePlayed": "Date Played",
"@datePlayed": {},
"playCount": "Play Count",
"@playCount": {},
"premiereDate": "Premiere Date",
"@premiereDate": {},
"productionYear": "Production Year",
"@productionYear": {},
"name": "Name",
"@name": {},
"random": "Random",
"@random": {},
"revenue": "Revenue",
"@revenue": {},
"runtime": "Runtime",
"@runtime": {},
"syncDownloadedPlaylists": "Sync downloaded playlists",
"@syncDownloadedPlaylists": {},
"downloadMissingImages": "Download missing images",
"@downloadMissingImages": {},
"downloadedMissingImages": "{count,plural, =0{No missing images found} =1{Downloaded {count} missing image} other{Downloaded {count} missing images}}",
"@downloadedMissingImages": {
"description": "Message that shows when the user downloads missing images",
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadErrors": "Download errors",
"@downloadErrors": {},
"downloadCount": "{count,plural, =1{{count} download} other{{count} downloads}}",
"@downloadCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadedItemsCount": "{count,plural,=1{{count} item} other{{count} items}}",
"@downloadedItemsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadedImagesCount": "{count,plural,=1{{count} image} other{{count} images}}",
"@downloadedImagesCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadedItemsImagesCount": "{downloadedItems}, {downloadedImages}",
"@downloadedItemsImagesCount": {
"description": "This is for merging downloadedItemsCount and downloadedImagesCount as Flutter's intl stuff doesn't support multiple plurals in one string. https://github.com/flutter/flutter/issues/86906",
"placeholders": {
"downloadedItems": {
"type": "String",
"example": "12 downloads"
},
"downloadedImages": {
"type": "String",
"example": "1 image"
}
}
},
"dlComplete": "{count} complete",
"@dlComplete": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"dlFailed": "{count} failed",
"@dlFailed": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"dlEnqueued": "{count} enqueued",
"@dlEnqueued": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"dlRunning": "{count} running",
"@dlRunning": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"downloadErrorsTitle": "Download Errors",
"@downloadErrorsTitle": {},
"noErrors": "No errors!",
"@noErrors": {},
"errorScreenError": "An error occurred while getting the list of errors! At this point, you should probably just create an issue on GitHub and delete app data",
"@errorScreenError": {},
"failedToGetSongFromDownloadId": "Failed to get song from download ID",
"@failedToGetSongFromDownloadId": {},
"deleteDownloadsPrompt": "Are you sure you want to delete the {itemType, select, album{album} playlist{playlist} artist{artist} genre{genre} track{song} other{}} '{itemName}' from this device?",
"@deleteDownloadsPrompt": {
"placeholders": {
"itemName": {
"type": "String",
"example": "Abandon Ship"
},
"itemType": {
"type": "String",
"example": "album"
}
},
"description": "Confirmation prompt shown before deleting downloaded media from the local device, destructive action, doesn't affect the media on the server."
},
"deleteDownloadsConfirmButtonText": "Delete",
"@deleteDownloadsConfirmButtonText": {
"description": "Shown in the confirmation dialog for deleting downloaded media from the local device."
},
"deleteDownloadsAbortButtonText": "Cancel",
"error": "Error",
"@error": {},
"discNumber": "Disc {number}",
"@discNumber": {
"placeholders": {
"number": {
"type": "int"
}
}
},
"playButtonLabel": "PLAY",
"@playButtonLabel": {},
"shuffleButtonLabel": "SHUFFLE",
"@shuffleButtonLabel": {},
"songCount": "{count,plural,=1{{count} Song} other{{count} Songs}}",
"@songCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"editPlaylistNameTooltip": "Edit playlist name",
"@editPlaylistNameTooltip": {},
"editPlaylistNameTitle": "Edit Playlist Name",
"@editPlaylistNameTitle": {},
"required": "Required",
"@required": {},
"updateButtonLabel": "UPDATE",
"@updateButtonLabel": {},
"playlistNameUpdated": "Playlist name updated.",
"@playlistNameUpdated": {},
"favourite": "Favourite",
"@favourite": {},
"downloadsDeleted": "Downloads deleted.",
"@downloadsDeleted": {},
"addDownloads": "Add Downloads",
"@addDownloads": {},
"location": "Location",
"@location": {},
"downloadsAdded": "Downloads added.",
"@downloadsAdded": {},
"addButtonLabel": "ADD",
"@addButtonLabel": {},
"shareLogs": "Share logs",
"@shareLogs": {},
"logsCopied": "Logs copied.",
"@logsCopied": {},
"message": "Message",
"@message": {},
"stackTrace": "Stack Trace",
"@stackTrace": {},
"applicationLegalese": "Licensed with the Mozilla Public License 2.0. Source code available at:\n\ngithub.com/jmshrv/finamp",
"@applicationLegalese": {},
"transcoding": "Transcoding",
"@transcoding": {},
"downloadLocations": "Download Locations",
"@downloadLocations": {},
"audioService": "Audio Service",
"@audioService": {},
"interactions": "Interactions",
"@interactions": {},
"layoutAndTheme": "Layout & Theme",
"@layoutAndTheme": {},
"notAvailableInOfflineMode": "Not available in offline mode",
"@notAvailableInOfflineMode": {},
"logOut": "Log Out",
"@logOut": {},
"downloadedSongsWillNotBeDeleted": "Downloaded songs will not be deleted",
"@downloadedSongsWillNotBeDeleted": {},
"areYouSure": "Are you sure?",
"@areYouSure": {},
"jellyfinUsesAACForTranscoding": "Jellyfin uses AAC for transcoding",
"@jellyfinUsesAACForTranscoding": {},
"enableTranscoding": "Enable Transcoding",
"@enableTranscoding": {},
"enableTranscodingSubtitle": "Transcodes music streams on the server side.",
"@enableTranscodingSubtitle": {},
"bitrate": "Bitrate",
"@bitrate": {},
"bitrateSubtitle": "A higher bitrate gives higher quality audio at the cost of higher bandwidth.",
"@bitrateSubtitle": {},
"customLocation": "Custom Location",
"@customLocation": {},
"appDirectory": "App Directory",
"@appDirectory": {},
"addDownloadLocation": "Add Download Location",
"@addDownloadLocation": {},
"selectDirectory": "Select Directory",
"@selectDirectory": {},
"unknownError": "Unknown Error",
"@unknownError": {},
"pathReturnSlashErrorMessage": "Paths that return \"/\" can't be used",
"@pathReturnSlashErrorMessage": {},
"directoryMustBeEmpty": "Directory must be empty",
"@directoryMustBeEmpty": {},
"customLocationsBuggy": "Custom locations are extremely buggy due to issues with permissions. I'm thinking of ways to fix this, but for now I wouldn't recommend using them.",
"@customLocationsBuggy": {},
"enterLowPriorityStateOnPause": "Enter Low-Priority State on Pause",
"@enterLowPriorityStateOnPause": {},
"enterLowPriorityStateOnPauseSubtitle": "Lets the notification be swiped away when paused. Also allows Android to kill the service when paused.",
"@enterLowPriorityStateOnPauseSubtitle": {},
"shuffleAllSongCount": "Shuffle All Song Count",
"@shuffleAllSongCount": {},
"shuffleAllSongCountSubtitle": "Amount of songs to load when using the shuffle all songs button.",
"@shuffleAllSongCountSubtitle": {},
"viewType": "View Type",
"@viewType": {},
"viewTypeSubtitle": "View type for the music screen",
"@viewTypeSubtitle": {},
"list": "List",
"@list": {},
"grid": "Grid",
"@grid": {},
"portrait": "Portrait",
"@portrait": {},
"landscape": "Landscape",
"@landscape": {},
"gridCrossAxisCount": "{value} Grid Cross-Axis Count",
"@gridCrossAxisCount": {
"description": "List tile title for grid cross axis count. Value will either be the portrait or landscape key.",
"placeholders": {
"value": {
"type": "String",
"example": "Portrait"
}
}
},
"gridCrossAxisCountSubtitle": "Amount of grid tiles to use per-row when {value}.",
"@gridCrossAxisCountSubtitle": {
"description": "List tile subtitle for grid cross axis count. Value will either be the portrait or landscape key.",
"placeholders": {
"value": {
"type": "String",
"example": "landscape"
}
}
},
"showTextOnGridView": "Show text in grid view",
"@showTextOnGridView": {},
"showTextOnGridViewSubtitle": "Whether or not to show the text (title, artist etc) on the grid music screen.",
"@showTextOnGridViewSubtitle": {},
"showCoverAsPlayerBackground": "Show blurred cover as player background",
"@showCoverAsPlayerBackground": {},
"showCoverAsPlayerBackgroundSubtitle": "Whether or not to use blurred cover art as background on player screen.",
"@showCoverAsPlayerBackgroundSubtitle": {},
"hideSongArtistsIfSameAsAlbumArtists": "Hide song artists if same as album artists",
"@hideSongArtistsIfSameAsAlbumArtists": {},
"hideSongArtistsIfSameAsAlbumArtistsSubtitle": "Whether to show song artists on the album screen if not differing from album artists.",
"@hideSongArtistsIfSameAsAlbumArtistsSubtitle": {},
"disableGesture": "Disable gestures",
"@disableGesture": {},
"disableGestureSubtitle": "Whether to disables gestures.",
"@disableGestureSubtitle": {},
"showFastScroller": "Show fast scroller",
"@showFastScroller": {},
"theme": "Theme",
"@theme": {},
"system": "System",
"@system": {},
"light": "Light",
"@light": {},
"dark": "Dark",
"@dark": {},
"tabs": "Tabs",
"@tabs": {},
"cancelSleepTimer": "Cancel Sleep Timer?",
"@cancelSleepTimer": {},
"yesButtonLabel": "YES",
"@yesButtonLabel": {},
"noButtonLabel": "NO",
"@noButtonLabel": {},
"setSleepTimer": "Set Sleep Timer",
"@setSleepTimer": {},
"minutes": "Minutes",
"@minutes": {},
"invalidNumber": "Invalid Number",
"@invalidNumber": {},
"sleepTimerTooltip": "Sleep timer",
"@sleepTimerTooltip": {},
"addToPlaylistTooltip": "Add to playlist",
"@addToPlaylistTooltip": {},
"addToPlaylistTitle": "Add to Playlist",
"@addToPlaylistTitle": {},
"removeFromPlaylistTooltip": "Remove from playlist",
"@removeFromPlaylistTooltip": {},
"removeFromPlaylistTitle": "Remove from Playlist",
"@removeFromPlaylistTitle": {},
"newPlaylist": "New Playlist",
"@newPlaylist": {},
"createButtonLabel": "CREATE",
"@createButtonLabel": {},
"playlistCreated": "Playlist created.",
"@playlistCreated": {},
"noAlbum": "No Album",
"@noAlbum": {},
"noItem": "No Item",
"@noItem": {},
"noArtist": "No Artist",
"@noArtist": {},
"unknownArtist": "Unknown Artist",
"@unknownArtist": {},
"streaming": "STREAMING",
"@streaming": {},
"downloaded": "DOWNLOADED",
"@downloaded": {},
"transcode": "TRANSCODE",
"@transcode": {},
"direct": "DIRECT",
"@direct": {},
"statusError": "STATUS ERROR",
"@statusError": {},
"queue": "Queue",
"@queue": {},
"addToQueue": "Add to Queue",
"@addToQueue": {
"description": "Popup menu item title for adding an item to the end of the play queue."
},
"playNext": "Play Next",
"@playNext": {
"description": "Popup menu item title for inserting an item into the play queue after the currently-playing item."
},
"replaceQueue": "Replace Queue",
"@replaceQueue": {},
"instantMix": "Instant Mix",
"@instantMix": {},
"goToAlbum": "Go to Album",
"@goToAlbum": {},
"removeFavourite": "Remove Favourite",
"@removeFavourite": {},
"addFavourite": "Add Favourite",
"@addFavourite": {},
"addedToQueue": "Added to queue.",
"@addedToQueue": {
"description": "Snackbar message that shows when the user successfully adds items to the end of the play queue."
},
"insertedIntoQueue": "Inserted into queue.",
"@insertedIntoQueue": {
"description": "Snackbar message that shows when the user successfully inserts items into the play queue at a location that is not necessarily the end."
},
"queueReplaced": "Queue replaced.",
"@queueReplaced": {},
"removedFromPlaylist": "Removed from playlist.",
"@removedFromPlaylist": {},
"startingInstantMix": "Starting instant mix.",
"@startingInstantMix": {},
"anErrorHasOccured": "An error has occured.",
"@anErrorHasOccured": {},
"responseError": "{error} Status code {statusCode}.",
"@responseError": {
"placeholders": {
"error": {
"type": "String",
"example": "Forbidden"
},
"statusCode": {
"type": "int",
"example": "403"
}
}
},
"responseError401": "{error} Status code {statusCode}. This probably means you used the wrong username/password, or your client is no longer logged in.",
"@responseError401": {
"placeholders": {
"error": {
"type": "String",
"example": "Unauthorized"
},
"statusCode": {
"type": "int",
"example": "401"
}
}
},
"removeFromMix": "Remove From Mix",
"@removeFromMix": {},
"addToMix": "Add To Mix",
"@addToMix": {},
"redownloadedItems": "{count,plural, =0{No redownloads needed.} =1{Redownloaded {count} item} other{Redownloaded {count} items}}",
"@redownloadedItems": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"bufferDuration": "Buffer Duration",
"@bufferDuration": {},
"bufferDurationSubtitle": "How much the player should buffer, in seconds. Requires a restart.",
"@bufferDurationSubtitle": {},
"language": "Language",
"confirm": "Confirm",
"showUncensoredLogMessage": "This log contains your login information. Show?",
"resetTabs": "Reset tabs",
"noMusicLibrariesTitle": "No Music Libraries",
"@noMusicLibrariesTitle": {
"description": "Title for message that shows on the views screen when no music libraries could be found."
},
"noMusicLibrariesBody": "Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".",
"refresh": "REFRESH",
"swipeInsertQueueNext": "Play Swiped Song Next",
"@swipeInsertQueueNext": {},
"swipeInsertQueueNextSubtitle": "Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.",
"@swipeInsertQueueNextSubtitle": {},
"redesignBeta": "Try the Beta",
"@redesignBeta": {},
"playbackOrderShuffledTooltip": "Shuffling. Tap to toggle.",
"@playbackOrderShuffledTooltip": {},
"playbackOrderLinearTooltip": "Playing in order. Tap to toggle.",
"@playbackOrderLinearTooltip": {},
"loopModeAllTooltip": "Looping all. Tap to toggle.",
"@loopModeAllTooltip": {},
"loopModeOneTooltip": "Looping one. Tap to toggle.",
"@loopModeOneTooltip": {},
"loopModeNoneTooltip": "Not looping. Tap to toggle.",
"@loopModeNoneTooltip": {},
"skipToPrevious": "Skip to Previous Song",
"@skipToPrevious": {},
"skipToNext": "Skip to Next Song",
"@skipToNext": {},
"togglePlayback": "Toggle Playback",
"@togglePlayback": {},
"playArtist": "Play all albums by {artist}",
"@playArtist": {
"placeholders": {
"artist": {
"type": "String",
"example": "The Beatles"
}
}
},
"shuffleArtist": "Shuffle all albums by {artist}",
"@shuffleArtist": {
"placeholders": {
"artist": {
"type": "String",
"example": "The Beatles"
}
}
},
"downloadArtist": "Download all albums by {artist}",
"@downloadArtist": {
"placeholders": {
"artist": {
"type": "String",
"example": "The Beatles"
}
}
},
"deleteFromDevice": "Delete from Device",
"@deleteFromDevice": {},
"download": "Download",
"@download": {},
"sync": "Synchronize with Server",
"@sync": {},
"about": "About Finamp",
"@about": {}
}