Replace the full-width top bar with a fixed floating header of glass pills: a fixed-position ModuleName (accent dot + label + prev/next cyclic module stepper) and a shared SearchBar. The header's left edge is anchored as if the nav rail and filter sidebar were both open, so it never shifts on collapse or module change; the right edge leaves a 10% margin. - ModuleName label width is measured live from the reachable modules' titles in the current language, recomputing on a language or account change. - Module names come from a shared moduleLabelKey (the same short labels as the nav rail); NavSidebar and the header now read from one source (lib/modules.ts). - The arrows step cyclically through moduleOrder(me) — dynamic, no hard-coded targets, wrapping at both ends. - Search is hoisted into the SearchBar for feed (YouTube search), plex, channels (including the Discovery tab) and playlists (new); Go button, Enter triggers it. - The Playlists left rail now reaches the top; header clearance via --hdr-h.
59 lines
2 KiB
JSON
59 lines
2 KiB
JSON
{
|
|
"feed": "Feed",
|
|
"searchPlaceholder": "Search your subscriptions…",
|
|
"clearSearch": "Clear search",
|
|
"searchYoutube": "Search YouTube",
|
|
"searchYoutubeTip": "Search live on YouTube for this term (uses shared API quota). You can also press Enter.",
|
|
"go": "Go",
|
|
"goTip": "Search (or press Enter)",
|
|
"prevModule": "Previous module",
|
|
"nextModule": "Next module",
|
|
"channelManager": "Channel manager",
|
|
"usageStats": "Usage & stats",
|
|
"scheduler": "Scheduler",
|
|
"configuration": "Configuration",
|
|
"users": "Users",
|
|
"scope": {
|
|
"label": "Feed source",
|
|
"my": "Mine",
|
|
"myTip": "Only videos from your own subscriptions",
|
|
"all": "Library",
|
|
"allTip": "Every video in the shared catalog"
|
|
},
|
|
"account": {
|
|
"admin": "Admin",
|
|
"feed": "Feed",
|
|
"channels": "Channels",
|
|
"playlists": "Playlists",
|
|
"stats": "Stats",
|
|
"scheduler": "Scheduler",
|
|
"config": "Configuration",
|
|
"users": "Users",
|
|
"settings": "Settings",
|
|
"about": "About",
|
|
"signOut": "Sign out",
|
|
"addAccount": "Add another account",
|
|
"switchTo": "Switch to {{name}}",
|
|
"audit": "Audit log"
|
|
},
|
|
"sync": {
|
|
"yours": "yours",
|
|
"total": "total",
|
|
"countTooltip": "Videos from your subscriptions, against the total in the shared catalog that every user's subscriptions have pulled in.",
|
|
"paused": "paused",
|
|
"syncing": "{{count}} syncing",
|
|
"backfillingHistory": "fetching history",
|
|
"working": "syncing…",
|
|
"recentQueued": "{{count}} queued",
|
|
"allSynced": "all synced",
|
|
"withoutFullHistory": "{{count}} without full history",
|
|
"fullHistoryTooltip": "Some of your channels only have their recent uploads. Click to open the channel manager (filtered to these) and request their full back-catalog.",
|
|
"pause": "Pause background sync",
|
|
"resume": "Resume background sync"
|
|
},
|
|
"banner": {
|
|
"updated": "Updated to v{{version}} — see what's changed.",
|
|
"releaseNotes": "Release notes",
|
|
"dismiss": "Dismiss"
|
|
}
|
|
}
|