Files
siftlode/frontend/src/i18n/locales/en/settings.json
T
peter 98d0ca6eeb fix(i18n): every counted string is a plural pair, so one reads singular
"1 seasons", "Synced 1 subscriptions", "1 video(s) were skipped": 21 English
strings carried {{count}} in one plain key and read plural at one. Each is a
_one/_other pair now (Hungarian keeps one form for both), and so is every other
counted string, so the next wording change is a plural too. A contract test
holds the rule for every locale file.
2026-10-02 02:13:17 +02:00

259 lines
14 KiB
JSON

{
"title": "Settings",
"tabs": {
"appearance": "Appearance",
"notifications": "Notifications",
"account": "Account",
"diagnostics": "Diagnostics"
},
"plexSync": {
"title": "Plex watch sync",
"intro": "Sync your watched / in-progress status between Plex and Siftlode. Turning this on imports your existing Plex history now (Plex wins); ongoing two-way sync follows.",
"toggle": "Two-way sync with Plex",
"toggleHint": "Uses this server's Plex account. Turning it on imports your Plex watch history once.",
"importNow": "Import from Plex now",
"imported": "Imported from Plex: {{watched}} watched, {{in_progress}} in progress.",
"lastSync": "Last import: {{when}}",
"never": "Not imported yet",
"importing": "Importing your Plex watch history…"
},
"save": {
"saving": "Saving…",
"saved": "Settings saved",
"failed": "Couldn't save"
},
"appearance": {
"colorScheme": "Color scheme",
"display": "Display",
"darkMode": "Dark mode",
"backgroundImage": "Background image",
"backgroundImageHint": "Show a subtle per-scheme backdrop image behind the app so the glass surfaces have something to refract. Off = flat colour.",
"backgroundFade": "Image fade",
"performanceMode": "Performance mode",
"performanceModeHint": "Turns off the translucent glass blur and soft shadows for snappier rendering on slower machines.",
"showHints": "Show hints",
"showHintsHint": "These little hover explanations. Turn them off once you know your way around.",
"railLabels": "Labels in the side menu",
"railLabelsHint": "A short name under each icon in the left menu. The menu stays as narrow; it only grows taller.",
"startup": "Startup",
"startOnHome": "Start on Home",
"startOnHomeHint": "Every launch opens “What should I watch?”. Off = pick up on the module you left open.",
"textSize": "Text size"
},
"notifications": {
"title": "Notifications",
"sound": "Sound on notifications",
"soundHint": "Play a short tone when a notification needs your attention (e.g. errors, prompts).",
"autoDismiss": "Auto-dismiss toasts",
"autoDismissHint": "When off, pop-up toasts stay until you close them. When on, they fade after the set time; one with a button (Undo) stays at least 8 seconds.",
"dismissAfter": "Dismiss after",
"sendTest": "Send a test notification",
"testTitle": "Test notification",
"testMessage": "This is what a notification looks like."
},
"account": {
"title": "Account",
"lastLogin": "Last sign-in: {{time}}",
"lastLoginNone": "No sign-in recorded yet",
"youtubeAccess": "YouTube access",
"youtubeAccessIntro": "Sign-in only shares your name and email. YouTube access is granted separately, below — each is optional and revocable anytime in your Google Account.",
"readTitle": "Read subscriptions (your Feed)",
"readGrantedHint": "Granted. Siftlode reads the channels you follow to build your Feed. It never changes your YouTube account with this.",
"readEnableHint": "Read-only access to your subscriptions — required to build your Feed. Siftlode can't modify anything with it.",
"writeTitle": "Unsubscribe (write)",
"writeGrantedHint": "Granted. You can unsubscribe from channels on YouTube from inside Siftlode. It only writes when you ask it to.",
"writeEnableHint": "Lets Siftlode unsubscribe from channels on YouTube for you. Optional — skip it to stay read-only.",
"granted": "Granted",
"enable": "Enable",
"enableHint": "Redirects to Google to grant the permission. Google shows an “unverified app” notice — that's expected; click Advanced → Go to Siftlode.",
"walkMeThrough": "Walk me through setup",
"dangerZone": "Danger zone",
"deleteHint": "Permanently delete your account and all your data — subscriptions, tags, watch history, playlists and settings. This can't be undone.",
"deleteAccount": "Delete my account",
"deleteTitle": "Delete your account?",
"deleteConfirm": "This permanently erases your account and all your data (subscriptions, tags, watch/saved/hidden state, playlists, settings). It can't be undone.",
"deleteConfirmButton": "Delete everything",
"demoNotice": "This is the shared demo account. It has no YouTube connection — you can browse the whole shared Library, filter and sort it, build playlists and try things out, but nothing touches a real YouTube account.",
"signInMethods": "Sign-in methods",
"googleLink": {
"title": "Google account",
"connected": "Connected",
"connectedHint": "Your Google account is linked. You can sign in with Google and grant YouTube access below.",
"connectHint": "Link a Google account to sign in with Google and to enable YouTube access for your Feed.",
"connect": "Connect Google",
"linked": "Google account linked",
"conflict": "That Google account is already linked to a different Siftlode account",
"mismatch": "That's a different Google account than the one already linked here. Sign in with the linked one.",
"error": "Couldn't link the Google account. Please try again.",
"signedInAs": "Signed in with Google as"
},
"googleCancelled": "Google sign-in was cancelled",
"password": {
"title": "Password",
"setHint": "A password is set. You can sign in with your email and password.",
"unsetHint": "No password yet — set one to sign in with your email instead of (or as well as) Google.",
"set": "Set password",
"change": "Change password",
"current": "Current password",
"new": "New password (min. 10 characters)",
"save": "Save password",
"saving": "Saving…",
"saved": "Password updated for {{email}}",
"failed": "Couldn't update the password"
},
"sessions": {
"title": "Active sessions",
"hint": "Sign this account out everywhere else — handy if you left it signed in on a shared or lost device. You stay signed in here.",
"action": "Log out other sessions",
"confirmTitle": "Log out other sessions?",
"confirmBody": "This signs you out of every other browser and device. You'll stay signed in here.",
"done": "Signed out of all other sessions",
"failed": "Couldn't sign out other sessions. Please try again."
}
},
"downloadAuth": {
"title": "Download authentication",
"intro": "Some sites (e.g. a private Facebook group you belong to) only let logged-in members view a video. Paste your browser cookies for a site here and your downloads from it will use your login. Cookies are encrypted, kept private to your account, and only ever sent to the matching site.",
"configured": "Set · updated {{when}}",
"notSet": "Not set",
"set": "Set cookies…",
"update": "Update…",
"remove": "Delete",
"save": "Save",
"cancel": "Cancel",
"saving": "Saving…",
"placeholder": "Paste the contents of your cookies.txt (Netscape format) here",
"help": "Export a cookies.txt for this site with a browser extension, then paste it here. It's write-only — we never show it back.",
"saved": "Cookies saved",
"removed": "Cookies deleted",
"failed": "Couldn't save those cookies",
"removeConfirmTitle": "Delete cookies?",
"removeConfirmBody": "Downloads from this site will stop using your login.",
"removeConfirmAction": "Delete",
"loadError": "Couldn't load your download authentication settings"
},
"demo": {
"title": "Demo access",
"intro": "Emails here can enter the shared demo account straight from the login page — no Google sign-in. They just type the address into the field and are let in after a moment.",
"addPlaceholder": "Whitelist an email for demo…",
"add": "Add",
"added": "{{email}} added to the demo whitelist",
"addFailed": "Couldn't add that email",
"removeFailed": "Couldn't remove that email",
"remove": "Remove",
"removeHint": "Remove this email from the demo whitelist.",
"addedBy": "added by {{who}}",
"reset": "Reset demo state",
"resetHint": "Wipe the demo account's playlists, hidden/watched/saved videos and settings, then re-seed a few sample playlists.",
"resetTitle": "Reset demo state?",
"resetConfirm": "This clears everything the demo account has accumulated — playlists, hidden/watched/saved videos and settings — and re-seeds a few sample playlists. It can't be undone.",
"resetDone_one": "Demo reset — {{count}} sample playlist seeded",
"resetDone_other": "Demo reset — {{count}} sample playlists seeded",
"resetFailed": "Couldn't reset the demo account",
"removed": "Removed from the demo whitelist",
"removeTitle": "Remove demo access?",
"removeConfirm": "Remove {{email}} from the demo whitelist? They'll no longer be able to enter the demo account."
},
"invites": {
"title": "Access requests",
"noPending": "No pending requests.",
"addPlaceholder": "Add an email directly…",
"add": "Add",
"decided_one": "{{count}} decided",
"decided_other": "{{count}} decided",
"approved": "Approved {{email}} — they can sign in now",
"approveFailed": "Couldn't approve the request",
"denyFailed": "Couldn't deny the request",
"addedToWhitelist": "{{email}} added to the whitelist",
"inviteHint": "Send them an invitation. Adding an address never mails anyone — this does.",
"invitedAt": "Invited {{time}}. Sending again will mail them a second time.",
"inviteLabel": "Send an invitation to {{email}}",
"invited": "Invitation sent to {{email}}",
"inviteFailed": "Couldn't send that invitation",
"inviteTitle": "Send invitation?",
"inviteConfirm": "Email {{email}} to say their address is whitelisted and Siftlode is open for them.",
"inviteConfirmAgain": "You already invited {{email}} on {{time}}. Sending now writes to them a second time.",
"inviteSend": "Send",
"inviteLang": "Mail language",
"addFailed": "Couldn't add that email",
"requested": "requested {{time}}",
"approveHint": "Approve — whitelist this email and email them they're in.",
"approve": "Approve",
"denyHint": "Deny this request.",
"deny": "Deny",
"denied": "Request denied",
"denyTitle": "Deny access request?",
"denyConfirm": "Deny the access request from {{email}}?",
"delete": "Delete",
"deleteLabel": "Delete {{email}} from the whitelist",
"deleteHint": "Forget this address. A later request from it comes back as a new one.",
"deleteTitle": "Delete whitelist entry?",
"deleteConfirm": "Forget {{email}}? Siftlode drops the record, so anyone at that address would have to ask again.",
"deleteHasAccount": "Someone has registered on this address — manage it under Users & roles, where deleting the account removes this entry too.",
"deleted": "Whitelist entry deleted",
"deleteFailed": "Couldn't delete the entry",
"emailOff": "Email sending is not configured, so nobody gets a verification link and no request reaches you by email. Watch this list and your Notifications instead, and fix it under Configuration → Email / SMTP.",
"deletedStillAllowed": "Entry deleted, but this address is still allow-listed by the server's configuration, so it keeps access. Remove it from ALLOWED_EMAILS / ADMIN_EMAILS to change that.",
"deleteConfirmStillAllowed": "Forget {{email}}? Careful: this address is also allow-listed in the server's configuration (ALLOWED_EMAILS / ADMIN_EMAILS), so deleting this row will NOT take its access away — and an ADMIN_EMAILS address is made an admin again on its next Google sign-in.",
"status": {
"approved": "Approved",
"denied": "Denied"
}
},
"diagnostics": {
"title": "Logging level",
"level": "Level",
"levelHint": "At Basic, the log lives only in this browser tab — errors, warnings, page changes and requests — and nothing is sent to the server. Detailed and Full record more and send it to the server for 24 hours, only with your consent.",
"levels": {
"INFO": "Basic",
"DEBUG": "Detailed",
"TRACE": "Full"
},
"consent": {
"title": {
"DEBUG": "Turn on detailed logging for 24 hours",
"TRACE": "Turn on full logging for 24 hours"
},
"what": {
"DEBUG": "We record which buttons, filters and player controls you use, and the values in the address bar.",
"TRACE": "We record which buttons, filters and player controls you use, the values in the address bar, and the text you type into search."
},
"server_one": "The Siftlode server receives this too and keeps it for {{count}} day, so the problem can be tracked down.",
"server_other": "The Siftlode server receives this too and keeps it for {{count}} days, so the problem can be tracked down.",
"never": "Passwords, tokens, email addresses and the content of your messages are never included.",
"lapse": "After 24 hours it goes back to “Basic” by itself.",
"policy": "Privacy policy",
"cancel": "Cancel",
"confirm": "Turn on for 24 hours"
},
"status": "{{level}} logging · back to “Basic” in {{time}}",
"revert": "Back to “Basic” now",
"demo": "The demo account is shared by several people, so detailed logging can't be turned on here.",
"failed": "Couldn't change the logging level"
},
"myLog": {
"title": "My log",
"hint": "What this browser tab has recorded. It is gone when the page reloads.",
"search": "Search the events…",
"filterLabel": "Filter by level",
"filters": {
"all": "All",
"error": "Errors",
"warning": "Warnings",
"info": "Info",
"detail": "Detailed"
},
"count_one": "{{count}} event · newest first",
"count_other": "{{count}} events · newest first",
"capped_one": "showing the newest {{shown}} of {{count}}",
"capped_other": "showing the newest {{shown}} of {{count}}",
"copy": "Copy",
"copied_one": "Copied {{count}} event",
"copied_other": "Copied {{count}} events",
"copyFailed": "Couldn't copy to the clipboard",
"clear": "Clear",
"empty": "No event matches the filter.",
"emptyAll": "No events yet."
}
}