finalized texts

This commit is contained in:
mrjvs 2023-11-30 23:37:07 +01:00
parent c4f4efe65a
commit a2aaf80c7c
5 changed files with 59 additions and 64 deletions

View File

@ -1,46 +1,48 @@
{ {
"auth": { "auth": {
"deviceNameLabel": "Device name", "deviceNameLabel": "Device name",
"deviceNamePlaceholder": "Muad'Dib's Nintendo Switch", "deviceNamePlaceholder": "Personal phone",
"register": { "register": {
"information": { "information": {
"title": "Account information", "title": "Account information",
"color1": "First color", "color1": "Profile color one",
"color2": "Second color", "color2": "Profile color two",
"icon": "User icon", "icon": "User icon",
"header": "Enter a name for your device and choose a user icon and colours" "header": "Enter a name for your device and pick colours and a user icon of your choosing",
"next": "Next"
} }
}, },
"login": { "login": {
"title": "Login to your account", "title": "Login to your account",
"description": "Oh, you're asking for the key to my top-secret lair, also known as The Fortress of Wordsmithery, accessed only by reciting the sacred incantation of the 12-word passphrase!", "description": "Please enter your passphrase to login to your account",
"validationError": "Invalid or incomplete passphrase", "validationError": "Invalid or incomplete passphrase",
"submit": "Login", "submit": "Login",
"passphraseLabel": "12-Word Passphrase", "passphraseLabel": "12-Word passphrase",
"passphrasePlaceholder": "Passphrase" "passphrasePlaceholder": "Passphrase"
}, },
"generate": { "generate": {
"title": "Your passphrase", "title": "Your passphrase",
"description": "If you lose this, you're a silly goose and will be posted on the wall of shame™" "next": "I have saved my passphrase",
"description": "Your passphase acts as your username and password. Make sure to keep it safe as you will need to enter it to login to your account"
}, },
"trust": { "trust": {
"title": "Do you trust this host?", "title": "Do you trust this server?",
"host": "Do you trust <0>{{hostname}}</0>?", "host": "You are connecting to <0>{{hostname}}</0> - please confirm you trust it before making an account",
"failed": { "failed": {
"title": "Failed to reach backend", "title": "Failed to reach server",
"text": "Did you configure it correctly?" "text": "Did you configure it correctly?"
}, },
"yes": "Trust", "yes": "I trust this server",
"no": "Go back" "no": "Go back"
}, },
"verify": { "verify": {
"title": "Enter your passphrase", "title": "Confirm your passphrase",
"description": "If you've already lost it, how will you ever be able to take care of a child?", "description": "Please enter your passphrase from earlier to confirm you have saved it and to create your account",
"invalidData": "Data is not valid", "invalidData": "Data is not valid",
"noMatch": "Passphrase doesn't match", "noMatch": "Passphrase doesn't match",
"recaptchaFailed": "ReCaptcha validation failed", "recaptchaFailed": "ReCaptcha validation failed",
"passphraseLabel": "Your passphrase", "passphraseLabel": "Your 12-word passphrase",
"register": "Register" "register": "Create account"
} }
}, },
"errors": { "errors": {
@ -48,7 +50,7 @@
"reloadPage": "Reload the page", "reloadPage": "Reload the page",
"showError": "Show error details", "showError": "Show error details",
"badge": "It broke", "badge": "It broke",
"title": "That's an error boss" "title": "We encountered an error!"
}, },
"notFound": { "notFound": {
"badge": "Not found", "badge": "Not found",
@ -78,9 +80,10 @@
"scraping": { "scraping": {
"notFound": { "notFound": {
"badge": "Not found", "badge": "Not found",
"title": "Goo goo gaa gaa", "title": "We couldn't find that",
"text": "Oh, my apowogies, sweetie! The itty-bitty movie-web did its utmost bestest, but alas, no wucky videos to be spotted anywhere (´⊙ω⊙`) Please don't be angwy, wittle movie-web ish twying so hard. Can you find it in your heart to forgive? UwU 💖", "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.",
"homeButton": "Go home" "homeButton": "Go home",
"detailsButton": "Show details"
}, },
"items": { "items": {
"pending": "Checking for videos...", "pending": "Checking for videos...",
@ -89,16 +92,16 @@
} }
}, },
"playbackError": { "playbackError": {
"badge": "Not found", "badge": "Playback error",
"title": "Whoops, it broke!", "title": "Failed to play video!",
"text": "Oh, my apowogies, sweetie! The itty-bitty movie-web did its utmost bestest, but alas, no wucky videos to be spotted anywhere (´⊙ω⊙`) Please don't be angwy, wittle movie-web ish twying so hard. Can you find it in your heart to forgive? UwU 💖", "text": "There was an error trying to play the media. Please try again.",
"homeButton": "Go home", "homeButton": "Go home",
"errors": { "errors": {
"errorAborted": "The fetching of the associated resource was aborted by the user's request.", "errorAborted": "The fetching of the media was aborted by the user's request.",
"errorNetwork": "Some kind of network error occurred which prevented the media from being successfully fetched, despite having previously been available.", "errorNetwork": "Some kind of network error occurred which prevented the media from being successfully fetched, despite having previously been available.",
"errorDecode": "Despite having previously been determined to be usable, an error occurred while trying to decode the media resource, resulting in an error.", "errorDecode": "Despite having previously been determined to be usable, an error occurred while trying to decode the media resource, resulting in an error.",
"errorNotSupported": "The associated resource or media provider object has been found to be unsuitable.", "errorNotSupported": "The media or media provider object is not supported.",
"errorGenericMedia": "Unknown media error occured" "errorGenericMedia": "Unknown media error occured."
} }
}, },
"metadata": { "metadata": {
@ -110,8 +113,8 @@
}, },
"failed": { "failed": {
"badge": "Failed", "badge": "Failed",
"title": "Failed to load meta data", "title": "Failed to load metadata",
"text": "Oh, my apowogies, sweetie! The itty-bitty movie-web did its utmost bestest, but alas, no wucky videos to be spotted anywhere (´⊙ω⊙`) Please don't be angwy, wittle movie-web ish twying so hard. Can you find it in your heart to forgive? UwU 💖", "text": "Could not load the media's metadata from TMDB. Please check whether TMDB is down or blocked on your internet connection.",
"homeButton": "Go home" "homeButton": "Go home"
} }
}, },
@ -132,8 +135,8 @@
"menus": { "menus": {
"settings": { "settings": {
"videoSection": "Video settings", "videoSection": "Video settings",
"experienceSection": "Viewing Experience", "experienceSection": "Viewing experience",
"enableCaptions": "Enable Captions", "enableCaptions": "Enable captions",
"captionItem": "Caption settings", "captionItem": "Caption settings",
"sourceItem": "Video sources", "sourceItem": "Video sources",
"playbackItem": "Playback settings", "playbackItem": "Playback settings",
@ -157,11 +160,11 @@
}, },
"noEmbeds": { "noEmbeds": {
"title": "No embeds found", "title": "No embeds found",
"text": "We were unable to find any embeds for this source, please try another." "text": "We were unable to find any embeds, please try a different source."
}, },
"failed": { "failed": {
"title": "Failed to scrape", "title": "Failed to scrape",
"text": "We were unable to find any videos for this source. Don't come bitchin' to us about it, just try another source." "text": "There was an error while trying to find any videos, please try a different source."
} }
}, },
"captions": { "captions": {
@ -171,28 +174,28 @@
"fixCapitals": "Fix capitalization", "fixCapitals": "Fix capitalization",
"delay": "Caption delay" "delay": "Caption delay"
}, },
"customChoice": "Upload captions", "customChoice": "Select caption from file",
"offChoice": "Off", "offChoice": "Off",
"unknownLanguage": "Unknown" "unknownLanguage": "Unknown"
}, },
"downloads": { "downloads": {
"title": "Download", "title": "Download",
"disclaimer": "Downloads are taken directly from the provider. movie-web does not have control over how the downloads are provided.", "disclaimer": "Downloads are taken directly from the provider. movie-web does not have control over how the downloads are provided.",
"hlsExplanation": "Insert explanation for why you can't download HLS here", "hlsExplanation": "This media is a HLS stream which cannot be downloaded on movie-web.",
"downloadVideo": "Download video", "downloadVideo": "Download video",
"downloadCaption": "Download current caption", "downloadCaption": "Download current caption",
"onPc": { "onPc": {
"1": "On PC, right click the video and select <bold>Save video as</bold>", "1": "On PC, click the download button then, on the new page, right click the video and select <bold>Save video as</bold>",
"title": "Downloading on PC", "title": "Downloading on PC",
"shortTitle": "Download / PC" "shortTitle": "Download / PC"
}, },
"onAndroid": { "onAndroid": {
"1": "To download on Android, <bold>tap and hold</bold> on the video, then select <bold>save</bold>.", "1": "To download on Android, click the download button then, on the new page, <bold>tap and hold</bold> on the video, then select <bold>save</bold>.",
"title": "Downloading on Android", "title": "Downloading on Android",
"shortTitle": "Download / Android" "shortTitle": "Download / Android"
}, },
"onIos": { "onIos": {
"1": "To download on iOS, click <bold><ios_share /></bold>, then <bold>Save to Files <ios_files /></bold>. All that's left to do now is to pick a nice and cozy folder for your video!", "1": "To download on iOS, click the download button then, on the new page, click <bold><ios_share /></bold>, then <bold>Save to Files <ios_files /></bold>.",
"title": "Downloading on iOS", "title": "Downloading on iOS",
"shortTitle": "Download / iOS" "shortTitle": "Download / iOS"
} }
@ -241,7 +244,7 @@
"loadingApp": "Loading application", "loadingApp": "Loading application",
"loadingUserError": { "loadingUserError": {
"text": "Failed to load your profile", "text": "Failed to load your profile",
"textWithReset": "Failed to load your profile from your custom server, want to reset back to default?", "textWithReset": "Failed to load your profile from your custom server, want to reset back to the default server?",
"reset": "Reset custom server" "reset": "Reset custom server"
}, },
"migration": { "migration": {
@ -250,7 +253,7 @@
}, },
"dmca": { "dmca": {
"title": "DMCA", "title": "DMCA",
"text": "In an effort to address the copyright concerns associated with the website known as \"movie-web,\" the DMCA, or Digital Millennium Copyright Act, has been initiated to safeguard the intellectual property rights of content creators by reporting infringements on this platform, thereby adhering to legal protocols for takedown requests, which, like, you know, it's all about, like, maintaining the integrity of intellectual property, and, um, making sure, like, creators get their fair share, but then, it's, like, this intricate dance of digital legalities, where you have to, uh, like, navigate this labyrinth of code and bytes and, uh, send, you know, these, like, electronic documents that, um, point out the, uh, alleged infringement, and it's, like, this whole, like, teeter-totter of legality, where you're, like, balancing, um, the rights of the, you know, creators and the, um, operation of this, like, online, uh, entity, and, like, the DMCA, it's, like, this, um, powerful tool, but, uh, it's also, like, this, um, complex puzzle, where, you know, you're, like, seeking justice in the digital wilderness, and, uh, striving for harmony amidst the chaos of the internet, and, um, yeah, that's, like, the whole, like, DMCA-ing thing with movie-web, you know?" "text": "Welcome to movie-web's DMCA contact page! We respect intellectual property rights and want to address any copyright concerns swiftly. If you believe your copyrighted work has been improperly used on our platform, please send a detailed DMCA notice to the email below. Please include a description of the copyrighted material, your contact details, and a statement of good faith belief. We're committed to resolving these matters promptly and appreciate your cooperation in keeping movie-web a place that respects creativity and copyrights."
} }
}, },
"navigation": { "navigation": {
@ -267,8 +270,7 @@
}, },
"actions": { "actions": {
"copy": "Copy", "copy": "Copy",
"copied": "Copied", "copied": "Copied"
"next": "Next"
}, },
"settings": { "settings": {
"unsaved": "You have unsaved changes", "unsaved": "You have unsaved changes",
@ -280,7 +282,7 @@
"hostname": "Hostname", "hostname": "Hostname",
"backendUrl": "Backend URL", "backendUrl": "Backend URL",
"userId": "User ID", "userId": "User ID",
"notLoggedIn": "Not logged in", "notLoggedIn": "You are not logged in",
"appVersion": "App version", "appVersion": "App version",
"backendVersion": "Backend version", "backendVersion": "Backend version",
"unknownVersion": "Unknown", "unknownVersion": "Unknown",
@ -303,13 +305,13 @@
"title": "Account", "title": "Account",
"register": { "register": {
"title": "Sync to the cloud", "title": "Sync to the cloud",
"text": "Instantly share your watch progress between devices and keep them synced.", "text": "Share your watch progress between devices and keep them synced.",
"cta": "Get started" "cta": "Get started"
}, },
"profile": { "profile": {
"title": "Edit profile picture", "title": "Edit profile picture",
"firstColor": "First color", "firstColor": "Profile color one",
"secondColor": "Second color", "secondColor": "Profile color two",
"userIcon": "User icon", "userIcon": "User icon",
"finish": "Finish editing" "finish": "Finish editing"
}, },
@ -322,7 +324,7 @@
"accountDetails": { "accountDetails": {
"editProfile": "Edit", "editProfile": "Edit",
"deviceNameLabel": "Device name", "deviceNameLabel": "Device name",
"deviceNamePlaceholder": "Fremen tablet", "deviceNamePlaceholder": "Personal phone",
"logoutButton": "Log out" "logoutButton": "Log out"
}, },
"actions": { "actions": {
@ -361,7 +363,7 @@
}, },
"server": { "server": {
"label": "Custom server", "label": "Custom server",
"description": "To make the application function, all traffic is routed through proxies. Enable this if you want to bring your own workers.", "description": "If you would like to connect to a custom backend to store your data, enable this and provide the URL.",
"urlLabel": "Custom server URL" "urlLabel": "Custom server URL"
} }
} }

View File

@ -78,7 +78,7 @@ export function AccountCreatePart(props: AccountCreatePartProps) {
</div> </div>
<LargeCardButtons> <LargeCardButtons>
<Button theme="purple" onClick={() => nextStep()}> <Button theme="purple" onClick={() => nextStep()}>
{t("actions.next")} {t("auth.register.information.next")}
</Button> </Button>
</LargeCardButtons> </LargeCardButtons>
</LargeCard> </LargeCard>

View File

@ -31,7 +31,7 @@ export function PassphraseGeneratePart(props: PassphraseGeneratePartProps) {
<LargeCardButtons> <LargeCardButtons>
<Button theme="purple" onClick={() => props.onNext?.(mnemonic)}> <Button theme="purple" onClick={() => props.onNext?.(mnemonic)}>
{t("actions.next")} {t("auth.generate.next")}
</Button> </Button>
</LargeCardButtons> </LargeCardButtons>
</LargeCard> </LargeCard>

View File

@ -4,7 +4,6 @@ import { useTranslation } from "react-i18next";
import { ButtonPlain } from "@/components/buttons/Button"; import { ButtonPlain } from "@/components/buttons/Button";
import { Icons } from "@/components/Icon"; import { Icons } from "@/components/Icon";
import { IconPill } from "@/components/layout/IconPill"; import { IconPill } from "@/components/layout/IconPill";
import { DisplayError } from "@/components/player/display/displayInterface";
import { Title } from "@/components/text/Title"; import { Title } from "@/components/text/Title";
import { Paragraph } from "@/components/utils/Text"; import { Paragraph } from "@/components/utils/Text";
import { ErrorContainer, ErrorLayout } from "@/pages/layouts/ErrorLayout"; import { ErrorContainer, ErrorLayout } from "@/pages/layouts/ErrorLayout";
@ -19,11 +18,7 @@ export function ErrorPart(props: { error: any; errorInfo: any }) {
.split("\n") .split("\n")
.slice(0, maxLineCount); .slice(0, maxLineCount);
const error: DisplayError = { const error = `${props.error.toString()}\n${errorLines.join("\n")}`;
errorName: "What does this do",
type: "global",
message: errorLines.join("\n"),
};
return ( return (
<div className="relative flex flex-1 flex-col min-h-screen"> <div className="relative flex flex-1 flex-col min-h-screen">

View File

@ -61,19 +61,17 @@ export function ScrapeErrorPart(props: ScrapeErrorPartProps) {
padding="md:px-12 p-2.5" padding="md:px-12 p-2.5"
className="mt-6" className="mt-6"
> >
{t("errors.showError")} {t("player.scraping.notFound.detailsButton")}
</Button> </Button>
</div> </div>
</ErrorContainer> </ErrorContainer>
<ErrorContainer maxWidth="max-w-[45rem]"> {error ? (
{error ? ( <ErrorCardInModal
<ErrorCardInModal id={modal.id}
id={modal.id} onClose={() => modal.hide()}
onClose={() => modal.hide()} error={error}
error={error} />
/> ) : null}
) : null}
</ErrorContainer>
</ErrorLayout> </ErrorLayout>
); );
} }