{
  "title": "Background scheduler",
  "loading": "Loading scheduler…",
  "running": "Running",
  "paused": "Paused",
  "notHere": "Not running in this instance",
  "notHereNote": "The scheduler runs on the server. This instance shows the shared queue and quota, but live job activity appears only where the scheduler runs.",
  "updating": "updating…",
  "pause": "Pause",
  "resume": "Resume",
  "pauseHint": "Pause or resume all background sync for the whole app (every user).",
  "toggleFailed": "Couldn't change the scheduler state",
  "jobsTitle": "Jobs",
  "queueTitle": "Work queued",
  "quotaTitle": "Shared API quota",
  "everyMin": "every {{count}} min",
  "runningNow": "Running now…",
  "lastRun": "Last run {{time}}",
  "neverRun": "Hasn't run yet this session",
  "active": "active",
  "nextRun": "next",
  "quotaUsed": "{{used}} / {{budget}} units used today",
  "quotaRemaining": "{{formatted}} left",
  "quotaNote": "Shared YouTube Data API budget; resets at midnight US Pacific. Backfill yields to leave headroom for interactive use.",
  "minutes": "min",
  "editInterval": "Click to change how often this runs",
  "intervalFailed": "Couldn't change the interval",
  "runNow": "Run now",
  "runAll": "Start all now",
  "runAllHint": "Run every job now, in addition to their schedules.",
  "runAllPausedHint": "Resume the scheduler to run jobs (they're skipped while paused).",
  "triggered": "Started {{job}}",
  "triggeredAll_one": "Started {{count}} job",
  "triggeredAll_other": "Started {{count}} jobs",
  "phase": {
    "recheck": "Re-checking flagged videos",
    "revalidate": "Re-validating videos",
    "enrich": "Enriching videos",
    "backfill_recent": "Backfilling recent uploads",
    "backfill_deep": "Backfilling full history",
    "probe": "Classifying Shorts",
    "rss_poll": "Checking for new uploads",
    "subscriptions": "Syncing subscriptions",
    "autotag": "Auto-tagging channels",
    "playlist_sync": "Syncing playlists",
    "working": "Working…"
  },
  "maintenance": {
    "title": "Maintenance",
    "batchLabel": "Videos re-checked per run",
    "batchHint": "How many least-recently-checked videos the maintenance job re-validates each run. Higher = faster full cycle but more API quota (1 unit per 50 videos).",
    "batchNote": "Default: {{default}}. ~233k videos ÷ this = days for a full re-check cycle."
  },
  "dot": {
    "running": "running now",
    "ok": "last run OK",
    "idle": "idle (not run yet this session)",
    "error": "last run failed",
    "skipped": "skipped (sync paused)"
  },
  "jobDesc": {
    "rss_poll": "Checks each channel's RSS feed for new uploads (free, no quota). If it stops, new videos only appear later when a backfill pass catches them, so your feed lags behind YouTube.",
    "enrich": "Fetches video details (duration, views, live/Shorts flags) and re-checks live videos until they end. If it stops, videos stay without a duration/stats and ended livestreams stay stuck as “live”.",
    "backfill": "Pulls in recent uploads, then the full back-catalogue for opted-in channels, within the shared quota. If it stops, older videos and full history don't fill in.",
    "autotag": "Detects each channel's language/topics and applies automatic tags. If it stops, new channels get no auto tags, so language/topic filters miss them.",
    "shorts": "Probes youtube.com/shorts to mark which videos are Shorts. If it stops, Shorts aren't separated from normal videos in the feed.",
    "subscriptions": "Re-imports every user's YouTube subscriptions. If it stops, channels subscribed to or dropped on YouTube aren't reflected here.",
    "playlist_sync": "Mirrors each user's YouTube playlists into the app. If it stops, changes to your YouTube playlists don't show up locally.",
    "maintenance": "Finds videos that can no longer be played (deleted, made private, abandoned premieres), hides them from the feed and removes them after a grace period; re-checks the least-recently-checked videos. If it stops, dead videos linger in the catalogue."
  },
  "jobs": {
    "rss_poll": "RSS poll (new uploads)",
    "enrich": "Enrichment + live refresh",
    "backfill": "Backfill (recent + full history)",
    "autotag": "Auto-tagging",
    "shorts": "Shorts classification",
    "subscriptions": "Subscription resync",
    "playlist_sync": "YouTube playlist sync",
    "maintenance": "Maintenance + validation",
    "demo_reset": "Demo account reset"
  },
  "queue": {
    "recentPending": "Channels to sync",
    "recentPendingHint": "Channels whose recent uploads haven't been fetched yet.",
    "deepPending": "Full-history pending",
    "deepPendingHint": "Channels opted into full-history backfill that aren't finished yet.",
    "enrichPending": "Videos to enrich",
    "enrichPendingHint": "Videos awaiting details (duration, stats, live/short classification).",
    "shortsPending": "Shorts to classify",
    "shortsPendingHint": "Enriched videos still awaiting the Shorts probe.",
    "liveRefresh": "Live to refresh",
    "liveRefreshHint": "Live/upcoming videos (and just-ended streams without a duration yet) re-checked until they settle."
  }
}
