{ "intro": "Operational settings stored in the database — these override the file/env defaults and take effect without a redeploy. Leave a field empty (or reset it) to fall back to the default.", "loading": "Loading configuration…", "groups": { "access": "Access", "email": "Email / SMTP", "youtube": "YouTube API", "quota": "Quota", "backfill": "Backfill", "shorts": "Shorts probe", "batch": "Batch sizes" }, "fields": { "smtp_host": { "label": "SMTP host", "hint": "e.g. smtp.gmail.com" }, "smtp_port": { "label": "SMTP port", "hint": "Usually 587 (STARTTLS)." }, "smtp_user": { "label": "SMTP username", "hint": "The sending account / login." }, "smtp_from": { "label": "From address", "hint": "e.g. Siftlode . Defaults to the username." }, "smtp_password": { "label": "SMTP password", "hint": "App password. Stored encrypted; write-only — it's never shown back." }, "quota_daily_budget": { "label": "Daily quota budget", "hint": "Total YouTube Data API units to spend per day (free tier is 10,000). Default 9000 leaves headroom." }, "backfill_quota_reserve": { "label": "Backfill quota reserve", "hint": "Units kept in reserve so scheduled backfill never starves interactive syncs / enrichment." }, "backfill_recent_max_videos": { "label": "Recent backfill — max videos", "hint": "Newest videos fetched per channel on the first pass." }, "backfill_recent_max_days": { "label": "Recent backfill — max age (days)", "hint": "How far back the first pass reaches per channel." }, "shorts_probe_max_seconds": { "label": "Shorts probe — max duration (s)", "hint": "Only videos at or below this length are probed as possible Shorts." }, "shorts_probe_batch": { "label": "Shorts probe — batch size", "hint": "How many videos to classify per run." }, "enrich_batch_size": { "label": "Enrichment batch size", "hint": "videos.list ids per call (YouTube caps this at 50)." }, "autotag_title_sample": { "label": "Auto-tag title sample", "hint": "Recent video titles sampled per channel for language detection." }, "youtube_api_key": { "label": "YouTube API key", "hint": "Optional. Used for public reads (channels/videos) so shared backfill doesn't depend on a user's OAuth. Stored encrypted; write-only." }, "allow_registration": { "label": "Allow registration", "hint": "When on, anyone can submit an email+password registration. They still need to verify their email and be approved by an admin before they can sign in." } }, "save": "Save", "saving": "Saving…", "saved": "Saved", "saveFailed": "Couldn't save", "unsaved": "Unsaved changes", "discard": "Discard", "willReset": "will reset to default on save", "reset": "Reset", "resetHint": "Remove this override and fall back to the file/env default.", "resetDone": "Reset to default", "usingDefault": "using default", "overridden": "overridden in DB", "secretSet": "•••••••• stored", "secretEnv": "using env value", "secretUnset": "not set", "secretsDisabled": "Set TOKEN_ENCRYPTION_KEY to store secrets in the database.", "testEmail": "Send test email", "testEmailHint": "Send a test email to your own address using the settings above, to confirm they work.", "testSent": "Test email sent to {{to}}", "testFailed": "Test email failed — check the settings" }