From 479cb8b3bac6e3290ff68eab7b0bfc4bd9076dfe Mon Sep 17 00:00:00 2001 From: Georg Krause Date: Sat, 9 Dec 2023 12:26:35 +0000 Subject: [PATCH] Translated using Weblate (English) Currently translated at 100.0% (2182 of 2182 strings) Translation: Funkwhale/Funkwhale Web Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/front/en/ --- front/src/locales/en_US.json | 4696 +++++++++++++++++----------------- 1 file changed, 2347 insertions(+), 2349 deletions(-) diff --git a/front/src/locales/en_US.json b/front/src/locales/en_US.json index 4165c63e3..7217f55c8 100644 --- a/front/src/locales/en_US.json +++ b/front/src/locales/en_US.json @@ -1,377 +1,377 @@ { "App": { - "loading": "Loading..." + "loading": "Loading…" }, "components": { "About": { - "title": "About", - "header": { - "funkwhale": "A social platform to enjoy and share music", - "signup": "Sign up", - "publicContent": "Browse public content", - "findApp": "Find an app", - "aboutPod": "About this pod" - }, "description": { + "findApp": "Use Funkwhale on other devices with our apps.", "funkwhale": "Funkwhale is a community-driven project that lets you listen and share music and audio within a decentralized, open network.", - "signup": "Sign up now to keep a track of your favorites, create playlists, discover new content and much more!", - "quota": "Users on this pod also get {quota} of free storage to upload their own content!", "publicContent": "Listen to public albums and playlists shared on this pod.", - "findApp": "Use Funkwhale on other devices with our apps." + "quota": "Users on this pod also get {quota} of free storage to upload their own content!", + "signup": "Sign up now to keep a track of your favorites, create playlists, discover new content and much more!" }, - "placeholder": { - "noDescription": "No description available" + "header": { + "aboutPod": "About this pod", + "findApp": "Find an app", + "funkwhale": "A social platform to enjoy and share music", + "publicContent": "Browse public content", + "signup": "Sign up" + }, + "help": { + "closedRegistrations": "Registrations are closed on this pod. You can signup on another pod using the link below." + }, + "link": { + "findOtherPod": "Find another pod", + "learnMore": "Learn more" }, "message": { "greeting": "Hello {username}", "loggedIn": "You're already signed in!" }, - "link": { - "learnMore": "Learn more", - "findOtherPod": "Find another pod" + "placeholder": { + "noDescription": "No description available" }, "stat": { "activeUsers": "No active users | {n} active user | {n} active users", "hoursOfMusic": "0 hours of music | {n} hour of music | {n} hours of music" }, - "help": { - "closedRegistrations": "Registrations are closed on this pod. You can signup on another pod using the link below." - } + "title": "About" }, "AboutPod": { - "title": "About", - "notApplicable": "N/A", + "feature": { + "allowList": "Allow-list", + "anonymousAccess": "Anonymous access", + "federation": "Federation", + "quota": "Upload quota", + "registrations": "Registrations", + "status": { + "closed": "Closed", + "disabled": "Disabled", + "enabled": "Enabled", + "open": "Open" + }, + "version": "Funkwhale version" + }, "header": { "about": "About this pod", - "rules": "Rules", - "terms": "Terms and privacy policy", - "features": "Features", "contact": "Contact", - "statistics": "Statistics" + "features": "Features", + "rules": "Rules", + "statistics": "Statistics", + "terms": "Terms and privacy policy" }, + "link": { + "about": "About this pod", + "features": "Features", + "introduction": "Introduction", + "rules": "Rules", + "statistics": "Statistics", + "terms": "Terms and privacy policy" + }, + "message": { + "contact": "Send us an email: { contactEmail }" + }, + "notApplicable": "N/A", "placeholder": { "noDescription": "No description available", "noRules": "No rules available", "noTerms": "No terms available" }, - "message": { - "contact": "Send us an email: { contactEmail }" - }, - "link": { - "about": "About this pod", - "rules": "Rules", - "terms": "Terms and privacy policy", - "features": "Features", - "statistics": "Statistics", - "introduction": "Introduction" - }, - "feature": { - "version": "Funkwhale version", - "federation": "Federation", - "allowList": "Allow-list", - "anonymousAccess": "Anonymous access", - "registrations": "Registrations", - "quota": "Upload quota", - "status": { - "enabled": "Enabled", - "disabled": "Disabled", - "open": "Open", - "closed": "Closed" - } - }, "stat": { "activeUsers": "No active users | {n} active user | {n} active users", - "hoursOfMusic": "0 hours of music | {n} hour of music | {n} hours of music", - "artistsCount": "0 artists | {n} artist | {n} artists", "albumsCount": "0 albums | {n} album | {n} albums", - "tracksCount": "0 tracks | {n} track | {n} tracks", - "listeningsCount": "0 listenings | {n} listening | {n} listenings" - } + "artistsCount": "0 artists | {n} artist | {n} artists", + "hoursOfMusic": "0 hours of music | {n} hour of music | {n} hours of music", + "listeningsCount": "0 listenings | {n} listening | {n} listenings", + "tracksCount": "0 tracks | {n} track | {n} tracks" + }, + "title": "About" }, "Home": { - "title": "Home", - "header": { - "welcome": "Welcome to {podName}!", - "about": "About this Funkwhale pod", - "statistics": "Statistics", - "contact": "Contact", - "aboutFunkwhale": "About Funkwhale", - "login": "Log in", - "signup": "Sign up", - "links": "Useful links", - "newAlbums": "Recently added albums", - "newChannels": "New channels" - }, "description": { - "signup": "Sign up now to keep a track of your favorites, create playlists, discover new content and much more!", - "quota": "Users on this pod also get {quota} of free storage to upload their own content!", "funkwhale": { "paragraph1": "This pod runs Funkwhale, a community-driven project that lets you listen and share music and audio within a decentralized, open network.", "paragraph2": "Funkwhale is free and developed by a friendly community of volunteers." - } + }, + "quota": "Users on this pod also get {quota} of free storage to upload their own content!", + "signup": "Sign up now to keep a track of your favorites, create playlists, discover new content and much more!" + }, + "header": { + "about": "About this Funkwhale pod", + "aboutFunkwhale": "About Funkwhale", + "contact": "Contact", + "links": "Useful links", + "login": "Log in", + "newAlbums": "Recently added albums", + "newChannels": "New channels", + "signup": "Sign up", + "statistics": "Statistics", + "welcome": "Welcome to {podName}!" + }, + "help": { + "registrationsClosed": "Registrations are closed on this pod. You can signup on another pod using the link below." + }, + "link": { + "findOtherPod": "Find another pod", + "funkwhale": "Visit funkwhale.audio", + "learnMore": "Learn more", + "mobileApps": { + "description": "Use Funkwhale on other devices with our apps", + "label": "Mobile apps" + }, + "publicContent": { + "description": "Listen to public albums and playlists shared on this pod.", + "label": "Browse public content" + }, + "rules": "Server rules", + "userGuides": { + "description": "Discover everything you need to know about Funkwhale and its features", + "label": "User guides" + }, + "viewMore": "View more…" }, "placeholder": { "noDescription": "No description available" }, - "link": { - "learnMore": "Learn more", - "rules": "Server rules", - "funkwhale": "Visit funkwhale.audio", - "findOtherPod": "Find another pod", - "viewMore": "View more…", - "publicContent": { - "label": "Browse public content", - "description": "Listen to public albums and playlists shared on this pod." - }, - "mobileApps": { - "label": "Mobile apps", - "description": "Use Funkwhale on other devices with our apps" - }, - "userGuides": { - "label": "User guides", - "description": "Discover everything you need to know about Funkwhale and its features" - } - }, "stat": { "activeUsers": "No active users | {n} active user | {n} active users", "hoursOfMusic": "0 hours of music | {n} hour of music | {n} hours of music" }, - "help": { - "registrationsClosed": "Registrations are closed on this pod. You can signup on another pod using the link below." - } + "title": "Home" }, "PageNotFound": { - "title": "Page not found", "header": { "pageNotFound": "Page not found!" }, + "link": { + "home": "Go to home page" + }, "message": { "pageNotFound": "Sorry, the page you asked for does not exist:" }, - "link": { - "home": "Go to home page" - } + "title": "Page not found" }, "Queue": { - "label": { - "queue": "Queue", - "populatingRadio": "Fetching radio track...", - "duration": "Duration", - "addArtistContentFilter": "Hide content from this artist…", - "restart": "Restart track", - "previous": "Previous track", - "next": "Next track", - "pause": "Pause", - "play": "Play", - "remove": "Remove", - "selectTrack": "Select track", - "favorite": "Favorite track", - "enterFullscreen": "Enter fullscreen mode", - "exitFullscreen": "Exit fullscreen mode", - "showCoverArt": "Show Cover Art", - "showVisualizer": "Show MoonDrop visualizer" + "button": { + "clear": "Clear", + "close": "Close", + "stopRadio": "Stop radio" }, "header": { "failure": "The track cannot be loaded", - "radio": "You have a radio playing", - "noSources": "The track has no available sources." + "noSources": "The track has no available sources.", + "radio": "You have a radio playing" + }, + "label": { + "addArtistContentFilter": "Hide content from this artist…", + "duration": "Duration", + "enterFullscreen": "Enter fullscreen mode", + "exitFullscreen": "Exit fullscreen mode", + "favorite": "Favorite track", + "next": "Next track", + "pause": "Pause", + "play": "Play", + "populatingRadio": "Fetching radio track…", + "previous": "Previous track", + "queue": "Queue", + "remove": "Remove", + "restart": "Restart track", + "selectTrack": "Select track", + "showCoverArt": "Show Cover Art", + "showVisualizer": "Show MoonDrop visualizer" }, "message": { "automaticPlay": "The next track will play automatically in a few seconds…", "radio": "New tracks will be appended here automatically.", "webglUnsupported": "Your browser doesn't appear to support WebGL2." }, - "warning": { - "connectivity": "You may have a connectivity issue." - }, - "button": { - "close": "Close", - "clear": "Clear", - "stopRadio": "Stop radio" - }, "meta": { + "end": "End", "queuePosition": "Track {index} of {length}", "startTime": "00:00", - "unknownArtist": "Unknown Artist", "unknownAlbum": "Unknown Album", - "end": "End" + "unknownArtist": "Unknown Artist" + }, + "warning": { + "connectivity": "You may have a connectivity issue." } }, "RemoteSearchForm": { - "label": { - "rss": { - "title": "Subscribe to a podcast RSS feed", - "fieldLabel": "RSS feed location", - "fieldPlaceholder": "https://website.example.com/rss.xml" - }, - "fediverse": { - "title": "Fediverse object", - "fieldLabel": "Fediverse object", - "fieldPlaceholder": "{'@'}username{'@'}example.com" - } + "button": { + "fediverse": "Fediverse", + "rss": "RSS", + "search": "Search" + }, + "description": { + "fediverse": "Use this form to subscribe to a channel hosted somewhere else on the Fediverse.", + "rss": "Use this form to subscribe to an RSS feed from its URL." + }, + "error": { + "fetchFailed": "This object cannot be retrieved" }, "header": { "fetchFailed": "Error while fetching object" }, - "description": { - "rss": "Use this form to subscribe to an RSS feed from its URL.", - "fediverse": "Use this form to subscribe to a channel hosted somewhere else on the Fediverse." - }, - "button": { - "search": "Search", - "rss": "RSS", - "fediverse": "Fediverse" - }, - "error": { - "fetchFailed": "This object cannot be retrieved" + "label": { + "fediverse": { + "fieldLabel": "Fediverse object", + "fieldPlaceholder": "{'@'}username{'@'}example.com", + "title": "Fediverse object" + }, + "rss": { + "fieldLabel": "RSS feed location", + "fieldPlaceholder": "https://website.example.com/rss.xml", + "title": "Subscribe to a podcast RSS feed" + } }, "warning": { "unsupported": "This kind of object isn't supported yet" } }, "SetInstanceModal": { + "button": { + "cancel": "Cancel", + "submit": "Submit" + }, "header": { "chooseInstance": "Choose your instance", "failure": "It is not possible to connect to the given URL", "suggestions": "Suggested choices" }, - "message": { - "newUrl": "You are now using the Funkwhale instance at {url}", - "currentConnection": "You are currently connected to { 0 }. If you continue, you will be disconnected from your current instance and all your local data will be deleted." - }, "help": { - "serverDown": "The server might be down", "notFunkwhaleServer": "The given address is not a Funkwhale server", - "selectPod": "To continue, please select the Funkwhale instance you want to connect to. Enter the address directly, or select one of the suggested choices." - }, - "button": { - "submit": "Submit", - "cancel": "Cancel" + "selectPod": "To continue, please select the Funkwhale instance you want to connect to. Enter the address directly, or select one of the suggested choices.", + "serverDown": "The server might be down" }, "label": { "url": "Instance URL" + }, + "message": { + "currentConnection": "You are currently connected to { 0 }. If you continue, you will be disconnected from your current instance and all your local data will be deleted.", + "newUrl": "You are now using the Funkwhale instance at {url}" } }, "ShortcutsModal": { - "header": { - "modal": "Keyboard shortcuts" - }, "button": { "close": "Close" }, + "header": { + "modal": "Keyboard shortcuts" + }, "shortcut": { + "audio": { + "clearQueue": "Clear queue", + "decreaseVolume": "Decrease volume", + "expandQueue": "Expand queue/player view", + "increaseVolume": "Increase volume", + "label": "Audio player shortcuts", + "playNext": "Play next track", + "playPause": "Pause/play the current track", + "playPrevious": "Play previous track", + "seekBack30": "Seek backwards 30s", + "seekBack5": "Seek backwards 5s", + "seekForward30": "Seek forwards 30s", + "seekForward5": "Seek forwards 5s", + "shuffleQueue": "Shuffle queue", + "toggleFavorite": "Toggle favorite", + "toggleLoop": "Toggle queue looping", + "toggleMute": "Toggle mute" + }, "general": { + "focus": "Focus searchbar", "label": "General shortcuts", "show": "Show available keyboard shortcuts", - "focus": "Focus searchbar", "unfocus": "Unfocus searchbar" - }, - "audio": { - "label": "Audio player shortcuts", - "playPause": "Pause/play the current track", - "seekBack5": "Seek backwards 5s", - "seekForward5": "Seek forwards 5s", - "seekBack30": "Seek backwards 30s", - "seekForward30": "Seek forwards 30s", - "playPrevious": "Play previous track", - "playNext": "Play next track", - "increaseVolume": "Increase volume", - "decreaseVolume": "Decrease volume", - "toggleMute": "Toggle mute", - "expandQueue": "Expand queue/player view", - "toggleLoop": "Toggle queue looping", - "shuffleQueue": "Shuffle queue", - "clearQueue": "Clear queue", - "toggleFavorite": "Toggle favorite" } } }, "Sidebar": { + "header": { + "administration": "Administration", + "explore": "Explore", + "library": "My library", + "main": "Main navigation", + "more": "More" + }, "label": { + "add": "Add content", + "administration": "Administration", + "edits": "Pending review edits", + "follows": "Pending follow requests", + "language": "Language", "main": "Main menu", "play": "Play this track", - "follows": "Pending follow requests", - "edits": "Pending review edits", "reports": "Pending review reports", - "language": "Language", - "theme": "Theme", - "add": "Add content", - "administration": "Administration" - }, - "header": { - "main": "Main navigation", - "explore": "Explore", - "more": "More", - "library": "My library", - "administration": "Administration" + "theme": "Theme" }, "link": { - "home": "Home", - "search": "Search", - "browse": "Browse", - "podcasts": "Podcasts", + "about": "About this pod", "albums": "Albums", "artists": "Artists", - "playlists": "Playlists", - "radios": "Radios", - "favorites": "Favorites", + "browse": "Browse", "channels": "Channels", - "about": "About this pod", - "switchInstance": "Switch instance", - "moderation": "Moderation", - "users": "Users", + "createAccount": "Create account", + "favorites": "Favorites", + "home": "Home", "library": "Library", - "settings": "Settings", "login": "Login", - "createAccount": "Create account" + "moderation": "Moderation", + "playlists": "Playlists", + "podcasts": "Podcasts", + "radios": "Radios", + "search": "Search", + "settings": "Settings", + "switchInstance": "Switch instance", + "users": "Users" } }, "admin": { "SettingsGroup": { + "button": { + "save": "Save" + }, "header": { "error": "Error while saving settings.", "image": "Current image" }, "message": { "success": "Settings updated successfully." - }, - "button": { - "save": "Save" } }, "SignupFormBuilder": { - "label": { - "delete": "Delete", - "moveUp": "Move up", - "moveDown": "Move down", - "additionalField": "Additional field", - "helpText": "Help text", - "additionalFields": "Additional fields" - }, "button": { + "add": "Add a new field", "edit": "Edit form", - "preview": "Preview Form", - "add": "Add a new field" + "preview": "Preview Form" }, "help": { - "helpText": "An optional text to be displayed at the start of the sign-up form.", - "additionalFields": "Additional form fields to be displayed in the form. Only shown if manual sign-up validation is enabled." + "additionalFields": "Additional form fields to be displayed in the form. Only shown if manual sign-up validation is enabled.", + "helpText": "An optional text to be displayed at the start of the sign-up form." + }, + "label": { + "additionalField": "Additional field", + "additionalFields": "Additional fields", + "delete": "Delete", + "helpText": "Help text", + "moveDown": "Move down", + "moveUp": "Move up" }, "table": { "additionalFields": { "header": { + "actions": "Actions", "label": "Field label", - "type": "Field type", "required": "Required", - "actions": "Actions" - }, - "type": { - "short": "Short text", - "long": "Long text" + "type": "Field type" }, "required": { - "true": "True", - "false": "False" + "false": "False", + "true": "True" + }, + "type": { + "long": "Long text", + "short": "Short text" } } } @@ -379,11 +379,11 @@ }, "audio": { "ChannelCard": { - "title": "Updated on {date}", "meta": { "episodes": "No episodes | {n} episode | {n} episodes", "tracks": "No tracks | {n} track | {n} tracks" - } + }, + "title": "Updated on {date}" }, "ChannelEntries": { "help": { @@ -391,38 +391,38 @@ } }, "ChannelForm": { - "label": { - "podcast": "Podcasts", - "discography": "Artist Discography", - "name": "Name", - "username": "Fediverse handle", - "image": "Channel Picture", - "tags": "Tags", - "language": "Language", - "description": "Description", - "category": "Category", - "subcategory": "Subcategory", - "email": "Owner e-mail address", - "owner": "Owner name" - }, - "help": { - "podcast": "Host your episodes and keep your community updated.", - "discography": "Publish music you make as a nice discography of albums and singles.", - "username": "Used in URLs and to follow this channel in the Fediverse. It cannot be changed later.", - "podcastFields": "Used for the itunes:email and itunes:name field required by certain platforms such as Spotify or iTunes." - }, - "placeholder": { - "name": "Awesome channel name", - "username": "awesomechannelname" - }, "header": { "error": "Error while saving channel." }, + "help": { + "discography": "Publish music you make as a nice discography of albums and singles.", + "podcast": "Host your episodes and keep your community updated.", + "podcastFields": "Used for the itunes:email and itunes:name field required by certain platforms such as Spotify or iTunes.", + "username": "Used in URLs and to follow this channel in the Fediverse. It cannot be changed later." + }, + "label": { + "category": "Category", + "description": "Description", + "discography": "Artist Discography", + "email": "Owner e-mail address", + "image": "Channel Picture", + "language": "Language", + "name": "Name", + "owner": "Owner name", + "podcast": "Podcasts", + "subcategory": "Subcategory", + "tags": "Tags", + "username": "Fediverse handle" + }, "legend": { "purpose": "What will this channel be used for?" }, "loader": { "loading": "Loading" + }, + "placeholder": { + "name": "Awesome channel name", + "username": "awesomechannelname" } }, "ChannelSerieCard": { @@ -444,8 +444,11 @@ } }, "EmbedWizard": { - "warning": { - "anonymous": "Sharing will not work because this pod doesn't allow anonymous users to access content." + "button": { + "copy": "Copy" + }, + "header": { + "preview": "Preview" }, "help": { "anonymous": "Please contact your admins and ask them to update the corresponding setting.", @@ -453,44 +456,41 @@ "width": "Leave empty for a responsive widget" }, "label": { - "width": "Widget width", + "embed": "Embed code", "height": "Widget height", - "embed": "Embed code" - }, - "button": { - "copy": "Copy" - }, - "header": { - "preview": "Preview" + "width": "Widget width" }, "message": { "copy": "Text copied to clipboard!" + }, + "warning": { + "anonymous": "Sharing will not work because this pod doesn't allow anonymous users to access content." } }, "LibraryFollowButton": { "button": { - "unfollow": "Unfollow", "cancel": "Cancel follow request", - "follow": "Follow" + "follow": "Follow", + "unfollow": "Unfollow" } }, "PlayButton": { "button": { - "playNow": "Play now", - "addToQueue": "Add to current queue", - "playNext": "Play next", - "startRadio": "Play similar songs", - "report": "Report…", "addToPlaylist": "Add to playlist", + "addToQueue": "Add to current queue", + "discretePlay": "Play", + "episodeDetails": "Episode details", "hideArtist": "Hide content from this artist", - "playTrack": "Play track", "playAlbum": "Play album", "playArtist": "Play artist", + "playNext": "Play next", + "playNow": "Play now", "playPlaylist": "Play playlist", + "playTrack": "Play track", "playTracks": "Play tracks", - "episodeDetails": "Episode details", - "trackDetails": "Track details", - "discretePlay": "Play" + "report": "Report…", + "startRadio": "Play similar songs", + "trackDetails": "Track details" }, "title": { "more": "More…", @@ -498,70 +498,78 @@ } }, "Player": { + "header": { + "player": "Audio player and controls" + }, "label": { + "addArtistContentFilter": "Hide content from this artist…", "audioPlayer": "Media player", - "previousTrack": "Previous track", - "play": "Play", - "pause": "Pause", - "nextTrack": "Next track", - "unmute": "Unmute", - "mute": "Mute", + "clearQueue": "Clear your queue", "expandQueue": "Expand queue", "loopingDisabled": "Looping disabled. Click to switch to single-track looping.", "loopingSingle": "Looping on a single track. Click to switch to whole queue looping.", "loopingWholeQueue": "Looping on whole queue. Click to disable looping.", + "mute": "Mute", + "nextTrack": "Next track", + "pause": "Pause", + "play": "Play", + "previousTrack": "Previous track", "shuffleQueue": "Shuffle your queue", - "clearQueue": "Clear your queue", - "addArtistContentFilter": "Hide content from this artist…" - }, - "header": { - "player": "Audio player and controls" + "unmute": "Unmute" }, "meta": { "position": "{index} of {length}", - "unknownArtist": "Unknown Artist", - "unknownAlbum": "Unknown Album" + "unknownAlbum": "Unknown Album", + "unknownArtist": "Unknown Artist" + } + }, + "PlayerControls": { + "labels": { + "next": "Next track", + "pause": "Pause", + "play": "Play", + "previous": "Previous track" } }, "Search": { - "header": { - "search": "Search for some music", - "artists": "Artists", - "albums": "Albums" - }, "empty": { - "noArtists": "No artist matched your query", - "noAlbums": "No album matched your query" + "noAlbums": "No album matched your query", + "noArtists": "No artist matched your query" + }, + "header": { + "albums": "Albums", + "artists": "Artists", + "search": "Search for some music" }, "placeholder": { "search": "Artist, album, track…" } }, "SearchBar": { - "placeholder": { - "search": "Search for artists, albums, tracks…" - }, - "label": { - "search": "Search for content", - "artist": "Artist", - "album": "Album", - "track": "Track", - "tag": "Tag", - "category": { - "federation": "Federation", - "podcasts": "Podcasts" - } - }, - "link": { - "rss": "Subscribe to podcast via RSS", - "fediverse": "Search on the fediverse", - "more": "More results 🡒" + "empty": { + "noResults": "Sorry, there are no results for this search" }, "header": { "noResults": "No matches found" }, - "empty": { - "noResults": "Sorry, there are no results for this search" + "label": { + "album": "Album", + "artist": "Artist", + "category": { + "federation": "Federation", + "podcasts": "Podcasts" + }, + "search": "Search for content", + "tag": "Tag", + "track": "Track" + }, + "link": { + "fediverse": "Search on the fediverse", + "more": "More results 🡒", + "rss": "Subscribe to podcast via RSS" + }, + "placeholder": { + "search": "Search for artists, albums, tracks…" } }, "VolumeControl": { @@ -588,8 +596,8 @@ "artist": { "Card": { "meta": { - "tracks": "No tracks | {n} track | {n} tracks", - "episodes": "No episodes | {n} episode | {n} episodes" + "episodes": "No episodes | {n} episode | {n} episodes", + "tracks": "No tracks | {n} track | {n} tracks" } }, "Widget": { @@ -607,18 +615,18 @@ "Modal": { "button": { "addToFavorites": "Add to favorites", - "removeFromFavorites": "Remove from favorites", - "episodeDetails": "Episode details", - "trackDetails": "Track details", - "seriesDetails": "View series", - "albumDetails": "View album", - "channelDetails": "View channel", - "artistDetails": "View artist", - "startRadio": "Play radio", - "playNow": "Play now", + "addToPlaylist": "Add to playlist", "addToQueue": "Add to queue", + "albumDetails": "View album", + "artistDetails": "View artist", + "channelDetails": "View channel", + "episodeDetails": "Episode details", "playNext": "Play next", - "addToPlaylist": "Add to playlist" + "playNow": "Play now", + "removeFromFavorites": "Remove from favorites", + "seriesDetails": "View series", + "startRadio": "Play radio", + "trackDetails": "Track details" } } }, @@ -631,26 +639,26 @@ "Modal": { "button": { "addToFavorites": "Add to favorites", - "removeFromFavorites": "Remove from favorites", - "episodeDetails": "Episode details", - "trackDetails": "Track details", - "seriesDetails": "View series", - "albumDetails": "View album", - "channelDetails": "View channel", - "artistDetails": "View artist", - "startRadio": "Play radio", - "playNow": "Play now", + "addToPlaylist": "Add to playlist", "addToQueue": "Add to queue", + "albumDetails": "View album", + "artistDetails": "View artist", + "channelDetails": "View channel", + "episodeDetails": "Episode details", "playNext": "Play next", - "addToPlaylist": "Add to playlist" + "playNow": "Play now", + "removeFromFavorites": "Remove from favorites", + "seriesDetails": "View series", + "startRadio": "Play radio", + "trackDetails": "Track details" } }, "Table": { "table": { "header": { - "title": "Title", "album": "Album", - "artist": "Artist" + "artist": "Artist", + "title": "Title" } } }, @@ -662,102 +670,94 @@ "noResults": "Nothing found" } } - }, - "PlayerControls": { - "labels": { - "previous": "Previous track", - "next": "Next track", - "pause": "Pause", - "play": "Play" - } } }, "auth": { "ApplicationEdit": { - "title": "Edit application", - "link": { - "settings": "Back to settings" + "button": { + "regenerateToken": "Regenerate token" }, "header": { "appDetails": "Application Details", - "editApp": "Edit application", - "appSecretWarning": "Keep a copy of this token in a safe place." - }, - "message": { - "appSecretWarning": "You won't be able to see it again once you leave this screen." + "appSecretWarning": "Keep a copy of this token in a safe place.", + "editApp": "Edit application" }, "help": { "appDetails": "Application ID and secret are really sensitive values and must be treated like passwords. Do not share those with anyone else." }, "label": { + "accessToken": "Access token", "appId": "Application ID", - "appSecret": "Application secret", - "accessToken": "Access token" + "appSecret": "Application secret" }, - "button": { - "regenerateToken": "Regenerate token" - } + "link": { + "settings": "Back to settings" + }, + "message": { + "appSecretWarning": "You won't be able to see it again once you leave this screen." + }, + "title": "Edit application" }, "ApplicationForm": { + "button": { + "create": "Create application", + "update": "Update application" + }, "header": { "failure": "We cannot save your changes" }, + "help": { + "redirectUri": "Use \"urn:ietf:wg:oauth:2.0:oob\" as a redirect URI if your application is not served on the web." + }, "label": { "name": "Name", "redirectUri": "Redirect URI", "scopes": { - "label": "Scopes", "description": "Checking the parent \"Read\" or \"Write\" scopes implies access to all the corresponding children scopes.", + "label": "Scopes", "read": { - "label": "Read", - "description": "Read-only access to user data" + "description": "Read-only access to user data", + "label": "Read" }, "write": { - "label": "Write", - "description": "Write-only access to user data" + "description": "Write-only access to user data", + "label": "Write" } } - }, - "button": { - "update": "Update application", - "create": "Create application" - }, - "help": { - "redirectUri": "Use \"urn:ietf:wg:oauth:2.0:oob\" as a redirect URI if your application is not served on the web." } }, "ApplicationNew": { - "title": "Create a new application", "link": { "settings": "Back to settings" - } + }, + "title": "Create a new application" }, "Authorize": { - "title": "Allow application", + "button": { + "authorize": "Authorize {app}" + }, "header": { + "access": "{app_name} wants to access your Funkwhale account", + "allScopes": "Full access", "authorize": "Authorize third-party app", "authorizeFailure": "Error while fetching application data", "fetchFailure": "Error while fetching application data", - "access": "{app_name} wants to access your Funkwhale account", - "writeOnly": "Write-only", "readOnly": "Read-only", - "allScopes": "Full access" + "writeOnly": "Write-only" + }, + "help": { + "copyCode": "You will be shown a code to copy-past in the application", + "pasteCode": "Copy-paste the following code in the application:", + "redirect": "You will be redirected to { 0 }" }, "message": { "unknownPermissions": "The application is also requesting the following unknown permissions:" }, - "button": { - "authorize": "Authorize {app}" - }, - "help": { - "copyCode": "You will be shown a code to copy-past in the application", - "redirect": "You will be redirected to { 0 }", - "pasteCode": "Copy-paste the following code in the application:" - } + "title": "Allow application" }, "LoginForm": { - "placeholder": { - "username": "Enter your username or e-mail address" + "button": { + "login": "Login" }, "header": { "loginFailure": "We cannot log you in" @@ -767,160 +767,156 @@ "invalidCredentials": "Please double-check that your username and password combination is correct and make sure you verified your e-mail address." }, "label": { - "username": "Username or e-mail address", - "password": "Password" - }, - "button": { - "login": "Login" + "password": "Password", + "username": "Username or e-mail address" }, "link": { - "resetPassword": "Reset your password", - "createAccount": "Create an account" + "createAccount": "Create an account", + "resetPassword": "Reset your password" }, "message": { "redirect": "You will be redirected to {domain} to authenticate" + }, + "placeholder": { + "username": "Enter your username or e-mail address" } }, "Logout": { - "title": "Log out", + "button": { + "logout": "Yes, log me out!" + }, "header": { "confirm": "Are you sure you want to log out?", "unauthenticated": "You aren't currently logged in" }, - "button": { - "logout": "Yes, log me out!" - }, "link": { "login": "Log in!" }, "message": { "loggedIn": "You are currently logged in as {username}" - } + }, + "title": "Log out" }, "Plugin": { - "header": { - "failure": "Error while saving plugin" - }, - "link": { - "documentation": "Documentation" - }, "button": { "save": "Save", "scan": "Scan" }, + "description": { + "library": "Library where files should be imported." + }, + "header": { + "failure": "Error while saving plugin" + }, "label": { "library": "Library", "pluginEnabled": "Enabled" }, - "description": { - "library": "Library where files should be imported." + "link": { + "documentation": "Documentation" } }, "Settings": { - "title": "Account Settings", - "message": { - "confirmDelete": "Your deletion request was submitted, your account and content will be deleted shortly", - "currentEmail": "Your current e-mail address is {email}" - }, - "header": { - "accountSettings": "Account settings", - "settingsUpdated": "Settings updated", - "updateFailure": "Your settings can't be updated", - "avatar": "Avatar", - "avatarFailure": "Your avatar cannot be saved", - "changePassword": "Change my password", - "passwordFailure": "Your password cannot be changed", - "contentFilters": "Content filters", - "hiddenArtists": "Hidden artists", - "authorizedApps": "Authorized apps", - "noApps": "You don't have any application connected with your account.", - "yourApps": "Your applications", - "noPersonalApps": "You don't have registered any application yet.", - "plugins": "Plugins", - "changeEmail": "Change my e-mail address", - "emailFailure": "We cannot change your e-mail address", - "deleteAccount": "Delete my account", - "accountFailure": "We cannot delete your account" + "button": { + "delete": "Delete", + "deleteAccount": "Delete my account…", + "deleteAccountConfirm": "Delete my account", + "disableSubsonic": "Disable access", + "edit": "Edit", + "password": "Change password", + "refresh": "Refresh", + "remove": "Remove", + "removeApp": "Remove application", + "revoke": "Revoke", + "revokeAccess": "Revoke access", + "update": "Update", + "updateSettings": "Update settings" }, "description": { + "authorizedApps": "This is the list of applications that have access to your account data.", + "changeEmail": "Change the e-mail address associated with your account. We will send a confirmation to the new address.", "changePassword": { "paragraph1": "Changing your password will also change your Subsonic API password if you have requested one.", "paragraph2": "You will have to update your password on your clients that use this password." }, "contentFilters": "Content filters help you hide content you don't want to see on the service.", - "authorizedApps": "This is the list of applications that have access to your account data.", - "yourApps": "This is the list of applications that you have registered.", + "deleteAccount": "You can permanently and irreversibly delete your account and all the associated data using the form below. You will be asked for confirmation.", "plugins": "Use plugins to extend Funkwhale and get additional features.", - "changeEmail": "Change the e-mail address associated with your account. We will send a confirmation to the new address.", - "deleteAccount": "You can permanently and irreversibly delete your account and all the associated data using the form below. You will be asked for confirmation." + "yourApps": "This is the list of applications that you have registered." }, - "button": { - "update": "Update", - "updateSettings": "Update settings", - "password": "Change password", - "disableSubsonic": "Disable access", - "refresh": "Refresh", - "delete": "Delete", - "revoke": "Revoke", - "revokeAccess": "Revoke access", - "edit": "Edit", - "remove": "Remove", - "removeApp": "Remove application", - "deleteAccount": "Delete my account…", - "deleteAccountConfirm": "Delete my account" + "header": { + "accountFailure": "We cannot delete your account", + "accountSettings": "Account settings", + "authorizedApps": "Authorized apps", + "avatar": "Avatar", + "avatarFailure": "Your avatar cannot be saved", + "changeEmail": "Change my e-mail address", + "changePassword": "Change my password", + "contentFilters": "Content filters", + "deleteAccount": "Delete my account", + "emailFailure": "We cannot change your e-mail address", + "hiddenArtists": "Hidden artists", + "noApps": "You don't have any application connected with your account.", + "noPersonalApps": "You don't have registered any application yet.", + "passwordFailure": "Your password cannot be changed", + "plugins": "Plugins", + "settingsUpdated": "Settings updated", + "updateFailure": "Your settings can't be updated", + "yourApps": "Your applications" }, "help": { "changePassword": "Please double-check your password is correct", "noApps": "If you authorize third-party applications to access your data, those applications will be listed here.", "noPersonalApps": "Register one to integrate Funkwhale with third-party applications." }, - "warning": { - "deleteAccount": "Your account will be deleted from our servers within a few minutes. We will also notify other servers who may have a copy of some of your data so they can proceed to deletion. Please note that some of these servers may be offline or unwilling to comply though." - }, - "link": { - "newApp": "Register a new application", - "managePlugins": "Manage plugins" - }, "label": { "avatar": "Avatar", - "password": "Password", "currentPassword": "Current password", + "newEmail": "New e-mail address", "newPassword": "New password", - "newEmail": "New e-mail address" + "password": "Password" + }, + "link": { + "managePlugins": "Manage plugins", + "newApp": "Register a new application" + }, + "message": { + "confirmDelete": "Your deletion request was submitted, your account and content will be deleted shortly", + "currentEmail": "Your current e-mail address is {email}" }, "modal": { "changePassword": { - "header": "Change your password?", "content": { - "warning": "Changing your password will have the following consequences", "logout": "You will be logged out from this session and have to log in with the new one", - "subsonic": "Your Subsonic password will be changed to a new, random one, logging you out from devices that used the old Subsonic password" - } - }, - "revokeApp": { - "header": "Revoke access for application {app}?", - "content": { - "warning": "This will prevent this application from accessing the service on your behalf." - } - }, - "deleteApp": { - "header": "Remove application {app}?", - "content": { - "warning": "This will permanently remove the application and all the associated tokens." - } + "subsonic": "Your Subsonic password will be changed to a new, random one, logging you out from devices that used the old Subsonic password", + "warning": "Changing your password will have the following consequences" + }, + "header": "Change your password?" }, "deleteAccount": { - "header": "Do you want to delete your account?", "content": { "warning": "This is irreversible and will permanently remove your data from our servers. You will we immediatly logged out." - } + }, + "header": "Do you want to delete your account?" + }, + "deleteApp": { + "content": { + "warning": "This will permanently remove the application and all the associated tokens." + }, + "header": "Remove application {app}?" + }, + "revokeApp": { + "content": { + "warning": "This will prevent this application from accessing the service on your behalf." + }, + "header": "Revoke access for application {app}?" } }, "table": { "artists": { "header": { - "name": "Name", - "creationDate": "Creation date" + "creationDate": "Creation date", + "name": "Name" } }, "authorizedApps": { @@ -932,50 +928,48 @@ "yourApps": { "header": { "application": "Application", - "scopes": "Scopes", - "creationDate": "Creation date" + "creationDate": "Creation date", + "scopes": "Scopes" } } + }, + "title": "Account Settings", + "warning": { + "deleteAccount": "Your account will be deleted from our servers within a few minutes. We will also notify other servers who may have a copy of some of your data so they can proceed to deletion. Please note that some of these servers may be offline or unwilling to comply though." } }, "SignupForm": { - "placeholder": { - "invitation": "Enter your invitation code (case insensitive)", - "username": "Enter your username", - "email": "Enter your e-mail address" - }, - "message": { - "awaitingReview": "Your account request was successfully submitted. You will be notified by e-mail when our moderation team has reviewed your request.", - "accountCreated": "Your account was successfully created. Please verify your e-mail address before trying to login.", - "registrationClosed": "Public registrations are not possible on this instance. You will need an invitation code to sign up.", - "requiresReview": "Registrations on this pod are open, but reviewed by moderators before approval." + "button": { + "create": "Create my account" }, "header": { "login": "Log in to your Funkwhale account", "signupFailure": "Your account cannot be created." }, "label": { - "username": "Username", "email": "E-mail address", + "invitation": "Invitation code", "password": "Password", - "invitation": "Invitation code" + "username": "Username" }, - "button": { - "create": "Create my account" + "message": { + "accountCreated": "Your account was successfully created. Please verify your e-mail address before trying to login.", + "awaitingReview": "Your account request was successfully submitted. You will be notified by e-mail when our moderation team has reviewed your request.", + "registrationClosed": "Public registrations are not possible on this instance. You will need an invitation code to sign up.", + "requiresReview": "Registrations on this pod are open, but reviewed by moderators before approval." + }, + "placeholder": { + "email": "Enter your e-mail address", + "invitation": "Enter your invitation code (case insensitive)", + "username": "Enter your username" } }, "SubsonicTokenForm": { - "label": { - "subsonicField": "Your subsonic API password" - }, - "message": { - "passwordUpdated": "Password updated", - "accessDisabled": "Access disabled", - "unavailable": "The Subsonic API is not available on this Funkwhale instance." - }, - "header": { - "subsonic": "Subsonic API password", - "error": "Error" + "button": { + "confirmDisable": "Disable access", + "confirmNewPassword": "Request a password", + "disable": "Disable Subsonic access", + "newPassword": "Request a new password" }, "description": { "subsonic": { @@ -984,27 +978,33 @@ "paragraph3": "However, accessing Funkwhale from those clients requires a separate password you can set below." } }, + "header": { + "error": "Error", + "subsonic": "Subsonic API password" + }, + "label": { + "subsonicField": "Your subsonic API password" + }, "link": { "apps": "Discover how to use Funkwhale from other apps" }, - "button": { - "newPassword": "Request a new password", - "confirmNewPassword": "Request a password", - "disable": "Disable Subsonic access", - "confirmDisable": "Disable access" + "message": { + "accessDisabled": "Access disabled", + "passwordUpdated": "Password updated", + "unavailable": "The Subsonic API is not available on this Funkwhale instance." }, "modal": { - "newPassword": { - "header": "Request a new Subsonic API password?", - "content": { - "warning": "This will log you out from existing devices that use the current password." - } - }, "disableSubsonic": { - "header": "Disable Subsonic API access?", "content": { "warning": "This will completely disable access to the Subsonic API using from account." - } + }, + "header": "Disable Subsonic API access?" + }, + "newPassword": { + "content": { + "warning": "This will log you out from existing devices that use the current password." + }, + "header": "Request a new Subsonic API password?" } } } @@ -1019,157 +1019,157 @@ } }, "AlbumModal": { - "header": { - "newSeries": "New series", - "newAlbum": "New album" - }, "button": { "cancel": "Cancel", "create": "Create" + }, + "header": { + "newAlbum": "New album", + "newSeries": "New series" } }, "AlbumSelect": { "label": { - "series": "Series", - "album": "Album" - }, - "option": { - "none": "None" + "album": "Album", + "series": "Series" }, "meta": { "tracks": "No tracks | {n} track | {n} tracks" + }, + "option": { + "none": "None" } }, "LicenseSelect": { "label": { "license": "Licence" }, - "option": { - "none": "None" - }, "link": { "license": "About this license" + }, + "option": { + "none": "None" } }, "SubscribeButton": { - "title": { - "unsubscribe": "Unsubscribe", - "subscribe": "Subscribe" - }, "help": { "auth": "You need to be logged in to subscribe to this channel" + }, + "title": { + "subscribe": "Subscribe", + "unsubscribe": "Unsubscribe" } }, "UploadForm": { + "button": { + "edit": "Edit", + "ignore": "Ignore", + "remove": "Remove", + "resume": "Resume", + "retry": "Retry" + }, + "description": { + "extensions": "Supported extensions {extensions}" + }, "header": { "error": "Error while publishing" }, + "help": { + "license": "Add a license to your upload to ensure some freedoms to your public." + }, "label": { "channel": "Channel", "openBrowser": "Browse…" }, "message": { - "pending": "You have some draft uploads pending publication.", - "dragAndDrop": "Drag and drop your files here or open the browser to upload your files" + "dragAndDrop": "Drag and drop your files here or open the browser to upload your files", + "pending": "You have some draft uploads pending publication." }, - "button": { - "edit": "Edit", - "ignore": "Ignore", - "resume": "Resume", - "remove": "Remove", - "retry": "Retry" - }, - "help": { - "license": "Add a license to your upload to ensure some freedoms to your public." + "status": { + "errored": "Errored", + "pending": "Pending", + "uploading": "Uploading" }, "warning": { "quota": "You don't have any space left to upload your files. Please contact the moderators." - }, - "status": { - "uploading": "Uploading", - "errored": "Errored", - "pending": "Pending" - }, - "description": { - "extensions": "Supported extensions {extensions}" } }, "UploadMetadataForm": { "label": { - "title": "Title", - "tags": "Tags", - "image": "Track Picture", "description": "Description", - "position": "Position" + "image": "Track Picture", + "position": "Position", + "tags": "Tags", + "title": "Title" } }, "UploadModal": { + "button": { + "cancel": "Cancel", + "close": "Close", + "finishLater": "Finish later", + "next": "Next", + "previous": "Previous step", + "publish": "Publish", + "update": "Update" + }, + "header": { + "processing": "Processing uploads", + "publish": "Publish audio", + "uploadDetails": "Upload details", + "uploadFiles": "Files to upload" + }, "meta": { "files": "no files | {n} file | {n} files", "quota": "Remaining storage space: {space}" - }, - "header": { - "publish": "Publish audio", - "uploadFiles": "Files to upload", - "uploadDetails": "Upload details", - "processing": "Processing uploads" - }, - "button": { - "cancel": "Cancel", - "previous": "Previous step", - "update": "Update", - "next": "Next", - "publish": "Publish", - "finishLater": "Finish later", - "close": "Close" } } }, "common": { "ActionTable": { - "header": { - "error": "Error while applying action" - }, - "message": { - "needsRefresh": "Content has been updated, click refresh to see up-to-date content", - "success": "Action {action} was launched successfully on {n} element | Action {action} was launched successfully on {n} elements" - }, "button": { - "refresh": "Refresh table content", + "allSelected": "No elements selected | {n} element selected | All {n} elements selected", "go": "Go", "launch": "Launch", + "refresh": "Refresh table content", "select": "Select", - "selected": "{ n } on {total} selected", "selectAll": "Select all items", - "allSelected": "No elements selected | {n} element selected | All {n} elements selected", + "selectCurrentPage": "Select only current page", "selectElement": "Select one element | Select all {n} elements", - "selectCurrentPage": "Select only current page" + "selected": "{ n } on {total} selected" + }, + "header": { + "error": "Error while applying action" }, "label": { "actions": "Actions", "performAction": "Perform actions" }, + "message": { + "needsRefresh": "Content has been updated, click refresh to see up-to-date content", + "success": "Action {action} was launched successfully on {n} element | Action {action} was launched successfully on {n} elements" + }, "modal": { "performAction": { - "header": "Do you want to launch {action} on {n} element? | Do you want to launch {action} on {n} elements?", "content": { "warning": "This may affect a lot of elements or have irreversible consequences, please double check this is really what you want." - } + }, + "header": "Do you want to launch {action} on {n} element? | Do you want to launch {action} on {n} elements?" } } }, "AttachmentInput": { + "button": { + "remove": "Remove" + }, "header": { "failure": "Your attachment cannot be saved" }, - "label": { - "upload": "Upload New Picture…" - }, "help": { "upload": "PNG or JPG. Dimensions should be between 1400x1400px and 3000x3000px. Maximum file size allowed is 5MB." }, - "button": { - "remove": "Remove" + "label": { + "upload": "Upload New Picture…" }, "loader": { "uploading": "Uploading file…" @@ -1177,23 +1177,23 @@ }, "CollapseLink": { "button": { - "expand": "Expand", - "collapse": "Collapse" + "collapse": "Collapse", + "expand": "Expand" } }, "ContentForm": { - "placeholder": { - "input": "Write a few words here…" - }, "button": { - "write": "Write", - "preview": "Preview" + "preview": "Preview", + "write": "Write" }, "empty": { "noContent": "Nothing to preview" }, "help": { "markdown": "Markdown syntax is supported" + }, + "placeholder": { + "input": "Write a few words here…" } }, "CopyInput": { @@ -1205,12 +1205,12 @@ } }, "DangerousButton": { - "header": { - "confirm": "Do you want to confirm this action?" - }, "button": { "cancel": "Cancel", "confirm": "Confirm" + }, + "header": { + "confirm": "Do you want to confirm this action?" } }, "Duration": { @@ -1234,41 +1234,41 @@ } }, "InlineSearchBar": { - "placeholder": { - "search": "Search…" + "button": { + "clear": "Clear" }, "label": { "search": "Search" }, - "button": { - "clear": "Clear" + "placeholder": { + "search": "Search…" } }, "LoginModal": { + "description": { + "noAccess": "You don't have access" + }, "header": { "unauthenticated": "Unauthenticated" }, "link": { "login": "Log in", "signup": "Sign up" - }, - "description": { - "noAccess": "You don't have access" } }, "RenderedDescription": { "button": { - "more": "Show more", - "less": "Show less", - "edit": "Edit", "cancel": "Cancel", + "edit": "Edit", + "less": "Show less", + "more": "Show more", "update": "Update description" }, - "header": { - "failure": "Error while updating description" - }, "empty": { "noDescription": "No description available" + }, + "header": { + "failure": "Error while updating description" } }, "UserLink": { @@ -1279,83 +1279,83 @@ "UserMenu": { "label": { "language": "Change language", - "theme": "Change theme", - "shortcuts": "Keyboard shortcuts" + "shortcuts": "Keyboard shortcuts", + "theme": "Change theme" }, "link": { - "profile": "Profile", - "settings": "Settings", - "logout": "Log out", "about": "About", - "support": "Help", - "forum": "Forum", - "docs": "Documentation", "chat": "Chat room", + "docs": "Documentation", + "forum": "Forum", "git": "Issue tracker", "login": "Log in", + "logout": "Log out", + "notifications": "Notifications", + "profile": "Profile", + "settings": "Settings", "signup": "Sign up", - "notifications": "Notifications" + "support": "Help" } }, "UserModal": { - "header": { - "options": "Options" - }, "button": { "switchInstance": "Use another instance" }, + "header": { + "options": "Options" + }, "label": { "language": "Change language", - "theme": "Change theme", - "shortcuts": "Keyboard shortcuts" + "shortcuts": "Keyboard shortcuts", + "theme": "Change theme" }, "link": { - "profile": "Profile", - "settings": "Settings", - "logout": "Log out", "about": "About", - "support": "Help", - "forum": "Forum", - "docs": "Documentation", "chat": "Chat room", + "docs": "Documentation", + "forum": "Forum", "git": "Issue tracker", "login": "Log in", + "logout": "Log out", + "notifications": "Notifications", + "profile": "Profile", + "settings": "Settings", "signup": "Sign up", - "notifications": "Notifications" + "support": "Help" } } }, "favorites": { "List": { - "title": "Your favorites", - "header": { - "favorites": "No favorites | {n} favorite | {n} favorites" - }, "empty": { "noFavorites": "No tracks have been added to your favorites yet" }, - "ordering": { - "label": "Ordering", - "direction": { - "label": "Order", - "ascending": "Ascending", - "descending": "Descending" - } - }, - "pagination": { - "results": "Results per page" + "header": { + "favorites": "No favorites | {n} favorite | {n} favorites" }, "link": { "library": "Browse the library" }, "loader": { "loading": "Loading your favorites…" - } + }, + "ordering": { + "direction": { + "ascending": "Ascending", + "descending": "Descending", + "label": "Order" + }, + "label": "Ordering" + }, + "pagination": { + "results": "Results per page" + }, + "title": "Your favorites" }, "TrackFavoriteIcon": { "button": { - "remove": "Remove from favorites", - "add": "Add to favorites" + "add": "Add to favorites", + "remove": "Remove from favorites" }, "label": { "inFavorites": "In favorites" @@ -1364,41 +1364,41 @@ }, "federation": { "FetchButton": { - "header": { - "refresh": "Refreshing object from remote server…", - "skipped": "Refresh was skipped", - "success": "Refresh successful", - "failure": "Refresh error", - "pending": "Refresh pending", - "saveFailure": "Error while saving settings" - }, - "description": { - "skipped": "The remote server answered, but returned data was unsupported by Funkwhale.", - "success": "Data was refreshed successfully from remote server.", - "failure": "An error occurred while trying to refresh data:", - "pending": "The refresh request hasn't been processed in time by our server. It will be processed later." - }, "button": { "close": "Close", "reload": "Close and reload page" }, + "description": { + "failure": "An error occurred while trying to refresh data:", + "pending": "The refresh request hasn't been processed in time by our server. It will be processed later.", + "skipped": "The remote server answered, but returned data was unsupported by Funkwhale.", + "success": "Data was refreshed successfully from remote server." + }, + "header": { + "failure": "Refresh error", + "pending": "Refresh pending", + "refresh": "Refreshing object from remote server…", + "saveFailure": "Error while saving settings", + "skipped": "Refresh was skipped", + "success": "Refresh successful" + }, "loader": { - "fetchRequest": "Requesting a fetch…", - "awaitingResult": "Waiting for result…" + "awaitingResult": "Waiting for result…", + "fetchRequest": "Requesting a fetch…" }, "table": { "error": { "label": { - "type": "Error type", - "detail": "Error detail" + "detail": "Error detail", + "type": "Error type" }, "value": { - "httpStatus": "The remote server answered with HTTP {status}", - "httpError": "An HTTP error occurred while contacting the remote server", - "timeoutError": "The remote server didn't respond quickly enough", "connectionError": "Impossible to connect to the remote server", - "invalidJsonError": "The remote server returned invalid JSON or JSON-LD data", + "httpError": "An HTTP error occurred while contacting the remote server", + "httpStatus": "The remote server answered with HTTP {status}", "invalidAttributesError": "Data returned by the remote server had invalid or missing attributes", + "invalidJsonError": "The remote server returned invalid JSON or JSON-LD data", + "timeoutError": "The remote server didn't respond quickly enough", "unknownError": "Unknown error" } } @@ -1415,64 +1415,64 @@ }, "forms": { "PasswordInput": { - "title": "Show/hide password", "button": { "copy": "Copy" }, "message": { "copy": "Text copied to clipboard!" - } + }, + "title": "Show/hide password" } }, "library": { "AlbumBase": { - "title": "Album", - "meta": { - "tracks": "No tracks | {n} track | {n} tracks", - "episodes": "No episodes | {n} episode | {n} episodes" - }, "link": { "addDescription": "Add a description…" - } + }, + "meta": { + "episodes": "No episodes | {n} episode | {n} episodes", + "tracks": "No tracks | {n} track | {n} tracks" + }, + "title": "Album" }, "AlbumDetail": { - "header": { - "episodes": "Episodes", - "tracks": "Tracks", - "libraries": "User libraries" - }, "description": { "libraries": "This album is present in the following libraries:" }, + "header": { + "episodes": "Episodes", + "libraries": "User libraries", + "tracks": "Tracks" + }, "meta": { "volume": "Volume {number}" } }, "AlbumDropdown": { "button": { - "more": "More…", "cancel": "Cancel", - "embed": "Embed", + "delete": "Delete", "edit": "Edit", - "delete": "Delete" - }, - "modal": { - "embed": { - "header": "Embed this album on your website" - }, - "delete": { - "header": "Delete this album?", - "content": { - "warning": "The album will be deleted, as well as any related files and data. This action is irreversible." - } - } + "embed": "Embed", + "more": "More…" }, "link": { - "domain": "View on {domain}", - "musicbrainz": "View on MusicBrainz", "discogs": "Search on Discogs", + "django": "View in Django's admin", + "domain": "View on {domain}", "moderation": "Open in moderation interface", - "django": "View in Django's admin" + "musicbrainz": "View on MusicBrainz" + }, + "modal": { + "delete": { + "content": { + "warning": "The album will be deleted, as well as any related files and data. This action is irreversible." + }, + "header": "Delete this album?" + }, + "embed": { + "header": "Embed this album on your website" + } } }, "AlbumEdit": { @@ -1485,83 +1485,83 @@ } }, "Albums": { - "title": "Albums", - "placeholder": { - "search": "Enter album title…" + "button": { + "search": "Search" + }, + "empty": { + "noResults": "No results matching your query" }, "header": { "browse": "Browsing albums" }, - "button": { - "search": "Search" - }, "label": { "search": "Search", "tags": "Tags" }, + "link": { + "addMusic": "Add some music" + }, "ordering": { - "label": "Ordering", "direction": { - "label": "Ordering direction", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" }, "pagination": { "results": "Results per page" }, - "empty": { - "noResults": "No results matching your query" + "placeholder": { + "search": "Enter album title…" }, - "link": { - "addMusic": "Add some music" - } + "title": "Albums" }, "ArtistBase": { - "title": "Artist", - "meta": { - "tracks": "0 tracks in | {count} track in | {count} tracks in", - "albums": "0 albums | {n} album | {n} albums" - }, "button": { - "play": "Play all albums", - "edit": "Edit", "cancel": "Cancel", + "edit": "Edit", "embed": "Embed", - "more": "More…" + "more": "More…", + "play": "Play all albums" }, "link": { - "django": "View in Django's admin", - "musicbrainz": "View on MusicBrainz", - "wikipedia": "Search on Wikipedia", - "domain": "View on {domain}", "discogs": "Search on Discogs", - "moderation": "Open in moderation interface" + "django": "View in Django's admin", + "domain": "View on {domain}", + "moderation": "Open in moderation interface", + "musicbrainz": "View on MusicBrainz", + "wikipedia": "Search on Wikipedia" + }, + "meta": { + "albums": "0 albums | {n} album | {n} albums", + "tracks": "0 tracks in | {count} track in | {count} tracks in" }, "modal": { "embed": { "header": "Embed this artist work on your website" } - } + }, + "title": "Artist" }, "ArtistDetail": { - "header": { - "album": "Albums by this artist", - "track": "New tracks by this artist", - "library": "User libraries" + "button": { + "filter": "Remove filter", + "more": "Load more…" }, "description": { "library": "This artist is present in the following libraries:" }, - "button": { - "more": "Load more…", - "filter": "Remove filter" - }, - "message": { - "filter": "You are currently hiding content related to this artist." + "header": { + "album": "Albums by this artist", + "library": "User libraries", + "track": "New tracks by this artist" }, "link": { "filter": "Review my filters" + }, + "message": { + "filter": "You are currently hiding content related to this artist." } }, "ArtistEdit": { @@ -1574,44 +1574,57 @@ } }, "Artists": { - "title": "Artists", - "placeholder": { - "search": "Search…" + "button": { + "search": "Search", + "upload": "Add some music" + }, + "empty": { + "noResults": "No results matching your query" }, "header": { "browse": "Browsing artists" }, "label": { + "excludeCompilation": "Exclude Compilation Artists", "search": "Artist name", - "tags": "Tags", - "excludeCompilation": "Exclude Compilation Artists" - }, - "button": { - "search": "Search", - "upload": "Add some music" + "tags": "Tags" }, "ordering": { - "label": "Ordering", "direction": { - "label": "Ordering direction", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" }, "pagination": { "results": "Results per page" }, - "empty": { - "noResults": "No results matching your query" - } + "placeholder": { + "search": "Search…" + }, + "title": "Artists" }, "EditCard": { + "button": { + "approve": "Approve", + "delete": "Delete", + "reject": "Reject" + }, "header": { "modification": "Modification {id}" }, "link": { "track": "Track #{id} - {name}" }, + "modal": { + "content": { + "warning": "The suggestion will be completely removed, this action is irreversible." + }, + "delete": { + "header": "Delete this suggestion?" + } + }, "status": { "applied": "Approved and applied", "approved": "Approved", @@ -1622,117 +1635,104 @@ "update": { "header": { "field": "Field", - "oldValue": "Old value", - "newValue": "New value" + "newValue": "New value", + "oldValue": "Old value" }, "notApplicable": "N/A" } - }, - "button": { - "approve": "Approve", - "reject": "Reject", - "delete": "Delete" - }, - "modal": { - "delete": { - "header": "Delete this suggestion?" - }, - "content": { - "warning": "The suggestion will be completely removed, this action is irreversible." - } } }, "EditForm": { - "notApplicable": "N/A", - "placeholder": { - "summary": "A short summary describing your changes." - }, - "header": { - "success": "Your edit was successfully submitted.", - "failure": "Error while submitting edit", - "recentEdits": "Recent edits", - "unreviewed": "Restrict to unreviewed edits" - }, "button": { + "cancel": "Cancel", + "clear": "Clear", + "new": "Submit another edit", + "reset": "Reset to initial value", "showAll": "Show all edits", "showUnreviewed": "Restrict to unreviewed edits", - "new": "Submit another edit", - "clear": "Clear", - "reset": "Reset to initial value", "submit": "Submit and apply edit", - "cancel": "Cancel", "suggest": "Submit suggestion" }, "empty": { "suggestEdit": "Suggest a change using the form below" }, + "header": { + "failure": "Error while submitting edit", + "recentEdits": "Recent edits", + "success": "Your edit was successfully submitted.", + "unreviewed": "Restrict to unreviewed edits" + }, "label": { "summary": "Summary (optional)" }, "message": { "noPermission": "You don't have the permission to edit this object, but you can suggest changes. Once submitted, suggestions will be reviewed before approval." + }, + "notApplicable": "N/A", + "placeholder": { + "summary": "A short summary describing your changes." } }, "FileUpload": { - "tooltip": { - "denied": "Upload denied, ensure the file is not too big and that you have not reached your quota", - "size": "Cannot upload this file, ensure it is not too big", - "network": "A network error occurred while uploading this file", - "timeout": "Upload timeout, please try again", - "retry": "Retry", - "extension": "Invalid file type, ensure you are uploading an audio file. Supported file extensions are {extensions}" - }, - "message": { - "listener": "This page is asking you to confirm that you want to leave - data you have entered may not be saved.", - "local": { - "message": "You are about to upload music to your library. Before proceeding, please ensure that:", - "copyright": "You are not uploading copyrighted content in a public library, otherwise you may be infringing the law", - "tag": "The music files you are uploading are tagged properly.", - "format": "The music files you are uploading are in OGG, Flac, MP3 or AIFF format" - } - }, - "link": { - "uploading": "Uploading", - "processing": "Processing", - "picard": "We recommend using Picard for that purpose." - }, - "empty": { - "noFiles": "0" - }, - "label": { - "remainingSpace": "Remaining storage space", - "uploadWidget": "Click to select files to upload or drag and drop files or directories", - "extensions": "Supported extensions: {extensions}" - }, - "header": { - "local": "Upload music from '~/your local storage", - "server": "Import music from your server", - "failure": "Error while launching import", - "status": "Import status" - }, - "table": { - "upload": { - "header": { - "filename": "Filename", - "size": "Size", - "status": "Status", - "actions": "Actions" - }, - "status": { - "uploaded": "Uploaded", - "uploading": "Uploading…", - "pending": "Pending" - }, - "progress": "{percent}%" - } - }, "button": { - "retry": "Retry failed uploads", - "cancel": "Cancel" + "cancel": "Cancel", + "retry": "Retry failed uploads" }, "description": { "import": "Import status", "previousImport": "Results of your previous import:" + }, + "empty": { + "noFiles": "0" + }, + "header": { + "failure": "Error while launching import", + "local": "Upload music from '~/your local storage", + "server": "Import music from your server", + "status": "Import status" + }, + "label": { + "extensions": "Supported extensions: {extensions}", + "remainingSpace": "Remaining storage space", + "uploadWidget": "Click to select files to upload or drag and drop files or directories" + }, + "link": { + "picard": "We recommend using Picard for that purpose.", + "processing": "Processing", + "uploading": "Uploading" + }, + "message": { + "listener": "This page is asking you to confirm that you want to leave - data you have entered may not be saved.", + "local": { + "copyright": "You are not uploading copyrighted content in a public library, otherwise you may be infringing the law", + "format": "The music files you are uploading are in OGG, Flac, MP3 or AIFF format", + "message": "You are about to upload music to your library. Before proceeding, please ensure that:", + "tag": "The music files you are uploading are tagged properly." + } + }, + "table": { + "upload": { + "header": { + "actions": "Actions", + "filename": "Filename", + "size": "Size", + "status": "Status" + }, + "progress": "{percent}%", + "status": { + "pending": "Pending", + "uploaded": "Uploaded", + "uploading": "Uploading…" + } + } + }, + "tooltip": { + "denied": "Upload denied, ensure the file is not too big and that you have not reached your quota", + "extension": "Invalid file type, ensure you are uploading an audio file. Supported file extensions are {extensions}", + "network": "A network error occurred while uploading this file", + "retry": "Retry", + "size": "Cannot upload this file, ensure it is not too big", + "timeout": "Upload timeout, please try again" } }, "FsBrowser": { @@ -1746,17 +1746,21 @@ } }, "Home": { - "title": "Library", "header": { - "recentlyListened": "Recently listened", - "recentlyFavorited": "Recently favorited", + "newChannels": "New channels", "playlists": "Playlists", "recentlyAdded": "Recently added", - "newChannels": "New channels" - } + "recentlyFavorited": "Recently favorited", + "recentlyListened": "Recently listened" + }, + "title": "Library" }, "ImportStatusModal": { + "button": { + "close": "Close" + }, "error": { + "importFailure": "An error occurred during upload processing. You will find more information below.", "invalidMetadata": { "label": "Invalid metadata", "message": "The metadata included in the file is invalid or some mandatory fields are missing." @@ -1764,39 +1768,41 @@ "unknownError": { "label": "Unknown error", "message": "An unknown error occurred" - }, - "importFailure": "An error occurred during upload processing. You will find more information below." + } }, "header": { "importDetail": "Import detail" }, - "message": { - "importDetail": "Upload is still pending and will soon be processed by the server.", - "importSuccess": "Upload was successfully processed by the server." - }, - "warning": { - "importSkipped": "Upload was skipped because a similar one is already available in one of your libraries." - }, - "table": { - "error": { - "errorType": "Error type", - "errorDetail": "Error detail", - "help": "Getting help", - "debug": "Debug information" - } - }, "link": { "documentation": "Read our documentation for this error", "support": "Open a support thread (include the debug information below in your message)" }, - "button": { - "close": "Close" + "message": { + "importDetail": "Upload is still pending and will soon be processed by the server.", + "importSuccess": "Upload was successfully processed by the server." + }, + "table": { + "error": { + "debug": "Debug information", + "errorDetail": "Error detail", + "errorType": "Error type", + "help": "Getting help" + } + }, + "warning": { + "importSkipped": "Upload was skipped because a similar one is already available in one of your libraries." } }, "Podcasts": { - "title": "Podcasts", - "placeholder": { - "search": "Search…" + "button": { + "cancel": "Cancel", + "channel": "Create a Channel", + "feed": "Subscribe to feed", + "search": "Search", + "subscribe": "Subscribe" + }, + "empty": { + "noResults": "No results matching your query" }, "header": { "browse": "Browsing podcasts" @@ -1805,76 +1811,69 @@ "search": "Podcast title", "tags": "Tags" }, - "button": { - "search": "Search", - "cancel": "Cancel", - "subscribe": "Subscribe", - "channel": "Create a Channel", - "feed": "Subscribe to feed" - }, - "ordering": { - "label": "Ordering", - "direction": { - "label": "Ordering direction", - "ascending": "Ascending", - "descending": "Descending" - } - }, - "pagination": { - "results": "Results per page" - }, - "empty": { - "noResults": "No results matching your query" - }, "modal": { "subscription": { "header": "Subscription" } - } + }, + "ordering": { + "direction": { + "ascending": "Ascending", + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" + }, + "pagination": { + "results": "Results per page" + }, + "placeholder": { + "search": "Search…" + }, + "title": "Podcasts" }, "Radios": { - "title": "Radios", - "placeholder": { - "search": "Enter a radio name…" + "button": { + "add": "Create a radio", + "create": "Create your own radio", + "search": "Search" + }, + "empty": { + "noResults": "No results matching your query" }, "header": { "browse": "Browsing radios", "instance": "Instance radios", "user": "User radios" }, - "link": {}, "label": { "search": "Search" }, - "button": { - "search": "Search", - "create": "Create your own radio", - "add": "Create a radio" - }, "ordering": { - "label": "Ordering", "direction": { - "label": "Order", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Order" + }, + "label": "Ordering" }, "pagination": { "results": "Results per page" }, - "empty": { - "noResults": "No results matching your query" - } + "placeholder": { + "search": "Enter a radio name…" + }, + "title": "Radios" }, "TagDetail": { - "link": { - "moderation": "Open in moderation interface", - "artists": "Artists", - "albums": "Albums" - }, "header": { "channels": "Channels", "tracks": "Tracks" + }, + "link": { + "albums": "Albums", + "artists": "Artists", + "moderation": "Open in moderation interface" } }, "TagSelector": { @@ -1883,73 +1882,73 @@ } }, "TrackBase": { - "title": "Track", + "button": { + "cancel": "Cancel", + "delete": "Delete", + "download": "Download", + "edit": "Edit", + "embed": "Embed", + "more": "More…", + "play": "Play" + }, + "link": { + "discogs": "Search on Discogs", + "django": "View in Django's admin", + "domain": "View on {domain}", + "moderation": "Open in moderation interface", + "wikipedia": "Search on Wikipedia" + }, + "modal": { + "delete": { + "content": { + "warning": "The track will be deleted, as well as any related files and data. This action is irreversible." + }, + "header": "Delete this track?" + }, + "embed": { + "header": "Embed this track on your website" + } + }, "subtitle": { "with-uploader": "Uploaded by {0} on {1}", "without-uploader": "Uploaded on {0}" }, - "button": { - "download": "Download", - "more": "More…", - "play": "Play", - "cancel": "Cancel", - "embed": "Embed", - "edit": "Edit", - "delete": "Delete" - }, - "link": { - "domain": "View on {domain}", - "wikipedia": "Search on Wikipedia", - "discogs": "Search on Discogs", - "moderation": "Open in moderation interface", - "django": "View in Django's admin" - }, - "modal": { - "embed": { - "header": "Embed this track on your website" - }, - "delete": { - "header": "Delete this track?", - "content": { - "warning": "The track will be deleted, as well as any related files and data. This action is irreversible." - } - } - } + "title": "Track" }, "TrackDetail": { - "notApplicable": "N/A", - "header": { - "track": "Track details", - "episode": "Episode details", - "release": "Release Details", - "playlists": "Related Playlists", - "library": "Related libraries" - }, "description": { "library": "This track is present in the following libraries:" }, + "header": { + "episode": "Episode details", + "library": "Related libraries", + "playlists": "Related Playlists", + "release": "Release Details", + "track": "Track details" + }, "link": { "musicbrainz": "View on MusicBrainz" }, + "notApplicable": "N/A", "table": { + "release": { + "album": "Album", + "artist": "Artist", + "copyright": "Copyright", + "license": "License", + "series": "Serie", + "url": "URL", + "year": "Year" + }, "track": { - "duration": "Duration", - "size": "Size", - "codec": "Codec", "bitrate": { "label": "Bitrate", "value": "{bitrate}/s" }, - "downloads": "Downloads" - }, - "release": { - "copyright": "Copyright", - "year": "Year", - "license": "License", - "url": "URL", - "artist": "Artist", - "album": "Album", - "series": "Serie" + "codec": "Codec", + "downloads": "Downloads", + "duration": "Duration", + "size": "Size" } } }, @@ -1959,146 +1958,143 @@ "suggest": "Suggest an edit on this track" }, "message": { - "remote": " This object is managed by another server, you cannot edit it." + "remote": "This object is managed by another server, you cannot edit it." } }, "radios": { "Builder": { - "title": "Radio Builder", - "placeholder": { - "name": "My awesome radio", - "description": "My awesome description" - }, - "header": { - "builder": "Builder", - "updated": "Radio updated", - "created": "Radio created", - "matches": "0 tracks matching combined filters | {n} track matching combined filters | {n} tracks matching combined filters" + "button": { + "filter": "Add filter", + "save": "Save" }, "description": { "builder": "You can use this interface to build your own custom radio, which will play tracks according to your criteria." }, - "label": { - "name": "Radio name", - "description": "Description", - "public": "Display publicly", - "filter": "Add filters to customize your radio" + "header": { + "builder": "Builder", + "created": "Radio created", + "matches": "0 tracks matching combined filters | {n} track matching combined filters | {n} tracks matching combined filters", + "updated": "Radio updated" }, - "button": { - "save": "Save", - "filter": "Add filter" + "label": { + "description": "Description", + "filter": "Add filters to customize your radio", + "name": "Radio name", + "public": "Display publicly" }, "option": { "filter": "Select a filter" }, + "placeholder": { + "description": "My awesome description", + "name": "My awesome radio" + }, "table": { "filter": { "header": { - "name": "Filter name", - "exclude": "Exclude", - "config": "Config", + "actions": "Actions", "candidates": "Candidates", - "actions": "Actions" + "config": "Config", + "exclude": "Exclude", + "name": "Filter name" } } - } + }, + "title": "Radio Builder" }, "Filter": { + "cancelButton": "Cancel", "excludeLabel": "Exclude", "matchingTracks": "0 tracks matching filter | {n} track matching filter | {n} tracks matching filter", "matchingTracksModalHeader": "Tracks matching filter", - "cancelButton": "Cancel", "removeButton": "Remove" } } }, "manage": { "ChannelsTable": { - "placeholder": { - "search": "Search by domain, name, account…" + "label": { + "category": "Category", + "search": "Search" }, "link": { - "moderation": "Open in moderation interface", - "local": "Local" - }, - "label": { - "search": "Search", - "category": "Category" + "local": "Local", + "moderation": "Open in moderation interface" }, "option": { "all": "All" }, "ordering": { - "label": "Ordering", "direction": { - "label": "Ordering direction", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" + }, + "pagination": { + "results": "Showing results {start}-{end} on {total}" + }, + "placeholder": { + "search": "Search by domain, name, account…" }, "table": { "channel": { "header": { - "name": "Name", "account": "Account", - "domain": "Domain", "albums": "Albums", - "tracks": "Tracks", - "creationDate": "Creation date" + "creationDate": "Creation date", + "domain": "Domain", + "name": "Name", + "tracks": "Tracks" } } - }, - "pagination": { - "results": "Showing results {start}-{end} on {total}" } }, "library": { "AlbumsTable": { - "notApplicable": "N/A", - "placeholder": { - "search": "Search by domain, title, artist, MusicBrainz ID…" - }, - "link": { - "moderation": "Open in moderation interface", - "local": "Local" - }, - "label": { - "search": "Search" - }, "action": { "delete": { "label": "Delete", "warning": "The selected albums will be removed, as well as associated tracks, uploads, favorites and listening history. This action is irreversible." } }, + "label": { + "search": "Search" + }, + "link": { + "local": "Local", + "moderation": "Open in moderation interface" + }, + "notApplicable": "N/A", "ordering": { - "label": "Ordering", "direction": { - "label": "Ordering direction", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" + }, + "pagination": { + "results": "Showing results {start}-{end} on {total}" + }, + "placeholder": { + "search": "Search by domain, title, artist, MusicBrainz ID…" }, "table": { "album": { "header": { - "name": "Name", "artist": "Artist", + "creationDate": "Creation date", "domain": "Domain", - "tracks": "Tracks", + "name": "Name", "releaseDate": "Release date", - "creationDate": "Creation date" + "tracks": "Tracks" } } - }, - "pagination": { - "results": "Showing results {start}-{end} on {total}" } }, "ArtistsTable": { - "placeholder": { - "search": "Search by domain, name, MusicBrainz ID…" - }, "action": { "delete": { "label": "Delete", @@ -2106,68 +2102,68 @@ } }, "label": { - "search": "Search", - "category": "Category" + "category": "Category", + "search": "Search" + }, + "link": { + "local": "Local" }, "option": { "all": "All" }, "ordering": { - "label": "Ordering", "direction": { - "label": "Ordering direction", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" + }, + "pagination": { + "results": "Showing results {start}-{end} on {total}" + }, + "placeholder": { + "search": "Search by domain, name, MusicBrainz ID…" }, "table": { "artist": { "header": { - "name": "Name", - "domain": "Domain", "albums": "Albums", - "tracks": "Tracks", - "creationDate": "Creation date" + "creationDate": "Creation date", + "domain": "Domain", + "name": "Name", + "tracks": "Tracks" } } - }, - "link": { - "local": "Local" - }, - "pagination": { - "results": "Showing results {start}-{end} on {total}" } }, "EditsCardList": { - "placeholder": { - "search": "Search by account, summary, domain…" - }, "label": { "search": "Search", "status": "Status" }, "option": { "all": "All", - "pending": "Pending review", "approved": "Approved", + "pending": "Pending review", "rejected": "Rejected" }, "ordering": { - "label": "Ordering", "direction": { - "label": "Order", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Order" + }, + "label": "Ordering" }, "pagination": { "results": "Showing results {start}-{end} on {total}" + }, + "placeholder": { + "search": "Search by account, summary, domain…" } }, "LibrariesTable": { - "placeholder": { - "search": "Search by domain, actor, name, description…" - }, "action": { "delete": { "label": "Delete", @@ -2178,41 +2174,41 @@ "search": "Search", "visibility": "Visibility" }, + "link": { + "local": "Local" + }, "option": { "all": "All" }, "ordering": { - "label": "Ordering", "direction": { - "label": "Ordering direction", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" }, - "link": { - "local": "Local" + "pagination": { + "results": "Showing results {start}-{end} on {total}" + }, + "placeholder": { + "search": "Search by domain, actor, name, description…" }, "table": { "library": { "header": { - "name": "Name", "account": "Account", + "creationDate": "Creation date", "domain": "Domain", - "visibility": "Visibility", - "uploads": "Uploads", "followers": "Followers", - "creationDate": "Creation date" + "name": "Name", + "uploads": "Uploads", + "visibility": "Visibility" } } - }, - "pagination": { - "results": "Showing results {start}-{end} on {total}" } }, "TagsTable": { - "placeholder": { - "search": "Search by name" - }, "action": { "delete": { "label": "Delete", @@ -2223,33 +2219,32 @@ "search": "Search" }, "ordering": { - "label": "Ordering", "direction": { - "label": "Ordering direction", "ascending": "Ascending", - "descending": "Descending" - } - }, - "link": {}, - "table": { - "tag": { - "header": { - "name": "Name", - "artists": "Artists", - "albums": "Albums", - "tracks": "Tracks", - "creationDate": "Creation date" - } - } + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" }, "pagination": { "results": "Showing results {start}-{end} on {total}" + }, + "placeholder": { + "search": "Search by name" + }, + "table": { + "tag": { + "header": { + "albums": "Albums", + "artists": "Artists", + "creationDate": "Creation date", + "name": "Name", + "tracks": "Tracks" + } + } } }, "TracksTable": { - "placeholder": { - "search": "Search by domain, title, artist, album, MusicBrainz ID…" - }, "action": { "delete": { "label": "Delete", @@ -2259,38 +2254,38 @@ "label": { "search": "Search" }, - "ordering": { - "label": "Ordering", - "direction": { - "label": "Ordering direction", - "ascending": "Ascending", - "descending": "Descending" - } - }, "link": { "local": "Local" }, - "table": { - "track": { - "header": { - "title": "Title", - "album": "Album", - "artist": "Artist", - "domain": "Domain", - "license": "License", - "creationDate": "Creation date" - } - } + "notApplicable": "N/A", + "ordering": { + "direction": { + "ascending": "Ascending", + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" }, "pagination": { "results": "Showing results {start}-{end} on {total}" }, - "notApplicable": "N/A" + "placeholder": { + "search": "Search by domain, title, artist, album, MusicBrainz ID…" + }, + "table": { + "track": { + "header": { + "album": "Album", + "artist": "Artist", + "creationDate": "Creation date", + "domain": "Domain", + "license": "License", + "title": "Title" + } + } + } }, "UploadsTable": { - "placeholder": { - "search": "Search by domain, actor, name, reference, source…" - }, "action": { "delete": { "label": "Delete", @@ -2299,46 +2294,49 @@ }, "label": { "search": "Search", - "visibility": "Visibility", - "status": "Import status" - }, - "option": { - "all": "All", - "pending": "Pending", - "skipped": "Skipped", - "failed": "Failed", - "finished": "Finished" - }, - "ordering": { - "label": "Ordering", - "direction": { - "label": "Ordering direction", - "ascending": "Ascending", - "descending": "Descending" - } + "status": "Import status", + "visibility": "Visibility" }, "link": { "local": "Local" }, - "table": { - "upload": { - "header": { - "name": "Name", - "library": "Library", - "account": "Account", - "domain": "Domain", - "visibility": "Visibility", - "importStatus": "Import status", - "size": "Size", - "creationDate": "Creation date", - "accessedDate": "Accessed date" - } - } + "notApplicable": "N/A", + "option": { + "all": "All", + "failed": "Failed", + "finished": "Finished", + "pending": "Pending", + "skipped": "Skipped" + }, + "ordering": { + "direction": { + "ascending": "Ascending", + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" }, "pagination": { "results": "Showing results {start}-{end} on {total}" }, - "notApplicable": "N/A" + "placeholder": { + "search": "Search by domain, actor, name, reference, source…" + }, + "table": { + "upload": { + "header": { + "accessedDate": "Accessed date", + "account": "Account", + "creationDate": "Creation date", + "domain": "Domain", + "importStatus": "Import status", + "library": "Library", + "name": "Name", + "size": "Size", + "visibility": "Visibility" + } + } + } } }, "moderation": { @@ -2348,99 +2346,95 @@ "label": "Purge" } }, - "placeholder": { - "search": "Search by domain, username, bio…" - }, "label": { "search": "Search" }, - "ordering": { - "label": "Ordering", - "direction": { - "label": "Ordering direction", - "ascending": "Ascending", - "descending": "Descending" - } - }, "link": { "local": "Local account" }, - "table": { - "account": { - "header": { - "name": "Name", - "domain": "Domain", - "uploads": "Uploads", - "firstSeen": "First seen", - "lastSeen": "Last seen", - "moderationRule": "Under moderation rule" - }, - "moderationRule": "Yes" - } + "ordering": { + "direction": { + "ascending": "Ascending", + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" }, "pagination": { "results": "Showing results {start}-{end} on {total}" + }, + "placeholder": { + "search": "Search by domain, username, bio…" + }, + "table": { + "account": { + "header": { + "domain": "Domain", + "firstSeen": "First seen", + "lastSeen": "Last seen", + "moderationRule": "Under moderation rule", + "name": "Name", + "uploads": "Uploads" + }, + "moderationRule": "Yes" + } } }, "DomainsTable": { "action": { - "purge": { - "label": "Purge" - }, "add": { "label": "Add to allow-list" }, + "purge": { + "label": "Purge" + }, "remove": { "label": "Remove from allow-list" } }, - "placeholder": { - "search": "Search by name…" + "empty": { + "noPods": "No other pods found" + }, + "label": { + "inList": "Is present on allow-list", + "search": "Search" }, "link": { "list": "This domain is present in your allow-list" }, - "label": { - "search": "Search", - "inList": "Is present on allow-list" - }, "option": { "all": "All", - "yes": "Yes", - "no": "No" + "no": "No", + "yes": "Yes" }, "ordering": { - "label": "Ordering", "direction": { - "label": "Ordering direction", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" + }, + "pagination": { + "results": "Showing results {start}-{end} on {total}" + }, + "placeholder": { + "search": "Search by name…" }, "table": { "domain": { "header": { - "name": "Name", - "users": "Users", - "receivedMessages": "Received messages", "firstSeen": "First seen", - "moderationRule": "Under moderation rule" + "moderationRule": "Under moderation rule", + "name": "Name", + "receivedMessages": "Received messages", + "users": "Users" }, "moderationRule": "Yes" } - }, - "empty": { - "noPods": "No other pods found" - }, - "pagination": { - "results": "Showing results {start}-{end} on {total}" } }, "InstancePolicyCard": { - "status": { - "enabled": "Enabled", - "paused": "Paused" - }, "button": { "edit": "Edit" }, @@ -2451,73 +2445,77 @@ "blockAll": "Block everything", "muteActivity": "Mute activity", "muteNotifications": "Mute notifications", - "rejectMedia": "Reject media", - "reason": "Reason" + "reason": "Reason", + "rejectMedia": "Reject media" + }, + "status": { + "enabled": "Enabled", + "paused": "Paused" } }, "InstancePolicyForm": { - "tooltip": { - "summary": "Explain why you're applying this policy: this will help you remember why you added this rule. Depending on your pod configuration, this may be displayed publicly to help users understand the moderation rules in place.", - "isActive": "Use this setting to temporarily enable/disable the policy without completely removing it.", - "blockAll": "Block everything from this account or domain. This will prevent any interaction with the entity, and purge related content (uploads, libraries, follows, etc.", - "silenceActivity": "Hide account or domain content, except from followers.", - "silenceNotifications": "Prevent account or domain from triggering notifications, except from followers.", - "rejectMedia": "Hide account or domain content, except from followers." - }, - "label": { - "silenceActivity": "Mute activity", - "silenceNotifications": "Mute notifications", - "rejectMedia": "Reject media", - "policyEnabled": "Enabled", - "policyDisabled": "Disabled", - "policyReason": "Reason", - "blockAll": "Block everything", - "customizeRule": "Or customize your rule" - }, - "header": { - "editRule": "Edit moderation rule", - "addRule": "Add a new moderation rule", - "failure": "Error while creating rule" - }, "button": { "cancel": "Cancel", - "update": "Update", + "confirm": "Delete moderation rule", "create": "Create", "delete": "Delete", - "confirm": "Delete moderation rule" + "update": "Update" + }, + "header": { + "addRule": "Add a new moderation rule", + "editRule": "Edit moderation rule", + "failure": "Error while creating rule" + }, + "label": { + "blockAll": "Block everything", + "customizeRule": "Or customize your rule", + "policyDisabled": "Disabled", + "policyEnabled": "Enabled", + "policyReason": "Reason", + "rejectMedia": "Reject media", + "silenceActivity": "Mute activity", + "silenceNotifications": "Mute notifications" }, "modal": { "delete": { - "header": "Delete this moderation rule?", "content": { "warning": "This action is irreversible" - } + }, + "header": "Delete this moderation rule?" } + }, + "tooltip": { + "blockAll": "Block everything from this account or domain. This will prevent any interaction with the entity, and purge related content (uploads, libraries, follows, etc.", + "isActive": "Use this setting to temporarily enable/disable the policy without completely removing it.", + "rejectMedia": "Hide account or domain content, except from followers.", + "silenceActivity": "Hide account or domain content, except from followers.", + "silenceNotifications": "Prevent account or domain from triggering notifications, except from followers.", + "summary": "Explain why you're applying this policy: this will help you remember why you added this rule. Depending on your pod configuration, this may be displayed publicly to help users understand the moderation rules in place." } }, "InstancePolicyModal": { "button": { - "show": "Moderation rules…", - "close": "Close" + "close": "Close", + "show": "Moderation rules…" }, "modal": { "manage": { - "header": "Manage moderation rules for {obj}", "content": { "warning": "This entity is subject to specific moderation rules" - } + }, + "header": "Manage moderation rules for {obj}" } } }, "NoteForm": { - "placeholder": { - "summary": "Describe what actions have been taken, or any other related updates…" + "button": { + "add": "Add note" }, "header": { "failure": "Error while submitting note" }, - "button": { - "add": "Add note" + "placeholder": { + "summary": "Describe what actions have been taken, or any other related updates…" } }, "NotesThread": { @@ -2526,115 +2524,115 @@ }, "modal": { "delete": { - "header": "Delete this note?", "content": { "warning": "The note will be deleted. This action is irreversible." - } + }, + "header": "Delete this note?" } } }, "ReportCard": { - "modal": { - "delete": { - "header": "Delete reported object?", - "content": { - "warning": "This will delete the object associated with this report and mark the report as resolved. The deletion is irreversible." - } - } - }, "button": { + "confirmDelete": "Delete", "delete": "Delete reported object", "resolve": "Resolve", - "unresolve": "Unresolve", - "confirmDelete": "Delete" - }, - "link": { - "report": "Report {id}", - "publicPage": "View public page", - "moderation": "Open in moderation interface" - }, - "table": { - "report": { - "submittedBy": "Submitted by", - "category": "Category", - "creationDate": "Creation date" - }, - "status": { - "status": "Status", - "resolved": "Resolved", - "unresolved": "Unresolved", - "assignedTo": "Assigned to", - "resolutionDate": "Resolution date", - "internalNotes": "Internal notes" - }, - "object": { - "type": "Type", - "owner": "Owner", - "account": "Account", - "domain": "Domain", - "local": "Local" - } + "unresolve": "Unresolve" }, "header": { + "actions": "Actions", "message": "Message", - "reportedObject": "Reported object", "notes": "Internal notes", - "actions": "Actions" + "reportedObject": "Reported object" }, - "warning": { - "objectDeleted": "The object associated with this report was deleted." - }, - "notApplicable": "N/A" - }, - "UserRequestCard": { "link": { - "request": "Request {id}" + "moderation": "Open in moderation interface", + "publicPage": "View public page", + "report": "Report {id}" }, - "table": { - "request": { - "submittedBy": "Submitted by", - "creationDate": "Creation date" - }, - "status": { - "status": "Status", - "pending": "Pending", - "refused": "Refused", - "approved": "Approved", - "assignedTo": "Assigned to", - "resolutionDate": "Resolution date", - "internalNotes": "Internal notes" + "modal": { + "delete": { + "content": { + "warning": "This will delete the object associated with this report and mark the report as resolved. The deletion is irreversible." + }, + "header": "Delete reported object?" } }, "notApplicable": "N/A", + "table": { + "object": { + "account": "Account", + "domain": "Domain", + "local": "Local", + "owner": "Owner", + "type": "Type" + }, + "report": { + "category": "Category", + "creationDate": "Creation date", + "submittedBy": "Submitted by" + }, + "status": { + "assignedTo": "Assigned to", + "internalNotes": "Internal notes", + "resolutionDate": "Resolution date", + "resolved": "Resolved", + "status": "Status", + "unresolved": "Unresolved" + } + }, + "warning": { + "objectDeleted": "The object associated with this report was deleted." + } + }, + "UserRequestCard": { + "button": { + "approve": "Approve", + "reject": "Refuse" + }, "header": { - "signup": "Message", "actions": "Actions", - "notes": "Internal notes" + "notes": "Internal notes", + "signup": "Message" + }, + "link": { + "request": "Request {id}" }, "message": { "signup": "This user wants to sign-up on your pod." }, - "button": { - "approve": "Approve", - "reject": "Refuse" + "notApplicable": "N/A", + "table": { + "request": { + "creationDate": "Creation date", + "submittedBy": "Submitted by" + }, + "status": { + "approved": "Approved", + "assignedTo": "Assigned to", + "internalNotes": "Internal notes", + "pending": "Pending", + "refused": "Refused", + "resolutionDate": "Resolution date", + "status": "Status" + } } } }, "users": { "InvitationForm": { - "placeholder": { - "invitation": "Leave empty for a random code" - }, - "header": { - "failure": "Error while creating invitation" - }, "button": { "clear": "Clear", "new": "Get a new invitation" }, + "header": { + "failure": "Error while creating invitation" + }, "label": { "invite": "Invitation code" }, + "placeholder": { + "invitation": "Leave empty for a random code" + }, "table": { "invitation": { "header": { @@ -2648,41 +2646,56 @@ "action": { "delete": "Delete" }, - "placeholder": { - "search": "Search by username, e-mail address, code…" - }, "label": { + "expired": "Expired", "search": "Search", "status": "Status", - "used": "Used", - "expired": "Expired", - "unused": "Not used" + "unused": "Not used", + "used": "Used" + }, + "option": { + "all": "All", + "expired": "Expired/used", + "open": "Open" }, "ordering": { "label": "Ordering" }, - "option": { - "all": "All", - "open": "Open", - "expired": "Expired/used" + "pagination": { + "results": "Showing zero results | Showing one result | Showing results {start} to {end} from {total}" + }, + "placeholder": { + "search": "Search by username, e-mail address, code…" }, "table": { "invitation": { "header": { - "owner": "Owner", - "status": "Status", + "code": "Code", "creationDate": "Creation date", "expirationDate": "Expiration date", - "user": "User", - "code": "Code" + "owner": "Owner", + "status": "Status", + "user": "User" } } - }, - "pagination": { - "results": "Showing zero results | Showing one result | Showing results {start} to {end} from {total}" } }, "UsersTable": { + "label": { + "search": "Search" + }, + "notApplicable": "N/A", + "ordering": { + "direction": { + "ascending": "Ascending", + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" + }, + "pagination": { + "results": "Showing zero results | Showing one result | Showing results {start} to {end} from {total}" + }, "permission": { "library": "Library", "moderation": "Moderation", @@ -2691,54 +2704,46 @@ "placeholder": { "search": "Search by username, e-mail address, name…" }, - "label": { - "search": "Search" - }, - "ordering": { - "label": "Ordering", - "direction": { - "label": "Ordering direction", - "ascending": "Ascending", - "descending": "Descending" - } - }, "table": { "user": { - "header": { - "username": "Username", - "email": "Email", - "accountStatus": "Account status", - "signup": "Sign-up", - "lastActivity": "Last activity", - "permissions": "Permissions", - "status": "Status" - }, "accountStatus": { "active": "Active", "inactive": "Inactive" }, + "header": { + "accountStatus": "Account status", + "email": "Email", + "lastActivity": "Last activity", + "permissions": "Permissions", + "signup": "Sign-up", + "status": "Status", + "username": "Username" + }, "status": { "admin": "Admin", - "staff": "Staff member", - "regular": "Regular user" + "regular": "Regular user", + "staff": "Staff member" } } - }, - "notApplicable": "N/A", - "pagination": { - "results": "Showing zero results | Showing one result | Showing results {start} to {end} from {total}" } } } }, "moderation": { "FilterModal": { - "message": { - "success": "Content filter successfully added" + "button": { + "cancel": "Cancel", + "hide": "Hide content" }, "header": { - "modal": "Do you want to hide content from artist \"{name}\"?", - "failure": "Error while creating filter" + "failure": "Error while creating filter", + "modal": "Do you want to hide content from artist \"{name}\"?" + }, + "help": { + "createFilter": "You can manage your filters any time from your account settings." + }, + "message": { + "success": "Content filter successfully added" }, "warning": { "createFilter": { @@ -2748,13 +2753,6 @@ "listItem3": "In artists and album listings", "listItem4": "In radio suggestions" } - }, - "help": { - "createFilter": "You can manage your filters any time from your account settings." - }, - "button": { - "cancel": "Cancel", - "hide": "Hide content" } }, "ReportCategoryDropdown": { @@ -2766,47 +2764,47 @@ } }, "ReportModal": { - "message": { - "submissionSuccess": "Report successfully submitted, thank you" + "button": { + "cancel": "Cancel", + "submit": "Submit report" + }, + "description": { + "email": "We'll use this e-mail address if we need to contact you regarding this report.", + "forwardToDomain": "Forward an anonymized copy of your report to the server hosting this element.", + "message": "Use this field to provide additional context to the moderator that will handle your report.", + "modal": "Use this form to submit a report to our moderation team" }, "error": { "nodeinfoFetch": "Cannot fetch Node Info: {error}" }, "header": { + "disabled": "Anonymous reports are disabled, please sign-in to submit a report.", "modal": "Do you want to report this object?", - "submissionFailure": "Error while submitting report", - "disabled": "Anonymous reports are disabled, please sign-in to submit a report." - }, - "description": { - "modal": "Use this form to submit a report to our moderation team", - "email": "We'll use this e-mail address if we need to contact you regarding this report.", - "message": "Use this field to provide additional context to the moderator that will handle your report.", - "forwardToDomain": "Forward an anonymized copy of your report to the server hosting this element." + "submissionFailure": "Error while submitting report" }, "label": { "email": "Email", - "message": "Message", - "forwardToDomain": "Forward to {domain}" + "forwardToDomain": "Forward to {domain}", + "message": "Message" }, - "button": { - "cancel": "Cancel", - "submit": "Submit report" + "message": { + "submissionSuccess": "Report successfully submitted, thank you" } } }, "notifications": { "NotificationRow": { "button": { + "approve": "Approve", "markRead": "Mark as read", "markUnread": "Mark as unread", - "reject": "Reject", - "approve": "Approve" + "reject": "Reject" }, "message": { - "libraryFollow": "{username} followed your library \"{library}\"", "libraryAcceptFollow": "{username} accepted your follow on library \"{library}\"", - "libraryReject": "You rejected {username}'s request to follow \"{library}\"", - "libraryPendingFollow": "{username} wants to follow your library \"{library}\"" + "libraryFollow": "{username} followed your library \"{library}\"", + "libraryPendingFollow": "{username} wants to follow your library \"{library}\"", + "libraryReject": "You rejected {username}'s request to follow \"{library}\"" } } }, @@ -2818,94 +2816,94 @@ }, "Editor": { "button": { - "copy": "Copy the current queue to this playlist", "addDuplicate": "Add anyways", "clear": "Clear playlist", + "copy": "Copy the current queue to this playlist", "insertFromQueue": "Insert from queue ({n} track) | Insert from queue ({n} tracks" }, - "header": { - "editor": "Playlist editor" - }, - "loading": { - "sync": "Syncing changes to server…" - }, "error": { "sync": "An error occurred while saving your changes" }, - "warning": { - "duplicate": "Some tracks in your queue are already in this playlist:" - }, - "message": { - "sync": "Changes synced with server" + "header": { + "editor": "Playlist editor" }, "help": { "reorder": "Drag and drop rows to reorder tracks in the playlist" }, + "loading": { + "sync": "Syncing changes to server…" + }, + "message": { + "sync": "Changes synced with server" + }, "modal": { "clearPlaylist": { - "header": "Do you want to clear the playlist \"{playlist}\"?", "content": { "warning": "This will remove all tracks from this playlist and cannot be undone." - } + }, + "header": "Do you want to clear the playlist \"{playlist}\"?" } + }, + "warning": { + "duplicate": "Some tracks in your queue are already in this playlist:" } }, "Form": { - "placeholder": { - "name": "My awesome playlist" + "button": { + "create": "Create playlist", + "update": "Update playlist" }, "header": { + "createFailure": "The playlist could not be created", "createPlaylist": "Create a new playlist", - "updateSuccess": "Playlist updated", "createSuccess": "Playlist created", - "createFailure": "The playlist could not be created" + "updateSuccess": "Playlist updated" }, "label": { "name": "Playlist name", "visibility": "Playlist visiblity" }, - "button": { - "update": "Update playlist", - "create": "Create playlist" + "placeholder": { + "name": "My awesome playlist" } }, "PlaylistModal": { - "placeholder": { - "filterPlaylist": "Enter playlist name" - }, "button": { + "addDuplicate": "Add anyways", "addToPlaylist": "Add to this playlist", "addTrack": "Add track", "cancel": "Cancel", - "addDuplicate": "Add anyways", "edit": "Edit" }, - "header": { - "addToPlaylist": "Add to playlist", - "track": "{title}, by {artist}", - "manage": "Manage playlists", - "addFailure": "The track can't be added to a playlist", - "available": "Available playlists", - "noResults": "No results matching your filter" + "empty": { + "noPlaylists": "No playlists have been created yet" }, - "warning": { - "duplicate": "{ 0 } is already in { 1 }." + "header": { + "addFailure": "The track can't be added to a playlist", + "addToPlaylist": "Add to playlist", + "available": "Available playlists", + "manage": "Manage playlists", + "noResults": "No results matching your filter", + "track": "{title}, by {artist}" + }, + "label": { + "filter": "Filter" + }, + "placeholder": { + "filterPlaylist": "Enter playlist name" }, "table": { "edit": { "header": { "edit": "Edit", - "name": "Name", "lastModification": "Last modification", + "name": "Name", "tracks": "Tracks" } } }, - "label": { - "filter": "Filter" - }, - "empty": { - "noPlaylists": "No playlists have been created yet" + "warning": { + "duplicate": "{ 0 } is already in { 1 }." } }, "TrackPlaylistIcon": { @@ -2914,25 +2912,25 @@ } }, "Widget": { - "placeholder": { - "noPlaylists": "No playlists have been created yet" - }, "button": { "create": "Create playlist", "more": "Show more" + }, + "placeholder": { + "noPlaylists": "No playlists have been created yet" } } }, "radios": { "Button": { - "stopTagsRadio": "Stop tags radio", + "startArtistsRadio": "Start artists radio", + "startPlaylistsRadio": "Start playlists radio", + "startRadio": "Play radio", "startTagsRadio": "Start tags radio", "stopArtistsRadio": "Stop artists radio", - "startArtistsRadio": "Start artists radio", "stopPlaylistsRadio": "Stop playlists radio", - "startPlaylistsRadio": "Start playlists radio", "stopRadio": "Stop radio", - "startRadio": "Play radio" + "stopTagsRadio": "Stop tags radio" }, "Card": { "button": { @@ -2950,23 +2948,12 @@ "vui": { "Pagination": { "label": "Pagination", - "previous": "Previous Page", - "next": "Next Page" + "next": "Next Page", + "previous": "Previous Page" } } }, "composables": { - "useErrorHandler": { - "unexpectedError": "An unexpected error occurred.", - "errorReportTitle": "An unexpected error occured.", - "errorReportMessage": "To help us understand why it happened, please attach a detailed description of what you did that has triggered the error.", - "leaveFeedback": "Leave feedback" - }, - "useThemeList": { - "browserDefault": "Browser default", - "lightTheme": "Light", - "darkTheme": "Dark" - }, "audio": { "usePlayOptions": { "addToQueueMessage": "{n} tracks were added to your queue | {n} track was added to your queue | {n} tracks were added to your queue" @@ -2975,169 +2962,169 @@ "locale": { "useSharedLabels": { "fields": { - "privacyLevel": { - "label": "Activity visibility", - "help": "Determine the visiblity level of your activity", + "contentCategory": { + "choices": { + "music": "Music", + "other": "Other", + "podcast": "Podcast" + }, + "label": "Content category" + }, + "importStatus": { + "choices": { + "draft": { + "help": "This track has been uploaded, but hasn't been scheduled for processing yet", + "label": "Draft" + }, + "errored": { + "help": "This track could not be processed, please make sure it is tagged correctly", + "label": "Errored" + }, + "finished": { + "help": "Imported", + "label": "Finished" + }, + "pending": { + "help": "This track has been uploaded, but hasn't been processed by the server yet", + "label": "Pending" + }, + "skipped": { + "help": "This track is already present in one of your libraries", + "label": "Skipped" + } + }, + "label": "Click to display more information about the import process for this upload" + }, + "privacyLevel": { "choices": { - "private": "Nobody except me", "instance": "Everyone on this instance", + "private": "Nobody except me", "public": "Everyone, across all instances" }, + "help": "Determine the visiblity level of your activity", + "label": "Activity visibility", "shortChoices": { - "private": "Private", "instance": "Instance", + "private": "Private", "public": "Everyone" } }, - "importStatus": { - "label": "Click to display more information about the import process for this upload", - "choices": { - "skipped": { - "label": "Skipped", - "help": "This track is already present in one of your libraries" - }, - "draft": { - "label": "Draft", - "help": "This track has been uploaded, but hasn't been scheduled for processing yet" - }, - "pending": { - "label": "Pending", - "help": "This track has been uploaded, but hasn't been processed by the server yet" - }, - "errored": { - "label": "Errored", - "help": "This track could not be processed, please make sure it is tagged correctly" - }, - "finished": { - "label": "Finished", - "help": "Imported" - } - } - }, "reportType": { - "label": "Category", "choices": { - "takedownRequest": "Takedown request", - "invalidMetadata": "Invalid metadata", "illegalContent": "Illegal content", + "invalidMetadata": "Invalid metadata", "offensiveContent": "Offensive content", - "other": "Other" - } + "other": "Other", + "takedownRequest": "Takedown request" + }, + "label": "Category" }, "summary": { "label": "Bio" - }, - "contentCategory": { - "label": "Content category", - "choices": { - "podcast": "Podcast", - "music": "Music", - "other": "Other" - } } }, "filters": { - "creationDate": "Creation date", - "releaseDate": "Release date", "accessedDate": "Accessed date", + "albumTitle": "Album name", "appliedDate": "Applied date", - "handledDate": "Handled date", + "artistName": "Artist name", + "bitrate": "Bitrate", + "creationDate": "Creation date", + "dateJoined": "Sign-up date", + "domain": "Domain", + "duration": "Duration", + "expirationDate": "Expiration date", "firstSeen": "First seen date", + "followers": "Followers", + "handledDate": "Handled date", + "itemsCount": "Items", + "lastActivity": "Last activity", "lastSeen": "Last seen date", "modificationDate": "Modification date", - "expirationDate": "Expiration date", - "trackTitle": "Track name", - "albumTitle": "Album name", - "artistName": "Artist name", "name": "Name", - "itemsCount": "Items", - "size": "Size", - "bitrate": "Bitrate", - "duration": "Duration", - "dateJoined": "Sign-up date", - "lastActivity": "Last activity", - "username": "Username", - "domain": "Domaimn", - "users": "Users", "receivedMessages": "Received messages", + "releaseDate": "Release date", + "size": "Size", + "trackTitle": "Track name", "uploads": "Uploads", - "followers": "Followers" + "username": "Username", + "users": "Users" }, "scopes": { - "profile": { - "label": "Profile", - "description": "Access to e-mail, username, and profile information" - }, - "libraries": { - "label": "Libraries and uploads", - "description": "Access to audio files, libraries, artists, albums and tracks" + "edits": { + "description": "Access to edits", + "label": "Edits" }, "favorites": { - "label": "Favorites", - "description": "Access to favorites" - }, - "listenings": { - "label": "Listenings", - "description": "Access to listening history" - }, - "follows": { - "label": "Follows", - "description": "Access to follows" - }, - "playlists": { - "label": "Playlists", - "description": "Access to playlists" - }, - "radios": { - "label": "Radios", - "description": "Access to radios" + "description": "Access to favorites", + "label": "Favorites" }, "filters": { - "label": "Content filters", - "description": "Access to content filters" + "description": "Access to content filters", + "label": "Content filters" + }, + "follows": { + "description": "Access to follows", + "label": "Follows" + }, + "libraries": { + "description": "Access to audio files, libraries, artists, albums and tracks", + "label": "Libraries and uploads" + }, + "listenings": { + "description": "Access to listening history", + "label": "Listenings" }, "notifications": { - "label": "Notifications", - "description": "Access to notifications" + "description": "Access to notifications", + "label": "Notifications" }, - "edits": { - "label": "Edits", - "description": "Access to edits" + "playlists": { + "description": "Access to playlists", + "label": "Playlists" }, - "security": { - "label": "Security", - "description": "Access to security settings such as password and authorization" + "profile": { + "description": "Access to e-mail, username, and profile information", + "label": "Profile" + }, + "radios": { + "description": "Access to radios", + "label": "Radios" }, "reports": { - "label": "Reports", - "description": "Access to moderation reports" + "description": "Access to moderation reports", + "label": "Reports" + }, + "security": { + "description": "Access to security settings such as password and authorization", + "label": "Security" } } } }, "moderation": { "useEditConfigs": { - "description": { - "label": "Description" - }, - "cover": { - "label": "Cover" - }, - "tags": { - "label": "Tags" + "album": { + "releaseDate": "Release date", + "title": "Title" }, "artist": { "name": "Name" }, - "album": { - "title": "Title", - "releaseDate": "Release date" + "cover": { + "label": "Cover" + }, + "description": { + "label": "Description" + }, + "tags": { + "label": "Tags" }, "track": { - "title": "Title", - "position": "Position", "copyright": "Copyright", - "license": "Licence" + "license": "Licence", + "position": "Position", + "title": "Title" } }, "useReport": { @@ -3145,78 +3132,89 @@ "label": "Report {'@'}{username}", "typeLabel": "Account" }, - "track": { - "label": "Report this track…", - "typeLabel": "Track" - }, "album": { "label": "Report this album…", "typeLabel": "Album" }, - "channel": { - "label": "Report this channel…", - "typeLabel": "Channel" - }, "artist": { "label": "Report this artist…", "typeLabel": "Artist", "unknownLabel": "Unknown artist" }, - "playlist": { - "label": "Report this playlist…", - "typeLabel": "Playlist" + "channel": { + "label": "Report this channel…", + "typeLabel": "Channel" }, "library": { "label": "Report this library…", "typeLabel": "Library" + }, + "playlist": { + "label": "Report this playlist…", + "typeLabel": "Playlist" + }, + "track": { + "label": "Report this track…", + "typeLabel": "Track" } }, "useReportConfigs": { - "tags": { - "label": "Tags" - }, - "name": { - "label": "Name" - }, - "creationDate": { - "label": "Creation date" - }, - "musicbrainzId": { - "label": "MusicBrainz ID" - }, - "visibility": { - "label": "Visibility" - }, - "artist": { - "label": "Artist" - }, - "album": { - "label": "Album", - "title": "Title", - "releaseDate": "Release date" - }, - "track": { - "label": "Track", - "title": "Title", - "position": "Position", - "copyright": "Copyright", - "license": "Licence" - }, - "library": { - "label": "Library", - "description": "Description" - }, - "playlist": { - "label": "Playlist" - }, "account": { "label": "Account", "summary": "Bio" }, + "album": { + "label": "Album", + "releaseDate": "Release date", + "title": "Title" + }, + "artist": { + "label": "Artist" + }, "channel": { "label": "Channel" + }, + "creationDate": { + "label": "Creation date" + }, + "library": { + "description": "Description", + "label": "Library" + }, + "musicbrainzId": { + "label": "MusicBrainz ID" + }, + "name": { + "label": "Name" + }, + "playlist": { + "label": "Playlist" + }, + "tags": { + "label": "Tags" + }, + "track": { + "copyright": "Copyright", + "label": "Track", + "license": "Licence", + "position": "Position", + "title": "Title" + }, + "visibility": { + "label": "Visibility" } } + }, + "useErrorHandler": { + "errorReportMessage": "To help us understand why it happened, please attach a detailed description of what you did that has triggered the error.", + "errorReportTitle": "An unexpected error occured.", + "leaveFeedback": "Leave feedback", + "unexpectedError": "An unexpected error occurred." + }, + "useThemeList": { + "browserDefault": "Browser default", + "darkTheme": "Dark", + "lightTheme": "Light" } }, "init": { @@ -3225,33 +3223,46 @@ "rateLimitLater": "You sent too many requests and have been rate limited, please try again later" }, "sentry": { - "title": "To enhance the quality of our services, we would like to collect information about crashes during your session.", - "message": "The stack traces will be shared to { 0 } in order to help us understand how and when the errors occur.", - "funkwhaleInstance": "Funkwhale's official Glitchtip instance", "allow": "Allow", - "deny": "Deny" + "deny": "Deny", + "funkwhaleInstance": "Funkwhale's official Glitchtip instance", + "message": "The stack traces will be shared to { 0 } in order to help us understand how and when the errors occur.", + "title": "To enhance the quality of our services, we would like to collect information about crashes during your session." }, "serviceWorker": { - "newAppVersion": "A new version of the app is available.", "actions": { - "update": "Update", - "later": "Later" - } + "later": "Later", + "update": "Update" + }, + "newAppVersion": "A new version of the app is available." } }, "views": { "Notifications": { - "title": "Notifications", + "button": { + "read": "Mark all as read", + "submit": "Got it!" + }, + "empty": { + "notifications": "No notification to show" + }, "header": { - "messages": "Your messages", - "instanceSupport": "Support this Funkwhale pod", "funkwhaleSupport": "Do you like Funkwhale?", + "instanceSupport": "Support this Funkwhale pod", + "messages": "Your messages", "notifications": "Your notifications" }, "label": { "reminder": "Remind me in:", "showRead": "Show read notifications" }, + "link": { + "donate": "Donate", + "help": "Discover other ways to help" + }, + "loading": { + "notifications": "Loading notifications…" + }, "message": { "funkwhaleSupport": "We noticed you've been here for a while. If Funkwhale is useful to you, we could use your help to make it even better!" }, @@ -3263,96 +3274,83 @@ "never": "Never" } }, - "button": { - "submit": "Got it!", - "read": "Mark all as read" - }, - "link": { - "donate": "Donate", - "help": "Discover other ways to help" - }, - "loading": { - "notifications": "Loading notifications…" - }, - "empty": { - "notifications": "No notification to show" - } + "title": "Notifications" }, "Search": { - "header": { - "search": "Search", - "rss": "Subscribe to a podcast RSS feed", - "remote": "Search a remote object" - }, - "label": { - "artists": "Artists", - "albums": "Albums", - "tracks": "Tracks", - "playlists": "Playlists", - "radios": "Radios", - "tags": "Tags", - "podcasts": "Podcasts", - "series": "Series" - }, "button": { "submit": "Submit Search Query" + }, + "header": { + "remote": "Search a remote object", + "rss": "Subscribe to a podcast RSS feed", + "search": "Search" + }, + "label": { + "albums": "Albums", + "artists": "Artists", + "playlists": "Playlists", + "podcasts": "Podcasts", + "radios": "Radios", + "series": "Series", + "tags": "Tags", + "tracks": "Tracks" } }, "admin": { "ChannelDetail": { - "warning": { - "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" + "button": { + "delete": "Delete", + "openRemote": "Open remote profile", + "refresh": "Refresh from remote server" + }, + "header": { + "activity": "Activity", + "audioContent": "Audio content", + "channelData": "Channel data" }, "label": { "local": "Local" }, "link": { - "localProfile": "Open local profile", - "django": "View in Django's admin" - }, - "button": { - "refresh": "Refresh from remote server", - "openRemote": "Open remote profile", - "delete": "Delete" + "django": "View in Django's admin", + "localProfile": "Open local profile" }, "modal": { "delete": { - "header": "Delete this channel?", "content": { "warning": "The channel will be removed, as well as associated uploads, tracks, and albums. This action is irreversible." - } + }, + "header": "Delete this channel?" } }, - "header": { - "channelData": "Channel data", - "activity": "Activity", - "audioContent": "Audio content" - }, "table": { - "channelData": { - "name": "Name", - "category": "Category", - "account": "Account", - "domain": "Domain", - "description": "Description", - "url": "URL", - "rss": "RSS feed" - }, "activity": { - "firstSeen": "First seen", - "listenings": "Listenings", + "edits": "Edits", "favorited": "Favorited tracks", - "playlists": "Playlists", + "firstSeen": "First seen", "linkedReports": "Linked reports", - "edits": "Edits" + "listenings": "Listenings", + "playlists": "Playlists" }, "audioContent": { + "albums": "Albums", "cachedSize": "Cached size", "totalSize": "Total size", - "uploads": "Uploads", - "albums": "Albums", - "tracks": "Tracks" + "tracks": "Tracks", + "uploads": "Uploads" + }, + "channelData": { + "account": "Account", + "category": "Category", + "description": "Description", + "domain": "Domain", + "name": "Name", + "rss": "RSS feed", + "url": "URL" } + }, + "warning": { + "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" } }, "CommonList": { @@ -3371,189 +3369,182 @@ }, "Settings": { "header": { - "settings": "Instance Settings", - "instanceInfo": "Instance Information", - "signups": "Sign-ups", - "security": "Security", - "music": "Music", "channels": "Channels", - "playlists": "Playlists", - "moderation": "Moderation", "federation": "Federation", - "subsonic": "Subsonic", + "instanceInfo": "Instance Information", + "moderation": "Moderation", + "music": "Music", + "playlists": "Playlists", + "sections": "Sections", + "security": "Security", + "settings": "Instance Settings", + "signups": "Sign-ups", "stats": "Statistics", - "ui": "User Interface", - "sections": "Sections" + "subsonic": "Subsonic", + "ui": "User Interface" } }, "library": { "AlbumDetail": { - "warning": { - "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" + "button": { + "delete": "Delete", + "edit": "Edit", + "remoteRefresh": "Refresh from remote server" }, "header": { - "local": "Local", + "activity": "Activity", "albumData": "Album data", - "activity": "Activity", - "audioContent": "Audio content" + "audioContent": "Audio content", + "local": "Local" }, "link": { - "localProfile": "Open local profile", - "django": "View in Django's admin", - "musicbrainz": "Open on MusicBrainz", - "remoteProfile": "Open remote profile", "artist": "Artist", + "django": "View in Django's admin", "domain": "Domain", - "reports": "Linked reports", "edits": "Edits", "libraries": "Libraries", - "uploads": "Uploads", - "tracks": "Tracks" - }, - "button": { - "remoteRefresh": "Refresh from remote server", - "edit": "Edit", - "delete": "Delete" - }, - "modal": { - "delete": { - "header": "Delete this album?", - "content": { - "warning": "The album will be deleted, as well as associated uploads, tracks, favorites and listening history. This action is irreversible." - } - } - }, - "table": { - "album": { - "title": "Title", - "description": "Description" - }, - "activity": { - "firstSeen": "First seen", - "listenings": "Listenings", - "favorited": "Favorited tracks", - "playlists": "Playlists" - }, - "audioContent": { - "cachedSize": "Cached size", - "totalSize": "Total size" - } - } - }, - "ArtistDetail": { - "warning": { - "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" - }, - "header": { - "local": "Local", - "artistData": "Artist data", - "activity": "Activity", - "audioContent": "Audio content" - }, - "link": { "localProfile": "Open local profile", - "django": "View in Django's admin", "musicbrainz": "Open on MusicBrainz", "remoteProfile": "Open remote profile", - "category": "Category", - "domain": "Domain", "reports": "Linked reports", - "edits": "Edits", - "libraries": "Libraries", - "uploads": "Uploads", - "albums": "Albums", - "tracks": "Tracks" - }, - "button": { - "remoteRefresh": "Refresh from remote server", - "edit": "Edit", - "delete": "Delete" - }, - "modal": { - "delete": { - "header": "Delete this artist?", - "content": { - "warning": "The artist will be deleted, as well as associated uploads, tracks, favorites and listening history. This action is irreversible." - } - } - }, - "table": { - "artist": { - "name": "Name", - "description": "Description" - }, - "activity": { - "firstSeen": "First seen", - "listenings": "Listenings", - "favorited": "Favorited tracks", - "playlists": "Playlists" - }, - "audioContent": { - "cachedSize": "Cached size", - "totalSize": "Total size" - } - } - }, - "Base": { - "title": "Manage Library", - "menu": { - "secondary": "Secondary menu" - }, - "link": { - "edits": "Edits", - "channels": "Channels", - "artists": "Artists", - "albums": "Albums", - "tracks": "Tracks", - "libraries": "Libraries", - "uploads": "Uploads", - "tags": "Tags" - } - }, - "EditsList": { - "title": "Edits", - "header": { - "edits": "Library edits" - } - }, - "LibraryDetail": { - "warning": { - "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" - }, - "header": { - "local": "Local", - "libraryData": "Library data", - "activity": "Activity", - "audioContent": "Audio content" - }, - "link": { - "django": "View in Django's admin", - "remoteProfile": "Open remote profile", - "visibility": "Visibility", - "account": "Account", - "reports": "Linked reports", - "domain": "Domain", - "artists": "Artists", - "albums": "Albums", "tracks": "Tracks", "uploads": "Uploads" }, - "button": { - "delete": "Delete" - }, "modal": { "delete": { - "header": "Delete this library?", "content": { - "warning": "The library will be deleted, as well as associated uploads, tracks, favorites and listening history. This action is irreversible." - } + "warning": "The album will be deleted, as well as associated uploads, tracks, favorites and listening history. This action is irreversible." + }, + "header": "Delete this album?" } }, "table": { - "library": { - "name": "Name", - "description": "Description" + "activity": { + "favorited": "Favorited tracks", + "firstSeen": "First seen", + "listenings": "Listenings", + "playlists": "Playlists" }, + "album": { + "description": "Description", + "title": "Title" + }, + "audioContent": { + "cachedSize": "Cached size", + "totalSize": "Total size" + } + }, + "warning": { + "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" + } + }, + "ArtistDetail": { + "button": { + "delete": "Delete", + "edit": "Edit", + "remoteRefresh": "Refresh from remote server" + }, + "header": { + "activity": "Activity", + "artistData": "Artist data", + "audioContent": "Audio content", + "local": "Local" + }, + "link": { + "albums": "Albums", + "category": "Category", + "django": "View in Django's admin", + "domain": "Domain", + "edits": "Edits", + "libraries": "Libraries", + "localProfile": "Open local profile", + "musicbrainz": "Open on MusicBrainz", + "remoteProfile": "Open remote profile", + "reports": "Linked reports", + "tracks": "Tracks", + "uploads": "Uploads" + }, + "modal": { + "delete": { + "content": { + "warning": "The artist will be deleted, as well as associated uploads, tracks, favorites and listening history. This action is irreversible." + }, + "header": "Delete this artist?" + } + }, + "table": { + "activity": { + "favorited": "Favorited tracks", + "firstSeen": "First seen", + "listenings": "Listenings", + "playlists": "Playlists" + }, + "artist": { + "description": "Description", + "name": "Name" + }, + "audioContent": { + "cachedSize": "Cached size", + "totalSize": "Total size" + } + }, + "warning": { + "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" + } + }, + "Base": { + "link": { + "albums": "Albums", + "artists": "Artists", + "channels": "Channels", + "edits": "Edits", + "libraries": "Libraries", + "tags": "Tags", + "tracks": "Tracks", + "uploads": "Uploads" + }, + "menu": { + "secondary": "Secondary menu" + }, + "title": "Manage Library" + }, + "EditsList": { + "header": { + "edits": "Library edits" + }, + "title": "Edits" + }, + "LibraryDetail": { + "button": { + "delete": "Delete" + }, + "header": { + "activity": "Activity", + "audioContent": "Audio content", + "libraryData": "Library data", + "local": "Local" + }, + "link": { + "account": "Account", + "albums": "Albums", + "artists": "Artists", + "django": "View in Django's admin", + "domain": "Domain", + "remoteProfile": "Open remote profile", + "reports": "Linked reports", + "tracks": "Tracks", + "uploads": "Uploads", + "visibility": "Visibility" + }, + "modal": { + "delete": { + "content": { + "warning": "The library will be deleted, as well as associated uploads, tracks, favorites and listening history. This action is irreversible." + }, + "header": "Delete this library?" + } + }, + "table": { "activity": { "firstSeen": "First seen", "followers": "Followers" @@ -3561,158 +3552,188 @@ "audioContent": { "cachedSize": "Cached size", "totalSize": "Total size" + }, + "library": { + "description": "Description", + "name": "Name" } + }, + "warning": { + "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" } }, "TagDetail": { - "header": { - "tagData": "Tag data", - "activity": "Activity", - "audioContent": "Audio content" - }, - "link": { - "localProfile": "Open local profile", - "django": "View in Django's admin", - "artists": "Artists", - "albums": "Albums", - "tracks": "Tracks" - }, "button": { "delete": "Delete" }, + "header": { + "activity": "Activity", + "audioContent": "Audio content", + "tagData": "Tag data" + }, + "link": { + "albums": "Albums", + "artists": "Artists", + "django": "View in Django's admin", + "localProfile": "Open local profile", + "tracks": "Tracks" + }, "modal": { "delete": { - "header": "Delete this tag?", "content": { "warning": "The tag will be removed and unlinked from any existing entity. This action is irreversible." - } + }, + "header": "Delete this tag?" } }, "table": { - "tag": { - "name": "Name" - }, "activity": { "firstSeen": "First seen" + }, + "tag": { + "name": "Name" } } }, "TrackDetail": { - "warning": { - "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" + "button": { + "delete": "Delete", + "edit": "Edit", + "remoteRefresh": "Refresh from remote server" }, "header": { + "activity": "Activity", "local": "Local", - "trackData": "Track data", - "activity": "Activity" + "trackData": "Track data" }, "link": { - "localProfile": "Open local profile", - "django": "View in Django's admin", - "musicbrainz": "Open on MusicBrainz", - "remoteProfile": "Open remote profile", "album": "Album", + "albumArtist": "Album artist", "artist": "Artist", + "django": "View in Django's admin", "domain": "Domain", - "reports": "Linked reports", "edits": "Edits", "libraries": "Libraries", - "uploads": "Uploads", - "albumArtist": "Album artist" - }, - "button": { - "remoteRefresh": "Refresh from remote server", - "edit": "Edit", - "delete": "Delete" + "localProfile": "Open local profile", + "musicbrainz": "Open on MusicBrainz", + "remoteProfile": "Open remote profile", + "reports": "Linked reports", + "uploads": "Uploads" }, "modal": { "delete": { - "header": "Delete this track?", "content": { "warning": "The track will be deleted, as well as associated uploads, favorites and listening history. This action is irreversible." - } + }, + "header": "Delete this track?" } }, "table": { - "track": { - "title": "Title", - "position": "Position", - "discNumber": "Disc number", - "copyright": "Copyright", - "license": "License", - "description": "Description" - }, "activity": { + "favorited": "Favorited tracks", "firstSeen": "First seen", "listenings": "Listenings", - "favorited": "Favorited tracks", "playlists": "Playlists" }, + "track": { + "copyright": "Copyright", + "description": "Description", + "discNumber": "Disc number", + "license": "License", + "position": "Position", + "title": "Title" + }, "trackData": { "cachedSize": "Cached size", "totalSize": "Total size" } + }, + "warning": { + "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" } }, "UploadDetail": { - "header": { - "local": "Local", - "uploadData": "Upload data", - "activity": "Activity", - "audioContent": "Audio content" - }, "button": { - "download": "Download", - "delete": "Delete" + "delete": "Delete", + "download": "Download" + }, + "header": { + "activity": "Activity", + "audioContent": "Audio content", + "local": "Local", + "uploadData": "Upload data" }, "link": { - "django": "View in Django's admin", - "remoteProfile": "Open remote profile", - "visibility": "Visibility", "account": "Account", + "django": "View in Django's admin", "domain": "Domain", "importStatus": "Import status", "library": "Library", - "type": "Type" + "remoteProfile": "Open remote profile", + "type": "Type", + "visibility": "Visibility" }, "modal": { "delete": { - "header": "Delete this upload?", "content": { "warning": "The upload will be removed. This action is irreversible." - } + }, + "header": "Delete this upload?" } }, + "notApplicable": "N/A", "table": { - "upload": { - "name": "Name" - }, "activity": { - "firstSeen": "First seen", - "accessedDate": "Accessed date" + "accessedDate": "Accessed date", + "firstSeen": "First seen" }, "audioContent": { - "track": "Track", - "cachedSize": "Cached size", - "size": "Size", "bitrate": { "label": "Bitrate", "value": "{bitrate}/s" }, - "duration": "Duration" + "cachedSize": "Cached size", + "duration": "Duration", + "size": "Size", + "track": "Track" + }, + "upload": { + "name": "Name" } - }, - "notApplicable": "N/A" + } } }, "moderation": { "AccountsDetail": { - "warning": { - "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" + "button": { + "addPolicy": "Add a moderation policy" }, - "tooltip": { - "uploadQuota": "Determine how much content the user can upload. Leave empty to use the default value of the instance." + "description": { + "policy": "Moderation policies help you control how your instance interact with a given domain or account" }, + "header": { + "accountData": "Account data", + "activePolicy": "This domain is subject to specific moderation rules", + "activity": "Activty", + "audioContent": "Audio content", + "localAccount": "Local account", + "noPolicy": "You don't have any rule in place for this account." + }, + "link": { + "albums": "Albums", + "artists": "Artists", + "channels": "Channels", + "django": "View in Django's admin", + "domain": "Domain", + "libraries": "Libraries", + "linkedReports": "Linked reports", + "openProfile": "Open profile", + "remoteProfile": "Open remote profile", + "requests": "Requests", + "tracks": "Tracks", + "uploads": "Uploads" + }, + "notApplicable": "N/A", "option": { "permission": { "library": "Library", @@ -3720,142 +3741,121 @@ "settings": "Settings" } }, - "header": { - "localAccount": "Local account", - "noPolicy": "You don't have any rule in place for this account.", - "activePolicy": "This domain is subject to specific moderation rules", - "accountData": "Account data", - "activity": "Activty", - "audioContent": "Audio content" - }, - "link": { - "openProfile": "Open profile", - "django": "View in Django's admin", - "remoteProfile": "Open remote profile", - "domain": "Domain", - "linkedReports": "Linked reports", - "requests": "Requests", - "channels": "Channels", - "libraries": "Libraries", - "uploads": "Uploads", - "artists": "Artists", - "albums": "Albums", - "tracks": "Tracks" - }, - "description": { - "policy": "Moderation policies help you control how your instance interact with a given domain or account" - }, - "button": { - "addPolicy": "Add a moderation policy" - }, "table": { "accountData": { - "username": "Username", "displayName": "Display name", "email": "Email address", + "lastActivity": "Last activity", + "lastChecked": "Last checked", "loginStatus": { - "label": "Login status", + "disabled": "Disabled", "enabled": "Enabled", - "disabled": "Disabled" + "label": "Login status" }, "permissions": "Permissions", - "userType": "Type", - "lastChecked": "Last checked", "signupDate": "Sign-up date", - "lastActivity": "Last activity" + "userType": "Type", + "username": "Username" }, "activity": { - "firstSeen": "First seen", + "emittedFollows": "Emitted library follows", "emittedMessages": "Emitted messages", - "receivedFollows": "Received library follows", - "emittedFollows": "Emitted library follows" + "firstSeen": "First seen", + "receivedFollows": "Received library follows" }, "audioContent": { "cachedSize": "Cached size", - "uploadQuota": "Upload quota", "megabyte": "MB", - "totalSize": "Total size" + "totalSize": "Total size", + "uploadQuota": "Upload quota" } }, - "notApplicable": "N/A" + "tooltip": { + "uploadQuota": "Determine how much content the user can upload. Leave empty to use the default value of the instance." + }, + "warning": { + "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" + } }, "Base": { - "title": "Moderation", + "link": { + "accounts": "Accounts", + "domains": "Domains", + "reports": "Reports", + "userRequests": "User Requests" + }, "menu": { "secondary": "Secondary menu" }, - "link": { - "reports": "Reports", - "userRequests": "User Requests", - "domains": "Domains", - "accounts": "Accounts" - } + "title": "Moderation" }, "DomainsDetail": { - "warning": { - "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" - }, - "link": { - "website": "Open website", - "django": "View in Django's admin", - "knownAccounts": "Known accounts", - "channels": "Channels", - "libraries": "Libraries", - "uploads": "Uploads", - "artists": "Artists", - "albums": "Albums", - "tracks": "Tracks" - }, "button": { - "removeFromAllowList": "Remove from allow-list", - "addToAllowList": "Add to allow-list", "addPolicy": "Add a moderation policy", - "refreshNodeInfo": "Refresh node info" - }, - "header": { - "noPolicy": "You don't have any rule in place for this domain.", - "activePolicy": "This domain is subject to specific moderation rules", - "instanceData": "Instance data", - "activity": "Activty", - "audioContent": "Audio content" + "addToAllowList": "Add to allow-list", + "refreshNodeInfo": "Refresh node info", + "removeFromAllowList": "Remove from allow-list" }, "description": { "policy": "Moderation policies help you control how your instance interact with a given domain or account" }, + "header": { + "activePolicy": "This domain is subject to specific moderation rules", + "activity": "Activty", + "audioContent": "Audio content", + "instanceData": "Instance data", + "noPolicy": "You don't have any rule in place for this domain." + }, + "link": { + "albums": "Albums", + "artists": "Artists", + "channels": "Channels", + "django": "View in Django's admin", + "knownAccounts": "Known accounts", + "libraries": "Libraries", + "tracks": "Tracks", + "uploads": "Uploads", + "website": "Open website" + }, + "notApplicable": "N/A", "table": { + "activity": { + "emittedFollows": "Emitted library follows", + "emittedMessages": "Emitted messages", + "firstSeen": "First seen", + "receivedFollows": "Received library follows" + }, + "audioContent": { + "cachedSize": "Cached size", + "totalSize": "Total size" + }, "instanceData": { + "domainName": "Name", "inAllowList": { + "false": "No", "label": "Is present on allow-list", - "true": "Yes", - "false": "No" + "true": "Yes" }, "lastChecked": "Last checked", + "nodeInfoStatus": { + "label": "Status", + "value": "Error while fetching node info" + }, "software": { "label": "Software", "value": "{name} ({version})" }, - "domainName": "Name", - "totalUsers": "Total users", - "nodeInfoStatus": { - "label": "Status", - "value": "Error while fetching node info" - } - }, - "activity": { - "firstSeen": "First seen", - "emittedMessages": "Emitted messages", - "receivedFollows": "Received library follows", - "emittedFollows": "Emitted library follows" - }, - "audioContent": { - "cachedSize": "Cached size", - "totalSize": "Total size" + "totalUsers": "Total users" } }, - "notApplicable": "N/A" + "warning": { + "stats": "Statistics are computed from known activity and content on your instance, and do not reflect general activity for this object" + } }, "DomainsList": { - "title": "Domains", + "button": { + "add": "Add" + }, "header": { "domains": "Domains", "failure": "Error while creating domain" @@ -3864,18 +3864,12 @@ "addDomain": "Add a domain", "addToAllowList": "Add to allow-list" }, - "button": { - "add": "Add" - } + "title": "Domains" }, "ReportsList": { - "title": "Reports", "header": { "reports": "Reports" }, - "placeholder": { - "search": "Search by account, summary, domain…" - }, "label": { "search": "Search", "status": "Status" @@ -3888,19 +3882,19 @@ } }, "ordering": { - "label": "Ordering", "direction": { - "label": "Order", "ascending": "Ascending", - "descending": "Descending" - } - } + "descending": "Descending", + "label": "Order" + }, + "label": "Ordering" + }, + "placeholder": { + "search": "Search by account, summary, domain…" + }, + "title": "Reports" }, "RequestsList": { - "title": "User Requests", - "placeholder": { - "search": "Search by username" - }, "header": { "userRequests": "User Requests" }, @@ -3911,31 +3905,35 @@ "option": { "status": { "all": "All", - "pending": "Pending", "approved": "Approved", + "pending": "Pending", "refused": "Refused" } }, "ordering": { - "label": "Ordering", "direction": { - "label": "Order", "ascending": "Ascending", - "descending": "Descending" - } - } + "descending": "Descending", + "label": "Order" + }, + "label": "Ordering" + }, + "placeholder": { + "search": "Search by username" + }, + "title": "User Requests" } }, "users": { "Base": { - "title": "Manage users", + "link": { + "invitations": "Invitations", + "users": "Users" + }, "menu": { "secondary": "Secondary menu" }, - "link": { - "users": "Users", - "invitations": "Invitations" - } + "title": "Manage users" } } }, @@ -3946,7 +3944,6 @@ } }, "EmailConfirm": { - "title": "Confirm your e-mail address", "header": { "failure": "Could not confirm your e-mail address", "success": "E-mail address confirmed" @@ -3960,22 +3957,22 @@ }, "message": { "success": "You can now use the service without limitations" - } + }, + "title": "Confirm your e-mail address" }, "Login": { - "title": "Log in", "header": { "login": "Log in to your Funkwhale account" - } + }, + "title": "Log in" }, "PasswordReset": { - "title": "Reset your password", - "placeholder": { - "email": "Enter the e-mail address linked to your account" + "button": { + "requestReset": "Ask for a password reset" }, "header": { - "reset": "Reset your password", - "failure": "Error while asking for a password reset" + "failure": "Error while asking for a password reset", + "reset": "Reset your password" }, "help": { "form": "Use this form to request a password reset. We will send an e-mail to the given address with instructions to reset your password." @@ -3986,174 +3983,175 @@ "link": { "back": "Back to login" }, - "button": { - "requestReset": "Ask for a password reset" - } + "placeholder": { + "email": "Enter the e-mail address linked to your account" + }, + "title": "Reset your password" }, "PasswordResetConfirm": { - "title": "Change your password", + "button": { + "update": "Update your password" + }, "header": { "failure": "Error while changing your password", "success": "Password updated successfully" }, - "message": { - "success": "Your password has been updated successfully.", - "requestSent": "If the e-mail address provided in the previous step is valid and linked to a user account, you should receive an e-mail with reset instructions in the next couple of minutes." + "label": { + "newPassword": "New password" }, "link": { "back": "Back to login", "login": "Proceed to login" }, - "label": { - "newPassword": "New password" + "message": { + "requestSent": "If the e-mail address provided in the previous step is valid and linked to a user account, you should receive an e-mail with reset instructions in the next couple of minutes.", + "success": "Your password has been updated successfully." }, - "button": { - "update": "Update your password" - } + "title": "Change your password" }, "Plugins": { "title": "Manage plugins" }, "ProfileActivity": { "header": { - "recentlyListened": "Recently listened", + "playlists": "Playlists", "recentlyFavorited": "Recently favorited", - "playlists": "Playlists" + "recentlyListened": "Recently listened" } }, "ProfileBase": { - "title": "{username}'s profile", - "link": { - "domainView": "View on {domain}", - "moderation": "Open in moderation interface", - "overview": "Overview", - "activity": "Activity" - }, "label": { "self": "This is you!" - } + }, + "link": { + "activity": "Activity", + "domainView": "View on {domain}", + "moderation": "Open in moderation interface", + "overview": "Overview" + }, + "title": "{username}'s profile" }, "ProfileOverview": { - "header": { - "libraries": "User Libraries", - "channels": "Channels", - "sharedLibraries": "This user shared the following libraries" + "button": { + "cancel": "Cancel", + "createChannel": "Create channel", + "next": "Next step", + "previous": "Previous step" }, - "modal": { - "createChannel": { - "header": "Create channel", - "podcast": { - "header": "Podcast channel" - }, - "artist": { - "header": "Artist channel" - } - } + "header": { + "channels": "Channels", + "libraries": "User Libraries", + "sharedLibraries": "This user shared the following libraries" }, "link": { "addNew": "Add New" }, - "button": { - "cancel": "Cancel", - "previous": "Previous step", - "next": "Next step", - "createChannel": "Create channel" + "modal": { + "createChannel": { + "artist": { + "header": "Artist channel" + }, + "header": "Create channel", + "podcast": { + "header": "Podcast channel" + } + } } }, "Signup": { - "title": "Sign up", "header": { "createAccount": "Create a Funkwhale account" - } + }, + "title": "Sign up" } }, "channels": { "DetailBase": { - "title": "Channel", - "meta": { - "episodes": "No episodes | {n} episode | {n} episodes", - "tracks": "No tracks | {n} track | {n} tracks", - "subscribers": "No subscribers | {n} subscriber | {n} subscribers", - "listenings": "No listenings | {n} listening | {n} listenings" + "button": { + "cancel": "Cancel", + "confirm": "Delete", + "delete": "Delete…", + "edit": "Edit…", + "embed": "Embed", + "play": "Play", + "updateChannel": "Update channel", + "upload": "Upload" }, "header": { - "podcastChannel": "Podcast channel", - "artistChannel": "Artist channel" + "artistChannel": "Artist channel", + "podcastChannel": "Podcast channel" + }, + "link": { + "channelEpisodes": "All episodes", + "channelOverview": "Overview", + "channelTracks": "Tracks", + "domainView": "View on {domain}", + "mirrored": "Mirrored from {domain}", + "moderation": "Open in moderation interface" + }, + "meta": { + "episodes": "No episodes | {n} episode | {n} episodes", + "listenings": "No listenings | {n} listening | {n} listenings", + "subscribers": "No subscribers | {n} subscriber | {n} subscribers", + "tracks": "No tracks | {n} track | {n} tracks" }, "modal": { - "subscribe": { - "header": "Subscribe to this channel", - "funkwhale": { - "header": "Subscribe on Funkwhale" - }, - "rss": { - "header": "Subscribe via RSS", - "content": { - "help": "Copy paste the following URL in your favorite podcatcher:" - } - }, - "fediverse": { - "header": "Subscribe on the Fediverse", - "content": { - "help": "If you're using Mastodon or other fediverse applications, you can subscribe to this account:" - } - } - }, "delete": { - "header": "Delete this Channel?", "content": { "warning": "The channel will be deleted, as well as any related files and data. This action is irreversible." - } + }, + "header": "Delete this Channel?" }, "embed": { "header": "Embed this artist work on your website" + }, + "subscribe": { + "fediverse": { + "content": { + "help": "If you're using Mastodon or other fediverse applications, you can subscribe to this account:" + }, + "header": "Subscribe on the Fediverse" + }, + "funkwhale": { + "header": "Subscribe on Funkwhale" + }, + "header": "Subscribe to this channel", + "rss": { + "content": { + "help": "Copy paste the following URL in your favorite podcatcher:" + }, + "header": "Subscribe via RSS" + } } }, - "button": { - "cancel": "Cancel", - "embed": "Embed", - "edit": "Edit…", - "delete": "Delete…", - "upload": "Upload", - "play": "Play", - "updateChannel": "Update channel", - "confirm": "Delete" - }, - "link": { - "domainView": "View on {domain}", - "moderation": "Open in moderation interface", - "mirrored": "Mirrored from {domain}", - "channelOverview": "Overview", - "channelEpisodes": "All episodes", - "channelTracks": "Tracks" - } + "title": "Channel" }, "DetailOverview": { "header": { - "uploadsSuccess": "Uploads published successfully", - "uploadsFailure": "Some uploads couldn't be published", - "uploadsProcessing": "Uploads are being processed", + "albums": "Albums", "latestEpisodes": "Latest episodes", "latestTracks": "Latest tracks", "series": "Series", - "albums": "Albums" - }, - "meta": { - "progress": "Processed uploads: {finished}/{total}" + "uploadsFailure": "Some uploads couldn't be published", + "uploadsProcessing": "Uploads are being processed", + "uploadsSuccess": "Uploads published successfully" }, "link": { - "skippedUploads": "View skipped uploads", + "addAlbum": "Add new", "erroredUploads": "View errored uploads", - "addAlbum": "Add new" + "skippedUploads": "View skipped uploads" }, "message": { "processing": "Your uploads are being processed by Funkwhale and will be live very soon." + }, + "meta": { + "progress": "Processed uploads: {finished}/{total}" } }, "SubscriptionsList": { - "title": "Subscribed Channels", - "placeholder": { - "search": "Filter by name…" + "button": { + "cancel": "Cancel", + "subscribe": "Subscribe" }, "link": { "addNew": "Add new" @@ -4163,58 +4161,58 @@ "header": "Subscription" } }, - "button": { - "cancel": "Cancel", - "subscribe": "Subscribe" - } + "placeholder": { + "search": "Filter by name…" + }, + "title": "Subscribed Channels" } }, "content": { "Base": { - "title": "Add content", - "menu": { - "secondary": "Secondary menu" - }, "link": { "libraries": "Libraries", "tracks": "Tracks" - } + }, + "menu": { + "secondary": "Secondary menu" + }, + "title": "Add content" }, "Home": { - "title": "Add and manage content", - "help": { - "uploadQuota": "This instance offers up to {quota} of storage space for every user." - }, - "header": { - "channel": "Publish your work in a channel", - "upload": "Upload third-party content in a library", - "follow": "Follow remote libraries" + "button": { + "start": "Get started" }, "description": { "channel": { "1": "If you are a musician or a podcaster, channels are designed for you!", "2": "Share your work publicly and get subscribers on Funkwhale, the Fediverse or any podcasting application." }, - "upload": "Upload your personal music library to Funkwhale to enjoy it from anywhere and share it with friends and family.", - "follow": "Follow libraries from other users to get access to new music. Public libraries can be followed immediately, while following a private library requires approval from its owner." + "follow": "Follow libraries from other users to get access to new music. Public libraries can be followed immediately, while following a private library requires approval from its owner.", + "upload": "Upload your personal music library to Funkwhale to enjoy it from anywhere and share it with friends and family." }, - "button": { - "start": "Get started" - } + "header": { + "channel": "Publish your work in a channel", + "follow": "Follow remote libraries", + "upload": "Upload third-party content in a library" + }, + "help": { + "uploadQuota": "This instance offers up to {quota} of storage space for every user." + }, + "title": "Add and manage content" }, "libraries": { "Card": { - "label": { - "size": "Total size of the files in this library" - }, - "meta": { - "tracks": "No tracks | {n} track | {n} tracks" - }, "button": { "upload": "Upload" }, + "label": { + "size": "Total size of the files in this library" + }, "link": { "details": "Library Details" + }, + "meta": { + "tracks": "No tracks | {n} track | {n} tracks" } }, "FilesTable": { @@ -4222,64 +4220,61 @@ "delete": "Delete", "restartImport": "Restart import" }, - "placeholder": { - "search": "Search by domain, title, artist, album…" - }, "button": { "showStatus": "Show information about the upload status for this track" }, - "label": { - "search": "Search", - "importStatus": "Import status" - }, - "option": { - "status": { - "all": "All", - "draft": "Draft", - "pending": "Pending", - "skipped": "Skipped", - "failed": "Failed", - "finished": "Finished" - } - }, - "ordering": { - "label": "Ordering", - "direction": { - "label": "Ordering direction", - "ascending": "Ascending", - "descending": "Descending" - } - }, "empty": { "noTracks": "No tracks have been added to this libray yet" }, - "table": { - "file": { - "header": { - "title": "Title", - "artist": "Artist", - "album": "Album", - "uploadDate": "Upload date", - "importStatus": "Import status", - "duration": "Duration", - "size": "Size" - } + "label": { + "importStatus": "Import status", + "search": "Search" + }, + "notApplicable": "N/A", + "option": { + "status": { + "all": "All", + "draft": "Draft", + "failed": "Failed", + "finished": "Finished", + "pending": "Pending", + "skipped": "Skipped" } }, + "ordering": { + "direction": { + "ascending": "Ascending", + "descending": "Descending", + "label": "Ordering direction" + }, + "label": "Ordering" + }, "pagination": { "results": "Showing results {start}-{end} on {total}" }, - "notApplicable": "N/A" + "placeholder": { + "search": "Search by domain, title, artist, album…" + }, + "table": { + "file": { + "header": { + "album": "Album", + "artist": "Artist", + "duration": "Duration", + "importStatus": "Import status", + "size": "Size", + "title": "Title", + "uploadDate": "Upload date" + } + } + } }, "Form": { - "placeholder": { - "description": "This library contains my personal music, I hope you like it.", - "name": "My awesome library" - }, - "message": { - "libraryUpdated": "Library updated", - "libraryCreated": "Library created", - "libraryDeleted": "LIbrary deleted" + "button": { + "confirm": "Delete library", + "create": "Create library", + "delete": "Delete", + "update": "Update library" }, "description": { "library": "Libraries help you organize and share your music collections. You can upload your own music collection to Funkwhale and share it with your friends and family.", @@ -4289,154 +4284,157 @@ "failure": "Error" }, "label": { - "name": "Name", "description": "Description", + "name": "Name", "visibility": "Visibility" }, - "button": { - "update": "Update library", - "create": "Create library", - "delete": "Delete", - "confirm": "Delete library" + "message": { + "libraryCreated": "Library created", + "libraryDeleted": "LIbrary deleted", + "libraryUpdated": "Library updated" }, "modal": { "delete": { - "header": "Delete this library?", "content": { "warning": "The library and all its tracks will be deleted. This can not be undone." - } + }, + "header": "Delete this library?" } + }, + "placeholder": { + "description": "This library contains my personal music, I hope you like it.", + "name": "My awesome library" } }, "Home": { - "loading": { - "libraries": "Loading libraries…" + "empty": { + "noLibrary": "Looks like you don't have a library, it's time to create one." }, "header": { "libraries": "My libraries" }, - "empty": { - "noLibrary": "Looks like you don't have a library, it's time to create one." - }, "link": { "createLibrary": "Create a new library" + }, + "loading": { + "libraries": "Loading libraries…" } }, "Quota": { + "button": { + "purge": "Purge" + }, "header": { "currentUsage": "Current usage" }, - "loading": { - "currentUsage": "Loading usage data…" - }, "label": { - "percentUsed": "{progress}%", "currentUsage": "{amount} used on {max} allowed", - "skipped": "Skipped files", "errored": "Errored files", - "pending": "Pending files" + "pending": "Pending files", + "percentUsed": "{progress}%", + "skipped": "Skipped files" }, "link": { "viewFiles": "View files" }, - "button": { - "purge": "Purge" + "loading": { + "currentUsage": "Loading usage data…" }, "modal": { - "purgePending": { - "header": "Purge pending files?", - "content": { - "description": "Removes uploaded but yet to be processed tracks completely, adding the corresponding data to your quota." - } - }, - "purgeSkipped": { - "header": "Purge skipped files?", - "content": { - "description": "Removes uploaded tracks skipped during the import processes completely, adding the corresponding data to your quota." - } - }, "purgeErrored": { - "header": "Purge errored files?", "content": { "description": "Removes uploaded tracks that could not be processed by the server completely, adding the corresponding data to your quota." - } + }, + "header": "Purge errored files?" + }, + "purgePending": { + "content": { + "description": "Removes uploaded but yet to be processed tracks completely, adding the corresponding data to your quota." + }, + "header": "Purge pending files?" + }, + "purgeSkipped": { + "content": { + "description": "Removes uploaded tracks skipped during the import processes completely, adding the corresponding data to your quota." + }, + "header": "Purge skipped files?" } } } }, "remote": { "Card": { - "tooltip": { - "private": "This library is private and your approval from its owner is needed to access its content", - "public": "This library is public and you can access its content freely" - }, - "message": { - "scanSkipped": "Scan skipped (previous scan is too recent)", - "scanLaunched": "Scan launched" + "button": { + "cancel": "Cancel follow request", + "follow": "Follow", + "pending": "Follow request pending approval", + "unfollow": "Unfollow" }, "error": { "follow": "Cannot follow remote library: {error}", "unfollow": "Cannot unfollow remote library: {error}" }, - "meta": { - "tracks": "No tracks | {n} track | {n} tracks", - "lastUpdate": "Last update: ", - "failedTracks": "Failed tracks: {tracks}" - }, - "button": { - "follow": "Follow", - "pending": "Follow request pending approval", - "cancel": "Cancel follow request", - "unfollow": "Unfollow" - }, - "link": { - "scanDetails": "Details", - "scan": "Scan now " - }, "label": { - "sharingLink": "Sharing link", + "scanFailure": "Problem during scanning", + "scanPartialSuccess": "Scanned with errors", "scanPending": "Scan pending", "scanProgress": "Scanning ({progress})", - "scanFailure": "Problem during scanning", "scanSuccess": "Scanned", - "scanPartialSuccess": "Scanned with errors" + "sharingLink": "Sharing link" + }, + "link": { + "scan": "Scan now ", + "scanDetails": "Details" + }, + "message": { + "scanLaunched": "Scan launched", + "scanSkipped": "Scan skipped (previous scan is too recent)" + }, + "meta": { + "failedTracks": "Failed tracks: {tracks}", + "lastUpdate": "Last update: ", + "tracks": "No tracks | {n} track | {n} tracks" }, "modal": { "unfollow": { - "header": "Unfollow this libary?", "content": { "warning": "By unfollowing this library, you loose access to its content." - } + }, + "header": "Unfollow this libary?" } + }, + "tooltip": { + "private": "This library is private and your approval from its owner is needed to access its content", + "public": "This library is public and you can access its content freely" } }, "Home": { - "loading": { - "remoteLibraries": "Loading remote libraries…" - }, - "header": { - "remoteLibraries": "Remote libraries", - "knownLibraries": "Known libraries" + "button": { + "refresh": "Refresh" }, "description": { "remoteLibraries": "Remote libraries are owned by other users on the network. You can access them as long as they are public or you are granted access." }, - "button": { - "refresh": "Refresh" + "header": { + "knownLibraries": "Known libraries", + "remoteLibraries": "Remote libraries" + }, + "loading": { + "remoteLibraries": "Loading remote libraries…" } }, "ScanForm": { - "placeholder": { - "url": "Enter a library URL" - }, "button": { "submit": "Submit search" }, + "header": { + "failure": "Could not fetch remote library" + }, "label": { "search": "Search a remote library" }, - "header": { - "failure": "Could not fetch remote library" + "placeholder": { + "url": "Enter a library URL" } } } @@ -4444,174 +4442,174 @@ "library": { "DetailAlbums": { "empty": { - "upload": "This library is empty, you should upload something in it!", - "follow": "You may need to follow this library to see its content." + "follow": "You may need to follow this library to see its content.", + "upload": "This library is empty, you should upload something in it!" } }, "DetailOverview": { "empty": { - "upload": "This library is empty, you should upload something in it!", - "follow": "You may need to follow this library to see its content." + "follow": "You may need to follow this library to see its content.", + "upload": "This library is empty, you should upload something in it!" } }, "DetailTracks": { "empty": { - "upload": "This library is empty, you should upload something in it!", - "follow": "You may need to follow this library to see its content." + "follow": "You may need to follow this library to see its content.", + "upload": "This library is empty, you should upload something in it!" } }, "Edit": { - "header": { - "libraryContents": "Library contents", - "followers": "Followers" - }, "button": { "accept": "Accept", "reject": "Reject" }, + "empty": { + "noFollowers": "Nobody is following this library" + }, + "header": { + "followers": "Followers", + "libraryContents": "Library contents" + }, "loading": { "followers": "Loading followers…" }, "table": { "action": { "header": { - "user": "User", + "action": "Action", "date": "Date", "status": "Status", - "action": "Action" + "user": "User" }, "status": { - "pending": "Pending approval", "accepted": "Accepted", + "pending": "Pending approval", "rejected": "Rejected" } } - }, - "empty": { - "noFollowers": "Nobody is following this library" } }, "LibraryBase": { - "title": "Library", - "label": { - "private": "Private", - "instance": "Restricted", - "public": "Public", - "sharingLink": "Sharing link" - }, - "tooltip": { - "private": "This library is private and your approval from its owner is needed to access its content", - "instance": "This library is restricted to users on this pod only", - "public": "This library is public and you can access its content freely" + "button": { + "edit": "Edit", + "upload": "Upload" }, "description": { "sharingLink": "Share this link with other users so they can request access to this library by copy-pasting it in their pod search bar." }, + "label": { + "instance": "Restricted", + "private": "Private", + "public": "Public", + "sharingLink": "Sharing link" + }, "link": { + "albums": "Albums", + "artists": "Artists", "domain": "View on {domain}", "moderation": "Open in moderation interface", "owner": "Owned by {username}", - "artists": "Artists", - "albums": "Albums", "tracks": "Tracks" }, "meta": { "tracks": "No tracks | {n} track | {n} tracks" }, - "button": { - "upload": "Upload", - "edit": "Edit" + "title": "Library", + "tooltip": { + "instance": "This library is restricted to users on this pod only", + "private": "This library is private and your approval from its owner is needed to access its content", + "public": "This library is public and you can access its content freely" } } }, "playlists": { "Detail": { - "title": "Playlist", - "meta": { - "tracks": "Playlist containing {n} track, by {username} | Playlist containing {n} tracks, by {username}" + "button": { + "cancel": "Cancel", + "confirm": "Delete playlist", + "delete": "Delete", + "edit": "Edit", + "embed": "Embed", + "playAll": "Play all", + "stopEdit": "Stop Editing" + }, + "empty": { + "noTracks": "There are no tracks in this playlist yet" }, "header": { "tracks": "Tracks" }, - "button": { - "playAll": "Play all", - "stopEdit": "Stop Editing", - "edit": "Edit", - "embed": "Embed", - "delete": "Delete", - "cancel": "Cancel", - "confirm": "Delete playlist" + "meta": { + "tracks": "Playlist containing {n} track, by {username} | Playlist containing {n} tracks, by {username}" }, "modal": { "delete": { - "header": "Do you want to delete the playlist {playlist}?", "content": { "warning": "This will completely delete this playlist and cannot be undone." - } + }, + "header": "Do you want to delete the playlist {playlist}?" }, "embed": { "header": "Embed this playlist on your website" } }, - "empty": { - "noTracks": "There are no tracks in this playlist yet" - } + "title": "Playlist" }, "List": { - "header": { - "playlists": "Playlists", - "browse": "Browsing playlists" - }, - "placeholder": { - "search": "Enter playlist name…" - }, "button": { - "manage": "Manage your playlists", "create": "Create a playlist", + "manage": "Manage your playlists", "search": "Search" }, + "empty": { + "noResults": "No results matching your query" + }, + "header": { + "browse": "Browsing playlists", + "playlists": "Playlists" + }, "label": { "search": "Search" }, "ordering": { - "label": "Ordering", "direction": { - "label": "Order", "ascending": "Ascending", - "descending": "Descending" - } + "descending": "Descending", + "label": "Order" + }, + "label": "Ordering" }, "pagination": { "results": "Results per page" }, - "empty": { - "noResults": "No results matching your query" + "placeholder": { + "search": "Enter playlist name…" } } }, "radios": { "Detail": { - "title": "Radio", + "button": { + "confirm": "Delete radio", + "delete": "Delete", + "edit": "Edit…" + }, + "empty": { + "noTracks": "No tracks have been hadded to this radio yet" + }, "header": { "radio": "Radio containing {tracks} tracks, by ", "tracks": "Tracks" }, - "button": { - "edit": "Edit…", - "delete": "Delete", - "confirm": "Delete radio" - }, "modal": { "delete": { - "header": "Do you want to delete the radio {radio}?", "content": { "warning": "This will completely delete this radio and cannot be undone." - } + }, + "header": "Do you want to delete the radio {radio}?" } }, - "empty": { - "noTracks": "No tracks have been hadded to this radio yet" - } + "title": "Radio" } } }