siftlode/frontend/src/i18n/locales/en/welcome.json
npeter83 c0ec1e9431 improvement(welcome): refresh landing copy + real npeter83 sample screenshots
Tighten the hero + feature cards to punchy one-liners and surface current
capabilities: swap the standalone channel-manager card for live YouTube
search (folding tagging into the readable card). Regenerate the three
preview images (feed, channels, playlists) from a rich real account instead
of the sparse demo, so the landing shows what a full instance looks like.
EN/HU/DE.
2026-07-01 12:01:42 +02:00

75 lines
3.6 KiB
JSON

{
"hero": {
"title": "Your YouTube subscriptions, the way a feed should work.",
"subtitle": "Every upload from the channels you follow in one clean, filterable feed — no algorithm deciding what you see, and no Shorts or livestream noise unless you want it.",
"trust": "Self-hosted and private. Sign in with email, or continue with Google."
},
"preview": {
"feed": "The feed — filter by channel, language, topic, length and date.",
"channels": "Channel manager",
"playlists": "Playlists"
},
"features": {
"heading": "Why Siftlode",
"readable": {
"title": "Your subscriptions, actually readable",
"body": "Sort and filter by channel, tag, language, topic, length or date, and save your setups as views. You decide what surfaces, not an algorithm."
},
"neverMiss": {
"title": "Never miss an upload",
"body": "Every video from every channel lands in one feed; Shorts and livestreams stay tucked away by default."
},
"search": {
"title": "Search all of YouTube",
"body": "Search YouTube right from your feed — results play, save and add to playlists like any other video."
},
"playlists": {
"title": "Playlists that sync both ways",
"body": "Build playlists locally and keep them in two-way sync with YouTube."
},
"player": {
"title": "Watch in-app, resume anywhere",
"body": "An in-app player picks up each video exactly where you left off — no recommendation rabbit-hole."
},
"private": {
"title": "Self-hosted and private",
"body": "Run it yourself, multi-user, in English, Hungarian and German. Your data stays yours."
}
},
"auth": {
"signinTitle": "Sign in",
"createTitle": "Create your account",
"forgotTitle": "Reset your password",
"resetTitle": "Set a new password",
"email": "Email",
"password": "Password",
"newPassword": "New password (min {{min}} characters)",
"invalidEmail": "Enter a valid email address.",
"weakPassword": "Password must be at least {{min}} characters.",
"genericError": "Something went wrong. Please try again.",
"working": "Please wait…",
"signinButton": "Sign in",
"createButton": "Create account",
"forgotButton": "Send reset link",
"resetButton": "Set password",
"createLink": "Create an account",
"forgotLink": "Forgot password?",
"backToSignin": "Back to sign in",
"or": "or",
"google": "Continue with Google",
"tryDemo": "Try the demo",
"demoHint": "Enter an email that's been enabled for the demo account.",
"demoEmail": "Demo email",
"demoEnter": "Enter",
"demoDenied": "That email isn't enabled for the demo. Ask the admin to add it.",
"registerDone": "Almost there — check your email for a verification link. After you confirm it, an admin approves your account before you can sign in.",
"forgotDone": "If that email has an account, we've sent a reset link. Check your inbox.",
"resetDone": "Your password has been set — you can sign in now.",
"verifyOk": "Email confirmed. Once an admin approves your account, you can sign in.",
"verifyInvalid": "That verification link is invalid or has expired.",
"accessRequested": "Thanks — we recorded your request. An admin will review it.",
"accessDenied": "That account isn't approved for this instance yet — register below or ask the admin for access.",
"suspended": "This account has been suspended and can't sign in. If you think this is a mistake, contact the operator (check your email for details).",
"deleted": "Your account and all its data were permanently deleted. We've emailed you a confirmation."
}
}