diff --git a/src/assets/locales/de.json b/src/assets/locales/de.json
index 2b241936..c8c378a7 100644
--- a/src/assets/locales/de.json
+++ b/src/assets/locales/de.json
@@ -821,5 +821,50 @@
"episodes": "Folgen",
"season": "Staffel",
"runtime": "Laufzeit:"
+ },
+ "discover": {
+ "tabs": {
+ "movies": "Filme",
+ "tvshows": "Serien",
+ "editorpicks": "Empfehlungen der Redaktion"
+ },
+ "carousel": {
+ "title": {
+ "movies": "{{category}} Filme",
+ "tvshows": "{{category}} Serien",
+ "inCinemas": "Jetzt im Kino",
+ "popularOn": "Beliebte {{type}} auf {{provider}}",
+ "editorPicksMovies": "Redaktionsempfehlungen Filme",
+ "editorPicksShows": "Redaktionsempfehlungen Serien",
+ "moviesOn": "Filme auf {{provider}}",
+ "tvshowsOn": "Serien auf {{provider}}",
+ "recommended": "Weil du geschaut hast: {{title}}",
+ "genreMovies": "{{genre}} Filme",
+ "genreShows": "{{genre}} Serien",
+ "categoryMovies": "{{category}} Filme",
+ "categoryShows": "{{category}} Serien"
+ },
+ "change": "Ändern",
+ "more": "Mehr anzeigen"
+ },
+ "featured": {
+ "playNow": "Jetzt abspielen",
+ "moreInfo": "Mehr Infos"
+ },
+ "randomMovie": {
+ "button": "Zufälligen Titel abspielen",
+ "cancel": "Countdown abbrechen",
+ "countdown": "{{countdown}}s",
+ "nowPlaying": "Jetzt läuft",
+ "in": "in"
+ },
+ "page": {
+ "title": "Filme & Serien entdecken",
+ "subtitle": "Entdecke aktuelle Highlights und zeitlose Klassiker.",
+ "loadMore": "Mehr laden",
+ "loading": "Lade...",
+ "back": "Zurück"
+ },
+ "scrollToTop": "Nach oben"
}
}
diff --git a/src/assets/locales/en.json b/src/assets/locales/en.json
index 64ed0911..03e9731a 100644
--- a/src/assets/locales/en.json
+++ b/src/assets/locales/en.json
@@ -1,988 +1,991 @@
{
- "about": {
- "description": "P-Stream is a fork of movie-web that is ensured to stay up even after the shutdown of movie-web.app. P-Stream runs on a private, self-hosted VPS. I run this site at a loss; there are no ads due to my beliefs in free media.",
- "faqTitle": "Common questions",
- "q1": {
- "body": "P-Stream does not host any content. When you click on something to watch, the internet is searched for the selected media (On the loading screen and in the 'video sources' tab you can see which source you're using). Media never gets uploaded by P-Stream, everything is through this searching mechanism.",
- "title": "Where does the content come from?"
- },
- "q2": {
- "body": "It's not possible to request a show or movie, P-Stream does not manage any content. All content is viewed through sources on the internet.",
- "title": "Where can I request a show or movie?"
- },
- "q3": {
- "body": "Our search results are powered by The Movie Database (TMDB) and display regardless of whether our sources actually have the content.",
- "title": "The search results display the show or movie, why can't I play it?"
- },
- "q4": {
- "body": "All data is synced to the community backend, anyone is free to use this as well.",
- "title": "What about my data and stuff?"
- },
- "q5": {
- "body": "P-Stream has a Discord server that can be found at the header of this page!",
- "title": "How can I find out more?"
- },
- "title": "About P-Stream (^▽^)"
+ "about": {
+ "description": "P-Stream is a fork of movie-web that is ensured to stay up even after the shutdown of movie-web.app. P-Stream runs on a private, self-hosted VPS. I run this site at a loss; there are no ads due to my beliefs in free media.",
+ "faqTitle": "Common questions",
+ "q1": {
+ "body": "P-Stream does not host any content. When you click on something to watch, the internet is searched for the selected media (On the loading screen and in the 'video sources' tab you can see which source you're using). Media never gets uploaded by P-Stream, everything is through this searching mechanism.",
+ "title": "Where does the content come from?"
},
- "actions": {
- "copied": "Copied",
- "copy": "Copy"
+ "q2": {
+ "body": "It's not possible to request a show or movie, P-Stream does not manage any content. All content is viewed through sources on the internet.",
+ "title": "Where can I request a show or movie?"
},
- "auth": {
- "createAccount": "Don't have an account yet 😬 <0>Create an account.0>",
- "deviceNameLabel": "Device name",
- "deviceNamePlaceholder": "Personal phone",
- "generate": {
- "description": "Your passphrase acts as your username and password. Make sure to keep it safe as you will need to enter it to login to your account. Do NOT lose your passphrase!",
- "next": "I have saved my passphrase",
- "passphraseFrameLabel": "Passphrase",
- "title": "Your passphrase"
- },
- "hasAccount": "Already have an account? <0>Login here.0>",
- "login": {
- "description": "Please enter your passphrase to login to your account",
- "deviceLengthError": "Please enter a device name",
- "passphraseLabel": "12-Word passphrase",
- "passphrasePlaceholder": "Passphrase",
- "submit": "Login",
- "title": "Login to your account",
- "validationError": "Incorrect or incomplete passphrase /ᐠ. .ᐟ\\"
- },
- "register": {
- "information": {
- "color1": "Profile color one",
- "color2": "Profile color two",
- "header": "Enter a name for your device then pick colors and a user icon of your choosing!",
- "icon": "User icon",
- "next": "Next",
- "title": "Account information"
- }
- },
- "trust": {
- "failed": {
- "text": "Did you configure it correctly?",
- "title": "Failed to reach server"
- },
- "noHostTitle": "Server not configured!",
- "noHost": "The server has not been configured, therefore you cannot create an account",
- "host": "You are connecting to <0>{{hostname}}0> - please confirm you trust it before making an account...",
- "no": "Go back",
- "title": "Do you trust this server?",
- "yes": "I trust this server 🤞"
- },
- "verify": {
- "description": "Please enter your passphrase from earlier to confirm you have saved it and to create your account",
- "invalidData": "Data is not valid",
- "noMatch": "Passphrase doesn't match 😭",
- "passphraseLabel": "Your 12-word passphrase",
- "recaptchaFailed": "ReCaptcha validation failed",
- "register": "Create account",
- "title": "Confirm your passphrase"
- }
+ "q3": {
+ "body": "Our search results are powered by The Movie Database (TMDB) and display regardless of whether our sources actually have the content.",
+ "title": "The search results display the show or movie, why can't I play it?"
},
- "errors": {
- "badge": "It broke 💀",
- "details": "Error details",
- "reloadPage": "Reload the page",
- "showError": "Show error details",
- "title": "We encountered an error!"
+ "q4": {
+ "body": "All data is synced to the community backend, anyone is free to use this as well.",
+ "title": "What about my data and stuff?"
},
- "footer": {
- "legal": {
- "disclaimer": "Disclaimer ◝(ᵔᵕᵔ)◜",
- "disclaimerText": "Please note: P-Stream does not host any files itself but instead only display's content from 3rd party providers. Legal issues should be taken up with them."
- },
- "links": {
- "discord": "Discord",
- "dmca": "DMCA",
- "github": "GitHub",
- "twitter": "Twitter",
- "funding": "Support us"
- },
- "tagline": "Watch your favorite shows and movies for free with no ads ever! (っ'ヮ'c)"
+ "q5": {
+ "body": "P-Stream has a Discord server that can be found at the header of this page!",
+ "title": "How can I find out more?"
},
- "global": {
- "name": "P-Stream",
- "pages": {
- "about": "About",
- "dmca": "DMCA",
- "discover": "Discover",
- "support": "Support",
- "login": "Login",
- "onboarding": "Setup",
- "pagetitle": "{{title}} - P-Stream",
- "register": "Register",
- "settings": "Settings",
- "migration": "Migrate Account",
- "jip": "Jip"
- }
+ "title": "About P-Stream (^▽^)"
+ },
+ "actions": {
+ "copied": "Copied",
+ "copy": "Copy"
+ },
+ "auth": {
+ "createAccount": "Don't have an account yet 😬 <0>Create an account.0>",
+ "deviceNameLabel": "Device name",
+ "deviceNamePlaceholder": "Personal phone",
+ "generate": {
+ "description": "Your passphrase acts as your username and password. Make sure to keep it safe as you will need to enter it to login to your account. Do NOT lose your passphrase!",
+ "next": "I have saved my passphrase",
+ "passphraseFrameLabel": "Passphrase",
+ "title": "Your passphrase"
},
- "home": {
- "bookmarks": {
- "sectionTitle": "Bookmarks"
- },
- "continueWatching": {
- "sectionTitle": "Continue Watching..."
- },
- "mediaList": {
- "stopEditing": "Stop editing"
- },
- "search": {
- "allResults": "That's all we have...",
- "failed": "Failed to find media, try again!",
- "loading": "Loading...",
- "noResults": "We couldn't find anything :(",
- "placeholder": {
- "default": "What do you want to watch?",
- "extra": [
- "What are you in the mood for?",
- "Should we delete your browser history?",
- "What do you want to stream?",
- "P-Stream is the best site ever!",
- "What's on your watchlist today?",
- "How was your day?",
- "My bad the site never works...",
- "Isn't P-Stream just the best?",
- ">ᴗ<"
- ]
- },
- "empty": {
- "default": "Welcome, find media to watch here!",
- "extra": [
- "There's nothing here :(",
- "So empty...",
- "Such emptiness.",
- "Hi new user :3"
- ]
- },
- "sectionTitle": "Search results",
- "discoverMore": "Discover more",
- "discover": "Discover"
- },
- "mediaCard": {
- "moreInfo": "More Info",
- "copyLink": "Copy Link",
- "close": "Close"
- },
- "titles": {
- "day": {
- "default": "What would you like to watch this afternoon?",
- "extra": [
- "Viva la P-Stream!"
- ]
- },
- "morning": {
- "default": "What would you like to watch this morning?",
- "extra": [
- "Viva la P-Stream!"
- ]
- },
- "night": {
- "default": "What would you like to watch tonight?",
- "extra": [
- "Viva la P-Stream!"
- ]
- },
- "420": {
- "default": "What would you like to watch this 4/20?",
- "extra": [
- "Happy 4/20 🥳!"
- ]
- },
- "69": {
- "default": "Up for something spicy?",
- "extra": [
- "Happy 69 day 😘!"
- ]
- }
- }
+ "hasAccount": "Already have an account? <0>Login here.0>",
+ "login": {
+ "description": "Please enter your passphrase to login to your account",
+ "deviceLengthError": "Please enter a device name",
+ "passphraseLabel": "12-Word passphrase",
+ "passphrasePlaceholder": "Passphrase",
+ "submit": "Login",
+ "title": "Login to your account",
+ "validationError": "Incorrect or incomplete passphrase /ᐠ. .ᐟ\\"
},
- "media": {
- "episodeDisplay": "S{{season}} - E{{episode}}",
- "unreleased": "Unreleased",
- "types": {
- "movie": "Movie",
- "show": "Show"
- },
- "episodeShort": "E",
- "seasonShort": "S"
+ "register": {
+ "information": {
+ "color1": "Profile color one",
+ "color2": "Profile color two",
+ "header": "Enter a name for your device then pick colors and a user icon of your choosing!",
+ "icon": "User icon",
+ "next": "Next",
+ "title": "Account information"
+ }
},
- "details": {
- "resume": "Resume",
- "play": "Play",
- "director": "Director:",
- "cast": "Cast:",
- "runtime": "Runtime:",
- "language": "Language:",
- "releaseDate": "Release Date:",
- "rating": "Rating:",
- "votes": "votes",
- "tmdb": "View on TMDB",
- "imdb": "View on IMDb",
- "episodes": "Episodes",
- "season": "Season",
- "episode": "Episode",
- "airs": "Airs",
- "endsAt": "Ends at {{time}}"
+ "trust": {
+ "failed": {
+ "text": "Did you configure it correctly?",
+ "title": "Failed to reach server"
+ },
+ "noHostTitle": "Server not configured!",
+ "noHost": "The server has not been configured, therefore you cannot create an account",
+ "host": "You are connecting to <0>{{hostname}}0> - please confirm you trust it before making an account...",
+ "no": "Go back",
+ "title": "Do you trust this server?",
+ "yes": "I trust this server 🤞"
},
- "migration": {
- "loginRequired": "You must be logged in to migrate your data! Please go back and login to continue.",
- "start": {
- "title": "Migrate your data",
- "explainer": "If you wish to migrate or backup your data, you can do so using the options below. This will allow you to keep your data when you switch backend servers.",
- "options": {
- "or": "or",
- "direct": {
- "description": "This will directly migrate your data to the new server. This is the fastest option.
This option allows you to keep your passphrase the same!",
- "title": "Direct migration",
- "quality": "Easiest and fastest",
- "action": "Transfer data"
- },
- "download": {
- "description": "This will download your data to your device. You can then upload it to the new server or just keep it for safekeeping.",
- "title": "Download data",
- "quality": "More technical",
- "action": "Download data"
- },
- "upload": {
- "title": "Upload Data",
- "description": "Upload your previously exported data file to restore your bookmarks and progress on this account.",
- "quality": "Restore from backup",
- "action": "Upload Data"
- }
- }
- },
+ "verify": {
+ "description": "Please enter your passphrase from earlier to confirm you have saved it and to create your account",
+ "invalidData": "Data is not valid",
+ "noMatch": "Passphrase doesn't match 😭",
+ "passphraseLabel": "Your 12-word passphrase",
+ "recaptchaFailed": "ReCaptcha validation failed",
+ "register": "Create account",
+ "title": "Confirm your passphrase"
+ }
+ },
+ "errors": {
+ "badge": "It broke 💀",
+ "details": "Error details",
+ "reloadPage": "Reload the page",
+ "showError": "Show error details",
+ "title": "We encountered an error!"
+ },
+ "footer": {
+ "legal": {
+ "disclaimer": "Disclaimer ◝(ᵔᵕᵔ)◜",
+ "disclaimerText": "Please note: P-Stream does not host any files itself but instead only display's content from 3rd party providers. Legal issues should be taken up with them."
+ },
+ "links": {
+ "discord": "Discord",
+ "dmca": "DMCA",
+ "github": "GitHub",
+ "twitter": "Twitter",
+ "funding": "Support us"
+ },
+ "tagline": "Watch your favorite shows and movies for free with no ads ever! (っ'ヮ'c)"
+ },
+ "global": {
+ "name": "P-Stream",
+ "pages": {
+ "about": "About",
+ "dmca": "DMCA",
+ "discover": "Discover",
+ "support": "Support",
+ "login": "Login",
+ "onboarding": "Setup",
+ "pagetitle": "{{title}} - P-Stream",
+ "register": "Register",
+ "settings": "Settings",
+ "migration": "Migrate Account",
+ "jip": "Jip"
+ }
+ },
+ "home": {
+ "bookmarks": {
+ "sectionTitle": "Bookmarks"
+ },
+ "continueWatching": {
+ "sectionTitle": "Continue Watching..."
+ },
+ "mediaList": {
+ "stopEditing": "Stop editing"
+ },
+ "search": {
+ "allResults": "That's all we have...",
+ "failed": "Failed to find media, try again!",
+ "loading": "Loading...",
+ "noResults": "We couldn't find anything :(",
+ "placeholder": {
+ "default": "What do you want to watch?",
+ "extra": [
+ "What are you in the mood for?",
+ "Should we delete your browser history?",
+ "What do you want to stream?",
+ "P-Stream is the best site ever!",
+ "What's on your watchlist today?",
+ "How was your day?",
+ "My bad the site never works...",
+ "Isn't P-Stream just the best?",
+ ">ᴗ<"
+ ]
+ },
+ "empty": {
+ "default": "Welcome, find media to watch here!",
+ "extra": [
+ "There's nothing here :(",
+ "So empty...",
+ "Such emptiness.",
+ "Hi new user :3"
+ ]
+ },
+ "sectionTitle": "Search results",
+ "discoverMore": "Discover more",
+ "discover": "Discover"
+ },
+ "mediaCard": {
+ "moreInfo": "More Info",
+ "copyLink": "Copy Link",
+ "close": "Close"
+ },
+ "titles": {
+ "day": {
+ "default": "What would you like to watch this afternoon?",
+ "extra": ["Viva la P-Stream!"]
+ },
+ "morning": {
+ "default": "What would you like to watch this morning?",
+ "extra": ["Viva la P-Stream!"]
+ },
+ "night": {
+ "default": "What would you like to watch tonight?",
+ "extra": ["Viva la P-Stream!"]
+ },
+ "420": {
+ "default": "What would you like to watch this 4/20?",
+ "extra": ["Happy 4/20 🥳!"]
+ },
+ "69": {
+ "default": "Up for something spicy?",
+ "extra": ["Happy 69 day 😘!"]
+ }
+ }
+ },
+ "media": {
+ "episodeDisplay": "S{{season}} - E{{episode}}",
+ "unreleased": "Unreleased",
+ "types": {
+ "movie": "Movie",
+ "show": "Show"
+ },
+ "episodeShort": "E",
+ "seasonShort": "S"
+ },
+ "details": {
+ "resume": "Resume",
+ "play": "Play",
+ "director": "Director:",
+ "cast": "Cast:",
+ "runtime": "Runtime:",
+ "language": "Language:",
+ "releaseDate": "Release Date:",
+ "rating": "Rating:",
+ "votes": "votes",
+ "tmdb": "View on TMDB",
+ "imdb": "View on IMDb",
+ "episodes": "Episodes",
+ "season": "Season",
+ "episode": "Episode",
+ "airs": "Airs",
+ "endsAt": "Ends at {{time}}"
+ },
+ "migration": {
+ "loginRequired": "You must be logged in to migrate your data! Please go back and login to continue.",
+ "start": {
+ "title": "Migrate your data",
+ "explainer": "If you wish to migrate or backup your data, you can do so using the options below. This will allow you to keep your data when you switch backend servers.",
+ "options": {
+ "or": "or",
"direct": {
- "title": "Direct migration",
- "description": "Enter the destination backend URL to migrate your current account data to a new backend. This keeps your passphrase the same!",
- "backendLabel": "Destination Backend URL",
- "recaptchaLabel": "ReCaptcha Key (Optional)",
- "toggleLable": "Needs ReCaptcha?",
- "status": {
- "error": "Failed to migrate your data. 😿",
- "success": "Your data has been migrated successfully! 🎉"
- },
- "button": {
- "migrate": "Migrate",
- "processing": "Processing...",
- "home": "Go home",
- "login": "Continue to login"
- }
+ "description": "This will directly migrate your data to the new server. This is the fastest option.
This option allows you to keep your passphrase the same!",
+ "title": "Direct migration",
+ "quality": "Easiest and fastest",
+ "action": "Transfer data"
},
"download": {
- "title": "Download data",
- "description": "This will download your data to your device. You can then upload it to the new server or just keep it for safekeeping.",
- "items": {
- "description": "Download includes:",
- "bookmarks": "Bookmarked media",
- "progress": "Watch progress"
- },
- "status": {
- "error": "Failed to download your data. 😿",
- "success": "Your data has been downloaded successfully! 🎉"
- },
- "button": {
- "download": "Download data",
- "home": "Go home",
- "login": "Continue to login"
- }
+ "description": "This will download your data to your device. You can then upload it to the new server or just keep it for safekeeping.",
+ "title": "Download data",
+ "quality": "More technical",
+ "action": "Download data"
},
"upload": {
- "title": "Upload data",
- "description": "Upload your previously exported data file to restore your bookmarks and progress on this account.",
- "status": {
- "processing": "Processing data...",
- "error": "Failed to upload your data. 😿",
- "success": "Your data has been uploaded successfully! 🎉"
- },
- "file": {
- "description": "Select the file you want to upload",
- "select": "Select file",
- "change": "Change file",
- "name": "File name"
- },
- "dataPreview": "Preview:",
- "items": {
- "bookmarks": "Bookmarked media",
- "progress": "Watch progress"
- },
- "exportedOn": "Exported on",
- "button": {
- "import": "Import data",
- "processing": "Processing...",
- "success": "Import complete",
- "home": "Continue to home"
- }
- },
- "back": "Go back"
- },
- "navigation": {
- "banner": {
- "offline": "Check your internet connection, silly goose! 🦢"
- },
- "menu": {
- "about": "About us",
- "logout": "Log out",
- "register": "Sync to Cloud",
- "settings": "Settings",
- "support": "Support",
- "discover": "Discover",
- "development": "Development"
+ "title": "Upload Data",
+ "description": "Upload your previously exported data file to restore your bookmarks and progress on this account.",
+ "quality": "Restore from backup",
+ "action": "Upload Data"
}
+ }
},
- "notFound": {
- "badge": "Not found",
- "goHome": "Back to home",
- "reloadButton": "Try again",
- "message": "We looked everywhere: under the bins, in the closet, behind the proxy, but ultimately couldn't find the page you are looking for. (ಥ﹏ಥ)",
- "title": "Couldn't find that page"
+ "direct": {
+ "title": "Direct migration",
+ "description": "Enter the destination backend URL to migrate your current account data to a new backend. This keeps your passphrase the same!",
+ "backendLabel": "Destination Backend URL",
+ "recaptchaLabel": "ReCaptcha Key (Optional)",
+ "toggleLable": "Needs ReCaptcha?",
+ "status": {
+ "error": "Failed to migrate your data. 😿",
+ "success": "Your data has been migrated successfully! 🎉"
+ },
+ "button": {
+ "migrate": "Migrate",
+ "processing": "Processing...",
+ "home": "Go home",
+ "login": "Continue to login"
+ }
},
- "downtimeNotice": {
- "badge": "Issues",
- "goHome": "Go home",
- "message": "P-Stream is experiencing issues with some providers again, if you cant find or play a show please change the source. Expect this error to persist throughout the below times.",
- "title": "Provider issues"
+ "download": {
+ "title": "Download data",
+ "description": "This will download your data to your device. You can then upload it to the new server or just keep it for safekeeping.",
+ "items": {
+ "description": "Download includes:",
+ "bookmarks": "Bookmarked media",
+ "progress": "Watch progress"
+ },
+ "status": {
+ "error": "Failed to download your data. 😿",
+ "success": "Your data has been downloaded successfully! 🎉"
+ },
+ "button": {
+ "download": "Download data",
+ "home": "Go home",
+ "login": "Continue to login"
+ }
},
- "onboarding": {
- "defaultConfirm": {
- "cancel": "Cancel",
- "confirm": "Use default setup",
- "description": "The default setup does not have the best streams. You'll be missing out on the best sources!",
- "title": "Are you sure?"
+ "upload": {
+ "title": "Upload data",
+ "description": "Upload your previously exported data file to restore your bookmarks and progress on this account.",
+ "status": {
+ "processing": "Processing data...",
+ "error": "Failed to upload your data. 😿",
+ "success": "Your data has been uploaded successfully! 🎉"
+ },
+ "file": {
+ "description": "Select the file you want to upload",
+ "select": "Select file",
+ "change": "Change file",
+ "name": "File name"
+ },
+ "dataPreview": "Preview:",
+ "items": {
+ "bookmarks": "Bookmarked media",
+ "progress": "Watch progress"
+ },
+ "exportedOn": "Exported on",
+ "button": {
+ "import": "Import data",
+ "processing": "Processing...",
+ "success": "Import complete",
+ "home": "Continue to home"
+ }
+ },
+ "back": "Go back"
+ },
+ "navigation": {
+ "banner": {
+ "offline": "Check your internet connection, silly goose! 🦢"
+ },
+ "menu": {
+ "about": "About us",
+ "logout": "Log out",
+ "register": "Sync to Cloud",
+ "settings": "Settings",
+ "support": "Support",
+ "discover": "Discover",
+ "development": "Development"
+ }
+ },
+ "notFound": {
+ "badge": "Not found",
+ "goHome": "Back to home",
+ "reloadButton": "Try again",
+ "message": "We looked everywhere: under the bins, in the closet, behind the proxy, but ultimately couldn't find the page you are looking for. (ಥ﹏ಥ)",
+ "title": "Couldn't find that page"
+ },
+ "downtimeNotice": {
+ "badge": "Issues",
+ "goHome": "Go home",
+ "message": "P-Stream is experiencing issues with some providers again, if you cant find or play a show please change the source. Expect this error to persist throughout the below times.",
+ "title": "Provider issues"
+ },
+ "onboarding": {
+ "defaultConfirm": {
+ "cancel": "Cancel",
+ "confirm": "Use default setup",
+ "description": "The default setup does not have the best streams. You'll be missing out on the best sources!",
+ "title": "Are you sure?"
+ },
+ "extension": {
+ "back": "Go back",
+ "explainer": "Using the browser extension, you can get the best streams we have to offer. With just a simple install. 👌",
+ "explainerIos": "Unfortunately, the browser extension is not supported on iOS, Press Go back to choose another option.",
+ "extensionHelp": "If you've installed the extension but it's not detected, open the extension through your browsers extension menu and follow the steps on screen.",
+ "linkChrome": "Install Chrome extension",
+ "linkFirefox": "Install Firefox extension",
+ "notDetecting": "Installed on Chrome, but the site isn't detecting it? Try reloading the page!",
+ "notDetectingAction": "Reload page",
+ "status": {
+ "disallowed": "Extension is not enabled for this page (,,>﹏<,,)",
+ "disallowedAction": "Enable extension",
+ "failed": "Failed to request status",
+ "loading": "Waiting for you to install the extension",
+ "outdated": "Extension version too old",
+ "success": "Extension is working as expected!"
+ },
+ "submit": "Continue",
+ "title": "Let's start with an extension"
+ },
+ "proxy": {
+ "back": "Go back",
+ "explainer": "With the proxy method, you can get great quality streams by making a self-service proxy.",
+ "input": {
+ "errorConnection": "Could not connect to proxy",
+ "errorInvalidUrl": "Not a valid URL",
+ "errorNotProxy": "Expected a proxy but got a website",
+ "label": "Proxy URL",
+ "placeholder": "https://"
+ },
+ "link": "Learn how to make a proxy",
+ "submit": "Submit proxy",
+ "title": "Let's make a new proxy"
+ },
+ "start": {
+ "explainer": "To get the best streams possible, you will need to choose which streaming method you want to use.",
+ "moreInfo": {
+ "button": "More info",
+ "title": "Understanding a setup",
+ "explainer": {
+ "intro": "P-Stream doesn't host videos. It relies on third-party websites for content, so you need to choose how it connects to those sites.",
+ "options": "Your Options:",
+ "extension": "1. Extension",
+ "extensionDescription": "The extension gives you access to the most sources. It acts as a local proxy and can handle sites that need special cookies or headers to load.",
+ "proxy": "2. Proxy",
+ "proxyDescription": "The proxy scrapes media from other websites. It bypasses browser restrictions (like CORS) to allow scraping.",
+ "default": "3. Default Setup",
+ "defaultDescription": "Uses P-Stream's built-in proxy. It's the easiest option but might be slower due to shared bandwidth.",
+ "fedapi": {
+ "fedapi": "Additional: FED API (Private) token",
+ "fedapiDescription": "Bring your own FREE Febbox account to gain access to FED API (Private), the best source with 4K quality, Dolby Atmos, skip intro and the fastest load times! Highly recommended option!"
+ },
+ "outro": "If you have more questions on how this works, feel free to ask on the <0>P-Stream Discord0> server!"
+ },
+ "recommended": {
+ "title": "Not sure what to choose?",
+ "subtitle": "Recommended Configurations:",
+ "desktop": {
+ "title": "Desktop:",
+ "description": "Extension + FED API (Private)"
+ },
+ "iOS": {
+ "title": "iOS:",
+ "description": "Custom proxy + FED API (Private)"
+ },
+ "android": {
+ "title": "Android:",
+ "description": "Extension + FED API (Private)"
+ }
+ }
+ },
+ "options": {
+ "or": "or",
+ "default": {
+ "text": "I don't want good quality streams, use the default setup."
},
"extension": {
- "back": "Go back",
- "explainer": "Using the browser extension, you can get the best streams we have to offer. With just a simple install. 👌",
- "explainerIos": "Unfortunately, the browser extension is not supported on iOS, Press Go back to choose another option.",
- "extensionHelp": "If you've installed the extension but it's not detected, open the extension through your browsers extension menu and follow the steps on screen.",
- "linkChrome": "Install Chrome extension",
- "linkFirefox": "Install Firefox extension",
- "notDetecting": "Installed on Chrome, but the site isn't detecting it? Try reloading the page!",
- "notDetectingAction": "Reload page",
- "status": {
- "disallowed": "Extension is not enabled for this page (,,>﹏<,,)",
- "disallowedAction": "Enable extension",
- "failed": "Failed to request status",
- "loading": "Waiting for you to install the extension",
- "outdated": "Extension version too old",
- "success": "Extension is working as expected!"
- },
- "submit": "Continue",
- "title": "Let's start with an extension"
+ "action": "Install extension",
+ "description": "Install browser extension and gain access to additional sources! Remember to enable it for this site.",
+ "quality": "Best quality + More Sources",
+ "title": "Browser extension"
},
"proxy": {
- "back": "Go back",
- "explainer": "With the proxy method, you can get great quality streams by making a self-service proxy.",
- "input": {
- "errorConnection": "Could not connect to proxy",
- "errorInvalidUrl": "Not a valid URL",
- "errorNotProxy": "Expected a proxy but got a website",
- "label": "Proxy URL",
- "placeholder": "https://"
- },
- "link": "Learn how to make a proxy",
- "submit": "Submit proxy",
- "title": "Let's make a new proxy"
- },
- "start": {
- "explainer": "To get the best streams possible, you will need to choose which streaming method you want to use.",
- "moreInfo": {
- "button": "More info",
- "title": "Understanding a setup",
- "explainer": {
- "intro": "P-Stream doesn't host videos. It relies on third-party websites for content, so you need to choose how it connects to those sites.",
- "options": "Your Options:",
- "extension": "1. Extension",
- "extensionDescription": "The extension gives you access to the most sources. It acts as a local proxy and can handle sites that need special cookies or headers to load.",
- "proxy": "2. Proxy",
- "proxyDescription": "The proxy scrapes media from other websites. It bypasses browser restrictions (like CORS) to allow scraping.",
- "default": "3. Default Setup",
- "defaultDescription": "Uses P-Stream's built-in proxy. It's the easiest option but might be slower due to shared bandwidth.",
- "fedapi": {
- "fedapi": "Additional: FED API (Private) token",
- "fedapiDescription": "Bring your own FREE Febbox account to gain access to FED API (Private), the best source with 4K quality, Dolby Atmos, skip intro and the fastest load times! Highly recommended option!"
- },
- "outro": "If you have more questions on how this works, feel free to ask on the <0>P-Stream Discord0> server!"
- },
- "recommended": {
- "title": "Not sure what to choose?",
- "subtitle": "Recommended Configurations:",
- "desktop": {
- "title": "Desktop:",
- "description": "Extension + FED API (Private)"
- },
- "iOS": {
- "title": "iOS:",
- "description": "Custom proxy + FED API (Private)"
- },
- "android": {
- "title": "Android:",
- "description": "Extension + FED API (Private)"
- }
- }
- },
- "options": {
- "or": "or",
- "default": {
- "text": "I don't want good quality streams, use the default setup."
- },
- "extension": {
- "action": "Install extension",
- "description": "Install browser extension and gain access to additional sources! Remember to enable it for this site.",
- "quality": "Best quality + More Sources",
- "title": "Browser extension"
- },
- "proxy": {
- "action": "Setup proxy",
- "description": "Setup a free proxy in just 5 minutes! Improves loading reliability!",
- "quality": "Good quality",
- "title": "Custom proxy"
- }
- },
- "title": "Let's get you setup with P-Stream 🥳"
+ "action": "Setup proxy",
+ "description": "Setup a free proxy in just 5 minutes! Improves loading reliability!",
+ "quality": "Good quality",
+ "title": "Custom proxy"
}
+ },
+ "title": "Let's get you setup with P-Stream 🥳"
+ }
+ },
+ "overlays": {
+ "close": "Close"
+ },
+ "player": {
+ "back": {
+ "default": "Back to home",
+ "short": "Back"
},
- "overlays": {
- "close": "Close"
+ "casting": {
+ "enabled": "Casting to device 🎬"
},
- "player": {
- "back": {
- "default": "Back to home",
- "short": "Back"
+ "menus": {
+ "downloads": {
+ "button": "Atempt download",
+ "hlsDownloader": "Or, go to the <0>hls downloader website0> and paste the playlist URL from below.",
+ "disclaimer": "Downloads are taken directly from the provider. P-Stream does not have control over how the downloads are provided.",
+ "copyHlsPlaylist": "Copy HLS playlist link",
+ "downloadSubtitle": "Download current subtitle",
+ "downloadVideo": "Download video",
+ "hlsDisclaimer": "Downloads are taken directly from the provider. P-Stream does not have control over how the downloads are provided.
Please note you are downloading an HLS playlist, it is not recommended to download if you are not familiar with advanced streaming formats. Try different sources for different formats.",
+ "onAndroid": {
+ "1": "To download on Android, click the download button then, on the new page, tap and hold on the video, then select save.",
+ "shortTitle": "Download / Android",
+ "title": "Downloading on Android"
},
- "casting": {
- "enabled": "Casting to device 🎬"
+ "onIos": {
+ "1": "To download on iOS, click the download button then, on the new page, click , then Save to Files .",
+ "shortTitle": "Download / iOS",
+ "title": "Downloading on iOS"
},
- "menus": {
- "downloads": {
- "button": "Atempt download",
- "hlsDownloader": "Or, go to the <0>hls downloader website0> and paste the playlist URL from below.",
- "disclaimer": "Downloads are taken directly from the provider. P-Stream does not have control over how the downloads are provided.",
- "copyHlsPlaylist": "Copy HLS playlist link",
- "downloadSubtitle": "Download current subtitle",
- "downloadVideo": "Download video",
- "hlsDisclaimer": "Downloads are taken directly from the provider. P-Stream does not have control over how the downloads are provided.
Please note you are downloading an HLS playlist, it is not recommended to download if you are not familiar with advanced streaming formats. Try different sources for different formats.",
- "onAndroid": {
- "1": "To download on Android, click the download button then, on the new page, tap and hold on the video, then select save.",
- "shortTitle": "Download / Android",
- "title": "Downloading on Android"
- },
- "onIos": {
- "1": "To download on iOS, click the download button then, on the new page, click , then Save to Files .",
- "shortTitle": "Download / iOS",
- "title": "Downloading on iOS"
- },
- "onPc": {
- "1": "On PC, click the download button then, on the new page, right click the video and select Save video as",
- "shortTitle": "Download / PC",
- "title": "Downloading on PC"
- },
- "title": "Download"
- },
- "episodes": {
- "button": "Episodes",
- "emptyState": "There are no episodes in this season, check back later (sorry :3)...",
- "episodeBadge": "E{{episode}}",
- "loadingError": "Error loading season",
- "loadingList": "Loading...",
- "loadingTitle": "Loading...",
- "unairedEpisodes": "One or more episodes in this season have been disabled because they haven't been aired yet.",
- "seasons": "Seasons"
- },
- "playback": {
- "speedLabel": "Playback speed",
- "title": "Playback settings"
- },
- "quality": {
- "automaticLabel": "Automatic quality",
- "hint": "You can try <0>switching source0> to get different quality options.",
- "iosNoQuality": "Due to Apple-defined (common IOS L) limitations, quality selection is not available on iOS for this source. You can try <0>switching to another source0> to get different quality options.",
- "title": "Quality"
- },
- "settings": {
- "downloadItem": "Download",
- "enableSubtitles": "Enable Subtitles",
- "experienceSection": "Viewing experience",
- "playbackItem": "Playback settings",
- "audioItem": "Audio",
- "qualityItem": "Quality",
- "sourceItem": "Video sources",
- "subtitleItem": "Subtitle settings",
- "videoSection": "Video settings"
- },
- "sources": {
- "failed": {
- "text": "There was an error while trying to find any videos... Try a different source?",
- "title": "Failed to scrape"
- },
- "noEmbeds": {
- "text": "We were unable to find any embeds, please try a different source.",
- "title": "No embeds found"
- },
- "noStream": {
- "text": "This source has no streams for this movie or show. /ᐠ - ˕ -マ Ⳋ",
- "title": "No stream :("
- },
- "title": "Sources",
- "unknownOption": "Unknown",
- "editOrder": "Edit order"
- },
- "subtitles": {
- "customChoice": "Drop or upload file",
- "customizeLabel": "Customize",
- "offChoice": "Off",
- "onChoice": "On",
- "SourceChoice": "Source Captions",
- "OpenSubtitlesChoice": "OpenSubtitles",
- "settings": {
- "backlink": "Custom subtitles",
- "delay": "Subtitle delay",
- "fixCapitals": "Fix capitalization"
- },
- "title": "Subtitles",
- "unknownLanguage": "Unknown",
- "dropSubtitleFile": "Drop subtitle file here! >_<",
- "scrapeButton": "Scrape subtitles",
- "empty": "There are no provided subtitles for this.",
- "notFound": "None of the available options match your query",
- "useNativeSubtitles": "Use native video subtitles",
- "useNativeSubtitlesDescription": "May fix subtitles when casting and in PiP"
- },
- "watchparty": {
- "watchpartyItem": "Watch Party",
- "notice": "Legacy Watch Party might not be available for some sources",
- "legacyWatchparty": "Use legacy Watch Party"
- }
+ "onPc": {
+ "1": "On PC, click the download button then, on the new page, right click the video and select Save video as",
+ "shortTitle": "Download / PC",
+ "title": "Downloading on PC"
},
- "metadata": {
- "api": {
- "text": "Could not load API metadata, please check your internet connection.",
- "title": "Failed to load API metadata"
- },
- "dmca": {
- "badge": "Removed",
- "text": "This media is no longer available due to a takedown notice or copyright claim. 😨",
- "title": "Media has been removed"
- },
- "extensionPermission": {
- "badge": "Permission Missing",
- "button": "Use extension",
- "text": "You have the browser extension, but we need your permission to get started using the extension. (¬_¬)",
- "title": "Configure the extension"
- },
- "failed": {
- "badge": "Failed",
- "homeButton": "Go home",
- "text": "Could not load the media's metadata from TMDB. Please check whether TMDB is down or blocked on your internet connection.",
- "title": "Failed to load metadata"
- },
- "notFound": {
- "badge": "Not found",
- "homeButton": "Back to home",
- "text": "We couldn't find the media you requested. Either it's been removed or you tampered with the URL (naughty, naughty).",
- "title": "Couldn't find that media."
- }
+ "title": "Download"
+ },
+ "episodes": {
+ "button": "Episodes",
+ "emptyState": "There are no episodes in this season, check back later (sorry :3)...",
+ "episodeBadge": "E{{episode}}",
+ "loadingError": "Error loading season",
+ "loadingList": "Loading...",
+ "loadingTitle": "Loading...",
+ "unairedEpisodes": "One or more episodes in this season have been disabled because they haven't been aired yet.",
+ "seasons": "Seasons"
+ },
+ "playback": {
+ "speedLabel": "Playback speed",
+ "title": "Playback settings"
+ },
+ "quality": {
+ "automaticLabel": "Automatic quality",
+ "hint": "You can try <0>switching source0> to get different quality options.",
+ "iosNoQuality": "Due to Apple-defined (common IOS L) limitations, quality selection is not available on iOS for this source. You can try <0>switching to another source0> to get different quality options.",
+ "title": "Quality"
+ },
+ "settings": {
+ "downloadItem": "Download",
+ "enableSubtitles": "Enable Subtitles",
+ "experienceSection": "Viewing experience",
+ "playbackItem": "Playback settings",
+ "audioItem": "Audio",
+ "qualityItem": "Quality",
+ "sourceItem": "Video sources",
+ "subtitleItem": "Subtitle settings",
+ "videoSection": "Video settings"
+ },
+ "sources": {
+ "failed": {
+ "text": "There was an error while trying to find any videos... Try a different source?",
+ "title": "Failed to scrape"
},
- "nextEpisode": {
- "replay": "Replay",
- "next": "Next episode",
- "nextSeason": "Next season"
+ "noEmbeds": {
+ "text": "We were unable to find any embeds, please try a different source.",
+ "title": "No embeds found"
},
- "playbackError": {
- "badge": "Playback error",
- "errors": {
- "errorAborted": "The fetching of the media was aborted by the user's request.",
- "errorDecode": "Despite having previously been determined to be usable, an error occurred while trying to decode the media resource, resulting in an error.",
- "errorGenericMedia": "Unknown media error occurred.",
- "errorNetwork": "Some kind of network error occurred which prevented the media from being successfully fetched, despite having previously been available.",
- "errorNotSupported": "The media or media provider object is not supported."
- },
- "homeButton": "Go home",
- "text": "There was an error trying to play the media 😖. Please try again or try a different source!",
- "title": "Failed to play video!"
+ "noStream": {
+ "text": "This source has no streams for this movie or show. /ᐠ - ˕ -マ Ⳋ",
+ "title": "No stream :("
},
- "scraping": {
- "items": {
- "failure": "Error occurred",
- "notFound": "Doesn't have the video (╥﹏╥)",
- "pending": "Checking for videos..."
- },
- "notFound": {
- "badge": "Not found",
- "detailsButton": "Show details",
- "homeButton": "Go home",
- "discoverButton": "Discover more",
- "text": "We have searched through our providers and cannot find the media you are looking for! We do not host the media and have no control over what is available. Please click 'Show details' below for more details.",
- "title": "We couldn't find that"
- },
- "extensionFailure": {
- "badge": "Extension disabled",
- "homeButton": "Go home",
- "enableExtension": "Enable extension",
- "title": "Please enable the extension",
- "text": "You've installed the P-Stream extension. To start using it, you need to enable the extension for this site."
- },
- "tips": {
- "1": "Tap the gear icon to switch sources!",
- "2": "Tap the title to copy the link!",
- "3": "Tap and hold or hold SHIFT to show widescreen button instead of fullscreen!",
- "4": "Some sources work better than others!",
- "5": "Get the extension for more sources!",
- "6": "Hold bookmarks to edit or delete them!",
- "7": "Hold SHIFT and tap the title to copy the link with time!",
- "8": "Set a custom subtitle color!",
- "9": "Migrate your account to a new backend in settings!",
- "10": "Join the Discord!",
- "11": "Use [ and ] to adjust subtitle timing!",
- "12": "Press SPACE or K to play/pause!",
- "13": "Use LEFT and RIGHT arrow keys to skip 5 seconds!",
- "14": "Use J and L keys to skip 10 seconds!",
- "15": "Press F to toggle fullscreen!",
- "16": "Press M to toggle mute!",
- "17": "Use UP and DOWN arrows to change volume!",
- "18": "Press < and > to change playback speed!",
- "19": "Press . and , to move frame by frame when paused!",
- "20": "Press C to toggle subtitles!",
- "21": "Press R to do a barrel roll!"
- }
+ "title": "Sources",
+ "unknownOption": "Unknown",
+ "editOrder": "Edit order"
+ },
+ "subtitles": {
+ "customChoice": "Drop or upload file",
+ "customizeLabel": "Customize",
+ "offChoice": "Off",
+ "onChoice": "On",
+ "SourceChoice": "Source Captions",
+ "OpenSubtitlesChoice": "OpenSubtitles",
+ "settings": {
+ "backlink": "Custom subtitles",
+ "delay": "Subtitle delay",
+ "fixCapitals": "Fix capitalization"
},
- "time": {
- "regular": "{{timeWatched}} / {{duration}}",
- "remaining": "{{timeLeft}} left • Finish at {{timeFinished, datetime}}",
- "shortRegular": "{{timeWatched}}",
- "shortRemaining": "-{{timeLeft}}"
- },
- "turnstile": {
- "description": "Please prove your humanity by completing the quick challenge, this is to keep P-Stream safe.",
- "error": "Failed to verify your humanity - stream failed to load. Clear your cache and try again, or switch to a different source (tap the gear).",
- "title": "Are You a Robot 🤖?",
- "verifyingHumanity": "Verifying your humanity... (^▽^)👍"
- }
+ "title": "Subtitles",
+ "unknownLanguage": "Unknown",
+ "dropSubtitleFile": "Drop subtitle file here! >_<",
+ "scrapeButton": "Scrape subtitles",
+ "empty": "There are no provided subtitles for this.",
+ "notFound": "None of the available options match your query",
+ "useNativeSubtitles": "Use native video subtitles",
+ "useNativeSubtitlesDescription": "May fix subtitles when casting and in PiP"
+ },
+ "watchparty": {
+ "watchpartyItem": "Watch Party",
+ "notice": "Legacy Watch Party might not be available for some sources",
+ "legacyWatchparty": "Use legacy Watch Party"
+ }
},
- "support": {
- "title": "Support",
- "text": "P-Stream is designed to be as user-friendly as possible. However, people still have questions and issues. This page is here to help resolve these shortcomings",
- "q1": {
- "body": "Well, you can join the official <0>P-Stream discord0> and ask questions there or you can email the one provided at the bottom of this page.",
- "title": "Where can I get help?"
- },
- "q2": {
- "body": "We have a <0>GitHub0> where you can create a detailed issue in our repository. Additionally, if you wish, you can create a pull request to fix the issue yourself.",
- "title": "How can I report a bug or issue?"
- }
+ "metadata": {
+ "api": {
+ "text": "Could not load API metadata, please check your internet connection.",
+ "title": "Failed to load API metadata"
+ },
+ "dmca": {
+ "badge": "Removed",
+ "text": "This media is no longer available due to a takedown notice or copyright claim. 😨",
+ "title": "Media has been removed"
+ },
+ "extensionPermission": {
+ "badge": "Permission Missing",
+ "button": "Use extension",
+ "text": "You have the browser extension, but we need your permission to get started using the extension. (¬_¬)",
+ "title": "Configure the extension"
+ },
+ "failed": {
+ "badge": "Failed",
+ "homeButton": "Go home",
+ "text": "Could not load the media's metadata from TMDB. Please check whether TMDB is down or blocked on your internet connection.",
+ "title": "Failed to load metadata"
+ },
+ "notFound": {
+ "badge": "Not found",
+ "homeButton": "Back to home",
+ "text": "We couldn't find the media you requested. Either it's been removed or you tampered with the URL (naughty, naughty).",
+ "title": "Couldn't find that media."
+ }
},
- "jip": {
- "title": "Jip",
- "text": "P-Stream didn't fall out of a coconut tree, it was made mostly by a single person (a very epic one at that).",
- "q1": {
- "body": "Well, you can join the official <0>P-Stream discord0> and ask questions there or you can email the one provided at the bottom of this page.",
- "title": "Where can I get help?"
- },
- "q2": {
- "body": "We have a <0>GitHub0> where you can create a detailed issue in our repository. Additionally, if you wish, you can create a pull request to fix the issue yourself.",
- "title": "How can I report a bug or issue?"
- }
+ "nextEpisode": {
+ "replay": "Replay",
+ "next": "Next episode",
+ "nextSeason": "Next season"
},
- "screens": {
- "dmca": {
- "title": "DMCA"
- },
- "loadingApp": "Loading application",
- "loadingUser": "Loading your profile",
- "loadingUserError": {
- "logout": "Logout",
- "reset": "Reset custom server",
- "text": "Failed to load your profile",
- "reload": "Reload",
- "textWithReset": "Failed to load your profile from your custom server, want to reset back to the default server?"
+ "playbackError": {
+ "badge": "Playback error",
+ "errors": {
+ "errorAborted": "The fetching of the media was aborted by the user's request.",
+ "errorDecode": "Despite having previously been determined to be usable, an error occurred while trying to decode the media resource, resulting in an error.",
+ "errorGenericMedia": "Unknown media error occurred.",
+ "errorNetwork": "Some kind of network error occurred which prevented the media from being successfully fetched, despite having previously been available.",
+ "errorNotSupported": "The media or media provider object is not supported."
+ },
+ "homeButton": "Go home",
+ "text": "There was an error trying to play the media 😖. Please try again or try a different source!",
+ "title": "Failed to play video!"
+ },
+ "scraping": {
+ "items": {
+ "failure": "Error occurred",
+ "notFound": "Doesn't have the video (╥﹏╥)",
+ "pending": "Checking for videos..."
+ },
+ "notFound": {
+ "badge": "Not found",
+ "detailsButton": "Show details",
+ "homeButton": "Go home",
+ "discoverButton": "Discover more",
+ "text": "We have searched through our providers and cannot find the media you are looking for! We do not host the media and have no control over what is available. Please click 'Show details' below for more details.",
+ "title": "We couldn't find that"
+ },
+ "extensionFailure": {
+ "badge": "Extension disabled",
+ "homeButton": "Go home",
+ "enableExtension": "Enable extension",
+ "title": "Please enable the extension",
+ "text": "You've installed the P-Stream extension. To start using it, you need to enable the extension for this site."
+ },
+ "tips": {
+ "1": "Tap the gear icon to switch sources!",
+ "2": "Tap the title to copy the link!",
+ "3": "Tap and hold or hold SHIFT to show widescreen button instead of fullscreen!",
+ "4": "Some sources work better than others!",
+ "5": "Get the extension for more sources!",
+ "6": "Hold bookmarks to edit or delete them!",
+ "7": "Hold SHIFT and tap the title to copy the link with time!",
+ "8": "Set a custom subtitle color!",
+ "9": "Migrate your account to a new backend in settings!",
+ "10": "Join the Discord!",
+ "11": "Use [ and ] to adjust subtitle timing!",
+ "12": "Press SPACE or K to play/pause!",
+ "13": "Use LEFT and RIGHT arrow keys to skip 5 seconds!",
+ "14": "Use J and L keys to skip 10 seconds!",
+ "15": "Press F to toggle fullscreen!",
+ "16": "Press M to toggle mute!",
+ "17": "Use UP and DOWN arrows to change volume!",
+ "18": "Press < and > to change playback speed!",
+ "19": "Press . and , to move frame by frame when paused!",
+ "20": "Press C to toggle subtitles!",
+ "21": "Press R to do a barrel roll!"
+ }
+ },
+ "time": {
+ "regular": "{{timeWatched}} / {{duration}}",
+ "remaining": "{{timeLeft}} left • Finish at {{timeFinished, datetime}}",
+ "shortRegular": "{{timeWatched}}",
+ "shortRemaining": "-{{timeLeft}}"
+ },
+ "turnstile": {
+ "description": "Please prove your humanity by completing the quick challenge, this is to keep P-Stream safe.",
+ "error": "Failed to verify your humanity - stream failed to load. Clear your cache and try again, or switch to a different source (tap the gear).",
+ "title": "Are You a Robot 🤖?",
+ "verifyingHumanity": "Verifying your humanity... (^▽^)👍"
+ }
+ },
+ "support": {
+ "title": "Support",
+ "text": "P-Stream is designed to be as user-friendly as possible. However, people still have questions and issues. This page is here to help resolve these shortcomings",
+ "q1": {
+ "body": "Well, you can join the official <0>P-Stream discord0> and ask questions there or you can email the one provided at the bottom of this page.",
+ "title": "Where can I get help?"
+ },
+ "q2": {
+ "body": "We have a <0>GitHub0> where you can create a detailed issue in our repository. Additionally, if you wish, you can create a pull request to fix the issue yourself.",
+ "title": "How can I report a bug or issue?"
+ }
+ },
+ "jip": {
+ "title": "Jip",
+ "text": "P-Stream didn't fall out of a coconut tree, it was made mostly by a single person (a very epic one at that).",
+ "q1": {
+ "body": "Well, you can join the official <0>P-Stream discord0> and ask questions there or you can email the one provided at the bottom of this page.",
+ "title": "Where can I get help?"
+ },
+ "q2": {
+ "body": "We have a <0>GitHub0> where you can create a detailed issue in our repository. Additionally, if you wish, you can create a pull request to fix the issue yourself.",
+ "title": "How can I report a bug or issue?"
+ }
+ },
+ "screens": {
+ "dmca": {
+ "title": "DMCA"
+ },
+ "loadingApp": "Loading application",
+ "loadingUser": "Loading your profile",
+ "loadingUserError": {
+ "logout": "Logout",
+ "reset": "Reset custom server",
+ "text": "Failed to load your profile",
+ "reload": "Reload",
+ "textWithReset": "Failed to load your profile from your custom server, want to reset back to the default server?"
+ },
+ "migration": {
+ "failed": "Failed to migrate your data. 😿",
+ "inProgress": "Please hold, we are migrating your data. This shouldn't take long..."
+ }
+ },
+ "settings": {
+ "account": {
+ "accountDetails": {
+ "deviceNameLabel": "Device name",
+ "deviceNamePlaceholder": "Personal phone",
+ "editProfile": "Edit",
+ "logoutButton": "Log out"
+ },
+ "admin": {
+ "title": "Admin panel",
+ "text": "Utilize tools made for testing P-Stream's condition.",
+ "button": "Check it out"
+ },
+ "actions": {
+ "delete": {
+ "button": "Delete account",
+ "confirmButton": "Delete account",
+ "confirmDescription": "Are you sure you want to delete your account? All your data will be lost! ૮₍˶Ó﹏Ò ⑅₎ა",
+ "confirmTitle": "Are you sure?",
+ "text": "This action is irreversible. All data will be deleted and nothing can be recovered.",
+ "title": "Delete account"
},
"migration": {
- "failed": "Failed to migrate your data. 😿",
- "inProgress": "Please hold, we are migrating your data. This shouldn't take long..."
+ "title": "Account migration",
+ "text": "Migrate your account to a new server or download your data.",
+ "button": "Migrate account"
+ },
+ "title": "Actions",
+ "logoutAllDevices": {
+ "title": "End All Sessions",
+ "text": "This will sign you out from all devices linked to your account.",
+ "button": "Log Out of All Devices"
}
+ },
+ "devices": {
+ "deviceNameLabel": "Device name",
+ "failed": "Failed to load sessions",
+ "removeDevice": "Remove",
+ "title": "Devices"
+ },
+ "profile": {
+ "finish": "Finish editing",
+ "firstColor": "Profile color one",
+ "secondColor": "Profile color two",
+ "title": "Edit profile picture",
+ "userIcon": "User icon"
+ },
+ "register": {
+ "cta": "Get started",
+ "text": "Share your watch progress between devices and keep them synced. ( ̧⸝⸝⍢⸝⸝)ෆ",
+ "title": "Sync to the Cloud"
+ },
+ "title": "Account"
},
- "settings": {
- "account": {
- "accountDetails": {
- "deviceNameLabel": "Device name",
- "deviceNamePlaceholder": "Personal phone",
- "editProfile": "Edit",
- "logoutButton": "Log out"
- },
- "admin": {
- "title": "Admin panel",
- "text": "Utilize tools made for testing P-Stream's condition.",
- "button": "Check it out"
- },
- "actions": {
- "delete": {
- "button": "Delete account",
- "confirmButton": "Delete account",
- "confirmDescription": "Are you sure you want to delete your account? All your data will be lost! ૮₍˶Ó﹏Ò ⑅₎ა",
- "confirmTitle": "Are you sure?",
- "text": "This action is irreversible. All data will be deleted and nothing can be recovered.",
- "title": "Delete account"
- },
- "migration": {
- "title": "Account migration",
- "text": "Migrate your account to a new server or download your data.",
- "button": "Migrate account"
- },
- "title": "Actions",
- "logoutAllDevices": {
- "title": "End All Sessions",
- "text": "This will sign you out from all devices linked to your account.",
- "button": "Log Out of All Devices"
- }
- },
- "devices": {
- "deviceNameLabel": "Device name",
- "failed": "Failed to load sessions",
- "removeDevice": "Remove",
- "title": "Devices"
- },
- "profile": {
- "finish": "Finish editing",
- "firstColor": "Profile color one",
- "secondColor": "Profile color two",
- "title": "Edit profile picture",
- "userIcon": "User icon"
- },
- "register": {
- "cta": "Get started",
- "text": "Share your watch progress between devices and keep them synced. ( ̧⸝⸝⍢⸝⸝)ෆ",
- "title": "Sync to the Cloud"
- },
- "title": "Account"
- },
- "appearance": {
- "activeTheme": "Active",
- "themes": {
- "blue": "Blue",
- "default": "Default",
- "gray": "Gray",
- "red": "Red",
- "teal": "Teal",
- "classic": "Classic",
- "green": "Green",
- "mocha": "Mocha",
- "pink": "Pink",
- "noir": "Noir",
- "ember": "Ember",
- "acid": "Acid",
- "spark": "Spark",
- "grape": "Grape",
- "spiderman": "Spiderman",
- "forest": "Forest",
- "wolverine": "Wolverine",
- "popsicle": "Popsicle",
- "hulk": "Hulk"
- },
- "title": "Appearance",
- "options": {
- "discover": "Discover section",
- "discoverDescription": "Show the Discover section on the Homepage below your bookmarked media. Enabled by default.",
- "discoverLabel": "Discover section",
- "modal": "Details modal",
- "modalDescription": "Show the details modal when you click on a media card instead of going to the watch page. Proxy or Extension required for trailer. Disabled by default.",
- "modalLabel": "Details modal"
- }
- },
- "connections": {
- "server": {
- "description": "If you would like to connect to a custom backend to store your data, enable this and provide the URL. <0>Instructions.0>",
- "label": "Custom server",
- "urlLabel": "Custom server URL",
- "migration": {
- "description": "<0>Migrate my data0> to a new server.",
- "link": "Migrate my data"
- },
- "documentation": "Backend documentation"
- },
- "setup": {
- "doSetup": "Do setup",
- "errorStatus": {
- "description": "It seems that one or more items in this setup need your attention.",
- "title": "Something needs your attention 😱"
- },
- "itemError": "There is something wrong with this setting. Go through setup again to fix it. (ᴗ_ ᴗ。)",
- "items": {
- "default": "Default setup",
- "extension": "Extension",
- "proxy": "Custom proxy"
- },
- "redoSetup": "Redo setup",
- "successStatus": {
- "description": "All things are in place for you to start watching your favorite media. (๑>◡<๑)",
- "title": "Everything is set up!"
- },
- "unsetStatus": {
- "description": "Please click the button to the right to start the setup process.",
- "title": "You haven't gone through setup"
- }
- },
- "title": "Connections",
- "workers": {
- "addButton": "Add new worker",
- "description": "To make the application function, all traffic is routed through proxies. Enable this if you want to bring your own workers. <0>Instructions.0>",
- "documentation": "Proxy documentation",
- "emptyState": "No workers yet (。•́︿•̀。), add one below",
- "label": "Use custom proxy workers",
- "urlLabel": "Worker URLs",
- "urlPlaceholder": "https://",
- "proxyTMDB": {
- "title": "Proxy TMDB",
- "description": "Only needed if you can't access TheMovieDB directly, such as if your ISP blocks it. It is recomended to disable the Discover secton to improve performance with this."
- }
- }
- },
- "preferences": {
- "language": "Application language",
- "languageDescription": "Language applied to the entire application, only English has silly stuff 🙁.",
- "thumbnail": "Generate thumbnails",
- "thumbnailDescription": "Most of the time, videos don't have thumbnails. You can enable this setting to generate them on the fly but they can make your video slower.",
- "thumbnailLabel": "Generate thumbnails",
- "autoplay": "Autoplay",
- "autoplayDescription": "Automatically play the next episode in a series after reaching the end. Can be enabled by users with the browser extension, a custom proxy, or with the default setup if allowed by the host.",
- "autoplayLabel": "Autoplay",
- "skipCredits": "Skip End Credits",
- "skipCreditsDescription": "When enabled, automatically play the next episode at 99% completion to skip end credits. When disabled, wait until the episode is fully completed.",
- "skipCreditsLabel": "Skip end credits",
- "sourceOrder": "Reordering sources",
- "sourceOrderDescription": "Drag and drop to reorder sources. This will determine the order in which sources are checked for the media you are trying to watch. If a source is greyed out, it means the extension is required for that source.
(The default order is best for most users)",
- "title": "Preferences",
- "sourceOrderEnableLabel": "Custom source order"
- },
- "reset": "Reset",
- "save": "Save",
- "sidebar": {
- "info": {
- "appVersion": "App version",
- "backendUrl": "Backend URL",
- "backendVersion": "Backend version",
- "hostname": "Hostname",
- "insecure": "Insecure",
- "notLoggedIn": "You are not logged in",
- "secure": "Secure",
- "title": "App stats",
- "unknownVersion": "Unknown",
- "userId": "User ID"
- }
- },
- "subtitles": {
- "backgroundLabel": "Background opacity",
- "backgroundBlurLabel": "Background blur",
- "colorLabel": "Color",
- "previewQuote": "Convinced life is meaningless, I lack the courage of my conviction.",
- "textSizeLabel": "Text size",
- "title": "Subtitles",
- "textBoldLabel": "Bold text",
- "verticalPositionLabel": "Vertical position",
- "default": "Default",
- "low": "Low",
- "textStyle": {
- "title": "Text style",
- "default": "Default",
- "raised": "Raised",
- "depressed": "Depressed",
- "uniform": "Uniform",
- "dropShadow": "Drop Shadow"
- }
- },
- "unsaved": "You have unsaved changes... ฅ^•ﻌ•^ฅ"
+ "appearance": {
+ "activeTheme": "Active",
+ "themes": {
+ "blue": "Blue",
+ "default": "Default",
+ "gray": "Gray",
+ "red": "Red",
+ "teal": "Teal",
+ "classic": "Classic",
+ "green": "Green",
+ "mocha": "Mocha",
+ "pink": "Pink",
+ "noir": "Noir",
+ "ember": "Ember",
+ "acid": "Acid",
+ "spark": "Spark",
+ "grape": "Grape",
+ "spiderman": "Spiderman",
+ "forest": "Forest",
+ "wolverine": "Wolverine",
+ "popsicle": "Popsicle",
+ "hulk": "Hulk"
+ },
+ "title": "Appearance",
+ "options": {
+ "discover": "Discover section",
+ "discoverDescription": "Show the Discover section on the Homepage below your bookmarked media. Enabled by default.",
+ "discoverLabel": "Discover section",
+ "featured": "Featured media",
+ "featuredDescription": "Show a carousel of featured movies and shows at the top of your homepage! Disabled by default.",
+ "featuredLabel": "Featured media",
+ "modal": "Details modal",
+ "modalDescription": "Show the details modal when you click on a media card instead of going to the watch page. Proxy or Extension required for trailer. Disabled by default.",
+ "modalLabel": "Details modal",
+ "logos": "Image logos",
+ "logosDescription": "Show image logos instead of text titles in the details modal and featured section. Enabled by default.",
+ "logosNotice": "Most of the time, logos are English only. Other languages might want to disable this!",
+ "logosLabel": "Image logos"
+ }
},
- "discover": {
- "tabs": {
- "movies": "Movies",
- "tvshows": "TV Shows",
- "editorpicks": "Editor Picks"
+ "connections": {
+ "server": {
+ "description": "If you would like to connect to a custom backend to store your data, enable this and provide the URL. <0>Instructions.0>",
+ "label": "Custom server",
+ "urlLabel": "Custom server URL",
+ "migration": {
+ "description": "<0>Migrate my data0> to a new server.",
+ "link": "Migrate my data"
},
- "carousel": {
- "title": {
- "movies": "{{category}} Movies",
- "tvshows": "{{category}} Shows",
- "inCinemas": "In Cinemas",
- "popularOn": "Popular {{type}} on {{provider}}",
- "editorPicks": "Editor Picks"
- }
+ "documentation": "Backend documentation"
+ },
+ "setup": {
+ "doSetup": "Do setup",
+ "errorStatus": {
+ "description": "It seems that one or more items in this setup need your attention.",
+ "title": "Something needs your attention 😱"
},
- "providers": {
- "netflix": "Netflix",
- "appleTv": "Apple TV+",
- "amazonPrime": "Amazon Prime Video",
- "hulu": "Hulu",
- "max": "Max",
- "paramountPlus": "Paramount Plus",
- "disneyPlus": "Disney Plus",
- "shudder": "Shudder",
- "fubuTV": "fubuTV"
+ "itemError": "There is something wrong with this setting. Go through setup again to fix it. (ᴗ_ ᴗ。)",
+ "items": {
+ "default": "Default setup",
+ "extension": "Extension",
+ "proxy": "Custom proxy"
},
- "randomMovie": {
- "button": "Watch Something Random",
- "cancel": "Cancel Countdown",
- "countdown": "{{countdown}}s",
- "nowPlaying": "Now Playing",
- "in": "in"
+ "redoSetup": "Redo setup",
+ "successStatus": {
+ "description": "All things are in place for you to start watching your favorite media. (๑>◡<๑)",
+ "title": "Everything is set up!"
},
- "page": {
- "title": "Discover Movies & TV",
- "subtitle": "Explore the latest hits and timeless classics."
- },
- "scrollToTop": "Back to top"
- },
- "fedapi": {
- "onboarding": {
- "title": "FED API (Private) token",
- "description": "Bring your own FREE Febbox account to gain access to FED API (Private), the best source with 4K quality, Dolby Atmos, skip intro and the fastest load times! Highly recommended option!"
- },
- "setup": {
- "title": "To get your UI token:",
- "showVideo": "Show Video Tutorial",
- "hideVideo": "Hide Video Tutorial",
- "step": {
- "1": "1. Go to <0>febbox.com0> and log in with Google (use a fresh account!)",
- "2": "2. Open DevTools or inspect the page",
- "3": "3. Go to Application tab → Cookies",
- "4": "4. Copy the 'ui' cookie.",
- "5": "5. Close the tab, but do NOT logout!",
- "warning": "(Do not share this token!)"
- }
- },
- "status": {
- "success": "success",
- "api_down": "Cannot reach FED API!",
- "invalid_token": "Failed to fetch a 'VIP' stream. Your token is invalid!"
+ "unsetStatus": {
+ "description": "Please click the button to the right to start the setup process.",
+ "title": "You haven't gone through setup"
}
+ },
+ "title": "Connections",
+ "workers": {
+ "addButton": "Add new worker",
+ "description": "To make the application function, all traffic is routed through proxies. Enable this if you want to bring your own workers. <0>Instructions.0>",
+ "documentation": "Proxy documentation",
+ "emptyState": "No workers yet (。•́︿•̀。), add one below",
+ "label": "Use custom proxy workers",
+ "urlLabel": "Worker URLs",
+ "urlPlaceholder": "https://",
+ "proxyTMDB": {
+ "title": "Proxy TMDB",
+ "description": "Only needed if you can't access TheMovieDB directly, such as if your ISP blocks it. It is recomended to disable the Discover secton to improve performance with this."
+ }
+ }
},
- "watchParty": {
- "status": {
- "inSync": "In sync",
- "outOfSync": "Out of sync"
- },
- "alone": "Alone",
- "withCount": "With {{count}} others",
- "isHost": "Hosting on <0>{{backendName}}0>",
- "isGuest": "Watching as a guest on <0>{{backendName}}0>",
- "hosting": "Hosting",
- "watching": "Watching",
- "syncing": "Syncing...",
- "behindHost": "Behind host by {{seconds}} seconds",
- "aheadOfHost": "Ahead of host by {{seconds}} seconds",
- "showStatusOverlay": "Show status overlay",
- "leaveWatchParty": "Leave Watch Party",
- "shareCode": "Share this code with friends (click to copy)",
- "connectedAsGuest": "Connected to watch party as guest",
- "hostParty": "Host a Watch Party",
- "joinParty": "Join a Watch Party",
- "viewers": "Viewers ({{count}})",
- "copyCode": "Click to copy",
- "join": "Join",
- "cancel": "Cancel",
- "save": "Save",
- "emptyRoom": "No one is in this room yet",
- "invalidRoom": "Unable to connect to this room",
- "contentMismatch": "Cannot join watch party: The content does not match the host's content.",
- "episodeMismatch": "Cannot join watch party: You are watching a different episode than the host.",
- "validating": "Validating watch party..."
+ "preferences": {
+ "language": "Application language",
+ "languageDescription": "Language applied to the entire application, only English has silly stuff 🙁.",
+ "thumbnail": "Generate thumbnails",
+ "thumbnailDescription": "Most of the time, videos don't have thumbnails. You can enable this setting to generate them on the fly but they can make your video slower.",
+ "thumbnailLabel": "Generate thumbnails",
+ "autoplay": "Autoplay",
+ "autoplayDescription": "Automatically play the next episode in a series after reaching the end. Can be enabled by users with the browser extension, a custom proxy, or with the default setup if allowed by the host.",
+ "autoplayLabel": "Autoplay",
+ "skipCredits": "Skip End Credits",
+ "skipCreditsDescription": "When enabled, automatically play the next episode at 99% completion to skip end credits. When disabled, wait until the episode is fully completed.",
+ "skipCreditsLabel": "Skip end credits",
+ "sourceOrder": "Reordering sources",
+ "sourceOrderDescription": "Drag and drop to reorder sources. This will determine the order in which sources are checked for the media you are trying to watch. If a source is greyed out, it means the extension is required for that source.
(The default order is best for most users)",
+ "title": "Preferences",
+ "sourceOrderEnableLabel": "Custom source order"
+ },
+ "reset": "Reset",
+ "save": "Save",
+ "sidebar": {
+ "info": {
+ "appVersion": "App version",
+ "backendUrl": "Backend URL",
+ "backendVersion": "Backend version",
+ "hostname": "Hostname",
+ "insecure": "Insecure",
+ "notLoggedIn": "You are not logged in",
+ "secure": "Secure",
+ "title": "App stats",
+ "unknownVersion": "Unknown",
+ "userId": "User ID"
+ }
+ },
+ "subtitles": {
+ "backgroundLabel": "Background opacity",
+ "backgroundBlurLabel": "Background blur",
+ "colorLabel": "Color",
+ "previewQuote": "Convinced life is meaningless, I lack the courage of my conviction.",
+ "textSizeLabel": "Text size",
+ "title": "Subtitles",
+ "textBoldLabel": "Bold text",
+ "verticalPositionLabel": "Vertical position",
+ "default": "Default",
+ "low": "Low",
+ "textStyle": {
+ "title": "Text style",
+ "default": "Default",
+ "raised": "Raised",
+ "depressed": "Depressed",
+ "uniform": "Uniform",
+ "dropShadow": "Drop Shadow"
+ }
+ },
+ "unsaved": "You have unsaved changes... ฅ^•ﻌ•^ฅ"
+ },
+ "discover": {
+ "tabs": {
+ "movies": "Movies",
+ "tvshows": "TV Shows",
+ "editorpicks": "Editor Picks"
+ },
+ "carousel": {
+ "title": {
+ "movies": "{{category}} Movies",
+ "tvshows": "{{category}} Shows",
+ "inCinemas": "In Cinemas",
+ "popularOn": "Popular {{type}} on {{provider}}",
+ "editorPicksMovies": "Editor Picks Movies",
+ "editorPicksShows": "Editor Picks Shows",
+ "moviesOn": "Movies on {{provider}}",
+ "tvshowsOn": "Shows on {{provider}}",
+ "recommended": "Because You Watched: {{title}}",
+ "genreMovies": "{{genre}} Movies",
+ "genreShows": "{{genre}} Shows",
+ "categoryMovies": "{{category}} Movies",
+ "categoryShows": "{{category}} Shows"
+ },
+ "change": "Change",
+ "more": "View more"
+ },
+ "featured": {
+ "playNow": "Play Now",
+ "moreInfo": "More Info"
+ },
+ "randomMovie": {
+ "button": "Watch Something Random",
+ "cancel": "Cancel Countdown",
+ "countdown": "{{countdown}}s",
+ "nowPlaying": "Now Playing",
+ "in": "in"
+ },
+ "page": {
+ "title": "Discover Movies & TV",
+ "subtitle": "Explore the latest hits and timeless classics.",
+ "loadMore": "Load more",
+ "loading": "Loading...",
+ "back": "Go back"
+ },
+ "scrollToTop": "Back to top"
+ },
+ "fedapi": {
+ "onboarding": {
+ "title": "FED API (Private) token",
+ "description": "Bring your own FREE Febbox account to gain access to FED API (Private), the best source with 4K quality, Dolby Atmos, skip intro and the fastest load times! Highly recommended option!"
+ },
+ "setup": {
+ "title": "To get your UI token:",
+ "showVideo": "Show Video Tutorial",
+ "hideVideo": "Hide Video Tutorial",
+ "step": {
+ "1": "1. Go to <0>febbox.com0> and log in with Google (use a fresh account!)",
+ "2": "2. Open DevTools or inspect the page",
+ "3": "3. Go to Application tab → Cookies",
+ "4": "4. Copy the 'ui' cookie.",
+ "5": "5. Close the tab, but do NOT logout!",
+ "warning": "(Do not share this token!)"
+ }
+ },
+ "status": {
+ "success": "success",
+ "api_down": "Cannot reach FED API!",
+ "invalid_token": "Failed to fetch a 'VIP' stream. Your token is invalid!"
}
+ },
+ "watchParty": {
+ "status": {
+ "inSync": "In sync",
+ "outOfSync": "Out of sync"
+ },
+ "alone": "Alone",
+ "withCount": "With {{count}} others",
+ "isHost": "Hosting on <0>{{backendName}}0>",
+ "isGuest": "Watching as a guest on <0>{{backendName}}0>",
+ "hosting": "Hosting",
+ "watching": "Watching",
+ "syncing": "Syncing...",
+ "behindHost": "Behind host by {{seconds}} seconds",
+ "aheadOfHost": "Ahead of host by {{seconds}} seconds",
+ "showStatusOverlay": "Show status overlay",
+ "leaveWatchParty": "Leave Watch Party",
+ "shareCode": "Share this code with friends (click to copy)",
+ "connectedAsGuest": "Connected to watch party as guest",
+ "hostParty": "Host a Watch Party",
+ "joinParty": "Join a Watch Party",
+ "viewers": "Viewers ({{count}})",
+ "copyCode": "Click to copy",
+ "join": "Join",
+ "cancel": "Cancel",
+ "save": "Save",
+ "emptyRoom": "No one is in this room yet",
+ "invalidRoom": "Unable to connect to this room",
+ "contentMismatch": "Cannot join watch party: The content does not match the host's content.",
+ "episodeMismatch": "Cannot join watch party: You are watching a different episode than the host.",
+ "validating": "Validating watch party..."
+ }
}
diff --git a/src/components/LinksDropdown.tsx b/src/components/LinksDropdown.tsx
index cc57144f..bb9a19d5 100644
--- a/src/components/LinksDropdown.tsx
+++ b/src/components/LinksDropdown.tsx
@@ -114,7 +114,10 @@ export function LinksDropdown(props: { children: React.ReactNode }) {
return (