feat(stats): consolidate per-user sync status into the Stats page
The Settings > Sync tab moves into the Stats module: Stats is now a per-user page (Overview tab = sync status + your own API usage + manual actions) with the admin instance-wide quota dashboard + background-sync pause as an admin-only System tab. The Stats nav item is visible to all users (was admin-only); the Settings Sync tab is removed. Sync i18n strings move from settings.sync.* to stats.sync.* (EN/HU/DE).
This commit is contained in:
parent
dc70a978ed
commit
874520bd8a
10 changed files with 358 additions and 306 deletions
|
|
@ -3,7 +3,6 @@
|
|||
"tabs": {
|
||||
"appearance": "Darstellung",
|
||||
"notifications": "Benachrichtigungen",
|
||||
"sync": "Synchronisierung",
|
||||
"account": "Konto"
|
||||
},
|
||||
"save": {
|
||||
|
|
@ -42,43 +41,6 @@
|
|||
"testTitle": "Testbenachrichtigung",
|
||||
"testMessage": "So sieht eine Benachrichtigung aus."
|
||||
},
|
||||
"sync": {
|
||||
"myStatus": "Mein Synchronisierungsstatus",
|
||||
"channels": "Kanäle",
|
||||
"channelsHint": "Wie viele Kanäle du abonniert hast.",
|
||||
"recentSynced": "Neueste synchronisiert",
|
||||
"recentSyncedHint": "Kanäle, deren neueste Uploads (~letztes Jahr) bereits in der lokalen Datenbank sind und so in deinem Feed erscheinen.",
|
||||
"fullHistory": "Vollständiger Verlauf",
|
||||
"fullHistoryHint": "Kanäle, deren gesamter Katalog abgerufen wurde, von denen, für die du den vollständigen Verlauf angefordert hast (pro Kanal auf der Kanäle-Seite aktivierbar).",
|
||||
"fullHistoryEta": "Vollständiger Verlauf – Restzeit",
|
||||
"fullHistoryEtaHint": "Grobe Schätzung, um das Nachladen des vollständigen Verlaufs von {{count}} ausstehenden Kanal/Kanälen abzuschließen, basierend auf dem gemeinsamen Tageskontingent.",
|
||||
"myVideos": "Meine Videos",
|
||||
"myVideosHint": "Gesamtzahl der dir verfügbaren Videos über deine abonnierten Kanäle.",
|
||||
"quotaLeft": "Heute verbleibendes Kontingent",
|
||||
"quotaLeftHint": "Heute verbleibendes gemeinsames YouTube-API-Budget (wird um Mitternacht US-Pazifik zurückgesetzt). Das Nachladen ordnet sich diesem unter.",
|
||||
"loading": "Wird geladen…",
|
||||
"apiUsage": "Deine API-Nutzung",
|
||||
"today": "Heute",
|
||||
"todayHint": "YouTube-API-Einheiten, die deine eigenen Aktionen heute verbraucht haben (wird um Mitternacht US-Pazifik zurückgesetzt). Die Hintergrund-Synchronisierung zählt hier nicht.",
|
||||
"last7d": "Letzte 7 Tage",
|
||||
"last30d": "Letzte 30 Tage",
|
||||
"allTime": "Gesamt",
|
||||
"byAction": "Nach Aktion (30 Tage)",
|
||||
"noUsage": "Noch keine Nutzung.",
|
||||
"actions": "Aktionen",
|
||||
"syncSubscriptions": "Abos synchronisieren",
|
||||
"syncSubscriptionsHint": "Importiert deine YouTube-Abos erneut und holt neu gefolgte Kanäle hinzu.",
|
||||
"backfillEverything": "Alles nachladen",
|
||||
"backfillEverythingHint": "Fordert das Nachladen des vollständigen Katalogs für jeden Kanal an, den du abonniert hast. Ältere Videos und die vollständige Suche werden gefüllt, soweit das gemeinsame Tageskontingent es zulässt.",
|
||||
"synced": "{{count}} Abos synchronisiert",
|
||||
"syncFailed": "Synchronisierung fehlgeschlagen",
|
||||
"fullHistoryRequested": "Vollständiger Verlauf für {{count}} Kanäle angefordert",
|
||||
"fullHistoryFailed": "Vollständiger Verlauf konnte nicht angefordert werden",
|
||||
"admin": "Admin",
|
||||
"adminPauseHint": "Pausiert oder setzt die Hintergrund-Synchronisierung für die gesamte App fort (alle Nutzer).",
|
||||
"resumeBackgroundSync": "Hintergrund-Synchronisierung fortsetzen",
|
||||
"pauseBackgroundSync": "Hintergrund-Synchronisierung pausieren"
|
||||
},
|
||||
"account": {
|
||||
"title": "Konto",
|
||||
"youtubeAccess": "YouTube-Zugriff",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
{
|
||||
"tabs": {
|
||||
"overview": "Übersicht",
|
||||
"system": "System"
|
||||
},
|
||||
"title": "API-Kontingentnutzung",
|
||||
"rangeDays": "{{count}} T",
|
||||
"introBefore": "YouTube-Data-API-Einheiten, zugeordnet danach, wer die Nutzung ausgelöst hat. ",
|
||||
|
|
@ -9,5 +13,42 @@
|
|||
"dailyTotal": "Tagessumme ({{count}} T · {{units}} Einheiten)",
|
||||
"noUsageInRange": "Keine Nutzung in diesem Zeitraum.",
|
||||
"dailyTooltip": "{{day}}: {{units}} Einheiten",
|
||||
"system": "System (Hintergrund)"
|
||||
"system": "System (Hintergrund)",
|
||||
"sync": {
|
||||
"myStatus": "Mein Synchronisierungsstatus",
|
||||
"channels": "Kanäle",
|
||||
"channelsHint": "Wie viele Kanäle du abonniert hast.",
|
||||
"recentSynced": "Neueste synchronisiert",
|
||||
"recentSyncedHint": "Kanäle, deren neueste Uploads (~letztes Jahr) bereits in der lokalen Datenbank sind und so in deinem Feed erscheinen.",
|
||||
"fullHistory": "Vollständiger Verlauf",
|
||||
"fullHistoryHint": "Kanäle, deren gesamter Katalog abgerufen wurde, von denen, für die du den vollständigen Verlauf angefordert hast (pro Kanal auf der Kanäle-Seite aktivierbar).",
|
||||
"fullHistoryEta": "Vollständiger Verlauf – Restzeit",
|
||||
"fullHistoryEtaHint": "Grobe Schätzung, um das Nachladen des vollständigen Verlaufs von {{count}} ausstehenden Kanal/Kanälen abzuschließen, basierend auf dem gemeinsamen Tageskontingent.",
|
||||
"myVideos": "Meine Videos",
|
||||
"myVideosHint": "Gesamtzahl der dir verfügbaren Videos über deine abonnierten Kanäle.",
|
||||
"quotaLeft": "Heute verbleibendes Kontingent",
|
||||
"quotaLeftHint": "Heute verbleibendes gemeinsames YouTube-API-Budget (wird um Mitternacht US-Pazifik zurückgesetzt). Das Nachladen ordnet sich diesem unter.",
|
||||
"loading": "Wird geladen…",
|
||||
"apiUsage": "Deine API-Nutzung",
|
||||
"today": "Heute",
|
||||
"todayHint": "YouTube-API-Einheiten, die deine eigenen Aktionen heute verbraucht haben (wird um Mitternacht US-Pazifik zurückgesetzt). Die Hintergrund-Synchronisierung zählt hier nicht.",
|
||||
"last7d": "Letzte 7 Tage",
|
||||
"last30d": "Letzte 30 Tage",
|
||||
"allTime": "Gesamt",
|
||||
"byAction": "Nach Aktion (30 Tage)",
|
||||
"noUsage": "Noch keine Nutzung.",
|
||||
"actions": "Aktionen",
|
||||
"syncSubscriptions": "Abos synchronisieren",
|
||||
"syncSubscriptionsHint": "Importiert deine YouTube-Abos erneut und holt neu gefolgte Kanäle hinzu.",
|
||||
"backfillEverything": "Alles nachladen",
|
||||
"backfillEverythingHint": "Fordert das Nachladen des vollständigen Katalogs für jeden Kanal an, den du abonniert hast. Ältere Videos und die vollständige Suche werden gefüllt, soweit das gemeinsame Tageskontingent es zulässt.",
|
||||
"synced": "{{count}} Abos synchronisiert",
|
||||
"syncFailed": "Synchronisierung fehlgeschlagen",
|
||||
"fullHistoryRequested": "Vollständiger Verlauf für {{count}} Kanäle angefordert",
|
||||
"fullHistoryFailed": "Vollständiger Verlauf konnte nicht angefordert werden",
|
||||
"admin": "Admin",
|
||||
"adminPauseHint": "Pausiert oder setzt die Hintergrund-Synchronisierung für die gesamte App fort (alle Nutzer).",
|
||||
"resumeBackgroundSync": "Hintergrund-Synchronisierung fortsetzen",
|
||||
"pauseBackgroundSync": "Hintergrund-Synchronisierung pausieren"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
"tabs": {
|
||||
"appearance": "Appearance",
|
||||
"notifications": "Notifications",
|
||||
"sync": "Sync",
|
||||
"account": "Account"
|
||||
},
|
||||
"save": {
|
||||
|
|
@ -42,43 +41,6 @@
|
|||
"testTitle": "Test notification",
|
||||
"testMessage": "This is what a notification looks like."
|
||||
},
|
||||
"sync": {
|
||||
"myStatus": "My sync status",
|
||||
"channels": "Channels",
|
||||
"channelsHint": "How many channels you're subscribed to.",
|
||||
"recentSynced": "Recent synced",
|
||||
"recentSyncedHint": "Channels whose recent uploads (~last year) are already in the local database, so they show in your feed.",
|
||||
"fullHistory": "Full history",
|
||||
"fullHistoryHint": "Channels whose entire back-catalog has been fetched, out of the ones you've requested full history for (opt in per channel on the Channels page).",
|
||||
"fullHistoryEta": "Full history ETA",
|
||||
"fullHistoryEtaHint": "Rough estimate to finish full-history backfill of {{count}} pending channel(s), based on the shared daily quota.",
|
||||
"myVideos": "My videos",
|
||||
"myVideosHint": "Total videos available to you across your subscribed channels.",
|
||||
"quotaLeft": "Quota left today",
|
||||
"quotaLeftHint": "Shared YouTube API budget remaining today (resets midnight US Pacific). Backfill yields to it.",
|
||||
"loading": "Loading…",
|
||||
"apiUsage": "Your API usage",
|
||||
"today": "Today",
|
||||
"todayHint": "YouTube API units your own actions used today (resets midnight US Pacific). Background sync isn't counted here.",
|
||||
"last7d": "Last 7 days",
|
||||
"last30d": "Last 30 days",
|
||||
"allTime": "All time",
|
||||
"byAction": "By action (30d)",
|
||||
"noUsage": "No usage yet.",
|
||||
"actions": "Actions",
|
||||
"syncSubscriptions": "Sync subscriptions",
|
||||
"syncSubscriptionsHint": "Re-import your YouTube subscriptions and pull in any newly-followed channels.",
|
||||
"backfillEverything": "Backfill everything",
|
||||
"backfillEverythingHint": "Request full back-catalog backfill for every channel you're subscribed to. Older videos + complete search fill in as the shared daily quota allows.",
|
||||
"synced": "Synced {{count}} subscriptions",
|
||||
"syncFailed": "Sync failed",
|
||||
"fullHistoryRequested": "Full history requested for {{count}} channels",
|
||||
"fullHistoryFailed": "Couldn't request full history",
|
||||
"admin": "Admin",
|
||||
"adminPauseHint": "Pause or resume the background sync for the whole app (all users).",
|
||||
"resumeBackgroundSync": "Resume background sync",
|
||||
"pauseBackgroundSync": "Pause background sync"
|
||||
},
|
||||
"account": {
|
||||
"title": "Account",
|
||||
"youtubeAccess": "YouTube access",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
{
|
||||
"tabs": {
|
||||
"overview": "Overview",
|
||||
"system": "System"
|
||||
},
|
||||
"title": "API quota usage",
|
||||
"rangeDays": "{{count}}d",
|
||||
"introBefore": "YouTube Data API units attributed by who triggered the spend. ",
|
||||
|
|
@ -9,5 +13,42 @@
|
|||
"dailyTotal": "Daily total ({{count}}d · {{units}} units)",
|
||||
"noUsageInRange": "No usage in this range.",
|
||||
"dailyTooltip": "{{day}}: {{units}} units",
|
||||
"system": "System (background)"
|
||||
"system": "System (background)",
|
||||
"sync": {
|
||||
"myStatus": "My sync status",
|
||||
"channels": "Channels",
|
||||
"channelsHint": "How many channels you're subscribed to.",
|
||||
"recentSynced": "Recent synced",
|
||||
"recentSyncedHint": "Channels whose recent uploads (~last year) are already in the local database, so they show in your feed.",
|
||||
"fullHistory": "Full history",
|
||||
"fullHistoryHint": "Channels whose entire back-catalog has been fetched, out of the ones you've requested full history for (opt in per channel on the Channels page).",
|
||||
"fullHistoryEta": "Full history ETA",
|
||||
"fullHistoryEtaHint": "Rough estimate to finish full-history backfill of {{count}} pending channel(s), based on the shared daily quota.",
|
||||
"myVideos": "My videos",
|
||||
"myVideosHint": "Total videos available to you across your subscribed channels.",
|
||||
"quotaLeft": "Quota left today",
|
||||
"quotaLeftHint": "Shared YouTube API budget remaining today (resets midnight US Pacific). Backfill yields to it.",
|
||||
"loading": "Loading…",
|
||||
"apiUsage": "Your API usage",
|
||||
"today": "Today",
|
||||
"todayHint": "YouTube API units your own actions used today (resets midnight US Pacific). Background sync isn't counted here.",
|
||||
"last7d": "Last 7 days",
|
||||
"last30d": "Last 30 days",
|
||||
"allTime": "All time",
|
||||
"byAction": "By action (30d)",
|
||||
"noUsage": "No usage yet.",
|
||||
"actions": "Actions",
|
||||
"syncSubscriptions": "Sync subscriptions",
|
||||
"syncSubscriptionsHint": "Re-import your YouTube subscriptions and pull in any newly-followed channels.",
|
||||
"backfillEverything": "Backfill everything",
|
||||
"backfillEverythingHint": "Request full back-catalog backfill for every channel you're subscribed to. Older videos + complete search fill in as the shared daily quota allows.",
|
||||
"synced": "Synced {{count}} subscriptions",
|
||||
"syncFailed": "Sync failed",
|
||||
"fullHistoryRequested": "Full history requested for {{count}} channels",
|
||||
"fullHistoryFailed": "Couldn't request full history",
|
||||
"admin": "Admin",
|
||||
"adminPauseHint": "Pause or resume the background sync for the whole app (all users).",
|
||||
"resumeBackgroundSync": "Resume background sync",
|
||||
"pauseBackgroundSync": "Pause background sync"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
"tabs": {
|
||||
"appearance": "Megjelenés",
|
||||
"notifications": "Értesítések",
|
||||
"sync": "Szinkronizálás",
|
||||
"account": "Fiók"
|
||||
},
|
||||
"save": {
|
||||
|
|
@ -42,43 +41,6 @@
|
|||
"testTitle": "Tesztértesítés",
|
||||
"testMessage": "Így néz ki egy értesítés."
|
||||
},
|
||||
"sync": {
|
||||
"myStatus": "Saját szinkronizálási állapot",
|
||||
"channels": "Csatornák",
|
||||
"channelsHint": "Hány csatornára vagy feliratkozva.",
|
||||
"recentSynced": "Friss szinkronizálva",
|
||||
"recentSyncedHint": "Azok a csatornák, amelyek legutóbbi feltöltései (~az elmúlt év) már a helyi adatbázisban vannak, így megjelennek a hírfolyamodban.",
|
||||
"fullHistory": "Teljes előzmény",
|
||||
"fullHistoryHint": "Azok a csatornák, amelyek teljes archívuma letöltődött, azokból, amelyekhez teljes előzményt kértél (csatornánként választható a Csatornák oldalon).",
|
||||
"fullHistoryEta": "Teljes előzmény becsült ideje",
|
||||
"fullHistoryEtaHint": "Hozzávetőleges becslés {{count}} függőben lévő csatorna teljes előzményének letöltéséhez, a megosztott napi kvóta alapján.",
|
||||
"myVideos": "Saját videók",
|
||||
"myVideosHint": "A számodra elérhető videók összesen a feliratkozott csatornáidon.",
|
||||
"quotaLeft": "Ma maradt kvóta",
|
||||
"quotaLeftHint": "A ma fennmaradó megosztott YouTube API-keret (éjfélkor nullázódik, USA csendes-óceáni idő szerint). A letöltés ennek alárendelődik.",
|
||||
"loading": "Betöltés…",
|
||||
"apiUsage": "Saját API-használat",
|
||||
"today": "Ma",
|
||||
"todayHint": "A saját műveleteid által ma használt YouTube API-egységek (éjfélkor nullázódik, USA csendes-óceáni idő szerint). A háttér-szinkronizálás itt nem számít bele.",
|
||||
"last7d": "Utolsó 7 nap",
|
||||
"last30d": "Utolsó 30 nap",
|
||||
"allTime": "Mindenkori",
|
||||
"byAction": "Művelet szerint (30 nap)",
|
||||
"noUsage": "Még nincs használat.",
|
||||
"actions": "Műveletek",
|
||||
"syncSubscriptions": "Feliratkozások szinkronizálása",
|
||||
"syncSubscriptionsHint": "Újraimportálja a YouTube-feliratkozásaidat és behúzza az újonnan követett csatornákat.",
|
||||
"backfillEverything": "Minden letöltése",
|
||||
"backfillEverythingHint": "Teljes archívum letöltésének kérése minden csatornához, amelyre fel vagy iratkozva. A régebbi videók és a teljes keresés annyira töltődnek fel, amennyit a megosztott napi kvóta enged.",
|
||||
"synced": "{{count}} feliratkozás szinkronizálva",
|
||||
"syncFailed": "A szinkronizálás sikertelen",
|
||||
"fullHistoryRequested": "Teljes előzmény kérve {{count}} csatornához",
|
||||
"fullHistoryFailed": "Nem sikerült teljes előzményt kérni",
|
||||
"admin": "Adminisztrátor",
|
||||
"adminPauseHint": "A háttér-szinkronizálás szüneteltetése vagy folytatása az egész alkalmazásra (minden felhasználóra).",
|
||||
"resumeBackgroundSync": "Háttér-szinkronizálás folytatása",
|
||||
"pauseBackgroundSync": "Háttér-szinkronizálás szüneteltetése"
|
||||
},
|
||||
"account": {
|
||||
"title": "Fiók",
|
||||
"youtubeAccess": "YouTube-hozzáférés",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
{
|
||||
"tabs": {
|
||||
"overview": "Áttekintés",
|
||||
"system": "Rendszer"
|
||||
},
|
||||
"title": "API-kvóta használat",
|
||||
"rangeDays": "{{count}} nap",
|
||||
"introBefore": "A YouTube Data API-egységek aszerint, hogy ki váltotta ki a felhasználást. A ",
|
||||
|
|
@ -9,5 +13,42 @@
|
|||
"dailyTotal": "Napi összesen ({{count}} nap · {{units}} egység)",
|
||||
"noUsageInRange": "Nincs használat ebben az időszakban.",
|
||||
"dailyTooltip": "{{day}}: {{units}} egység",
|
||||
"system": "Rendszer (háttér)"
|
||||
"system": "Rendszer (háttér)",
|
||||
"sync": {
|
||||
"myStatus": "Saját szinkronizálási állapot",
|
||||
"channels": "Csatornák",
|
||||
"channelsHint": "Hány csatornára vagy feliratkozva.",
|
||||
"recentSynced": "Friss szinkronizálva",
|
||||
"recentSyncedHint": "Azok a csatornák, amelyek legutóbbi feltöltései (~az elmúlt év) már a helyi adatbázisban vannak, így megjelennek a hírfolyamodban.",
|
||||
"fullHistory": "Teljes előzmény",
|
||||
"fullHistoryHint": "Azok a csatornák, amelyek teljes archívuma letöltődött, azokból, amelyekhez teljes előzményt kértél (csatornánként választható a Csatornák oldalon).",
|
||||
"fullHistoryEta": "Teljes előzmény becsült ideje",
|
||||
"fullHistoryEtaHint": "Hozzávetőleges becslés {{count}} függőben lévő csatorna teljes előzményének letöltéséhez, a megosztott napi kvóta alapján.",
|
||||
"myVideos": "Saját videók",
|
||||
"myVideosHint": "A számodra elérhető videók összesen a feliratkozott csatornáidon.",
|
||||
"quotaLeft": "Ma maradt kvóta",
|
||||
"quotaLeftHint": "A ma fennmaradó megosztott YouTube API-keret (éjfélkor nullázódik, USA csendes-óceáni idő szerint). A letöltés ennek alárendelődik.",
|
||||
"loading": "Betöltés…",
|
||||
"apiUsage": "Saját API-használat",
|
||||
"today": "Ma",
|
||||
"todayHint": "A saját műveleteid által ma használt YouTube API-egységek (éjfélkor nullázódik, USA csendes-óceáni idő szerint). A háttér-szinkronizálás itt nem számít bele.",
|
||||
"last7d": "Utolsó 7 nap",
|
||||
"last30d": "Utolsó 30 nap",
|
||||
"allTime": "Mindenkori",
|
||||
"byAction": "Művelet szerint (30 nap)",
|
||||
"noUsage": "Még nincs használat.",
|
||||
"actions": "Műveletek",
|
||||
"syncSubscriptions": "Feliratkozások szinkronizálása",
|
||||
"syncSubscriptionsHint": "Újraimportálja a YouTube-feliratkozásaidat és behúzza az újonnan követett csatornákat.",
|
||||
"backfillEverything": "Minden letöltése",
|
||||
"backfillEverythingHint": "Teljes archívum letöltésének kérése minden csatornához, amelyre fel vagy iratkozva. A régebbi videók és a teljes keresés annyira töltődnek fel, amennyit a megosztott napi kvóta enged.",
|
||||
"synced": "{{count}} feliratkozás szinkronizálva",
|
||||
"syncFailed": "A szinkronizálás sikertelen",
|
||||
"fullHistoryRequested": "Teljes előzmény kérve {{count}} csatornához",
|
||||
"fullHistoryFailed": "Nem sikerült teljes előzményt kérni",
|
||||
"admin": "Adminisztrátor",
|
||||
"adminPauseHint": "A háttér-szinkronizálás szüneteltetése vagy folytatása az egész alkalmazásra (minden felhasználóra).",
|
||||
"resumeBackgroundSync": "Háttér-szinkronizálás folytatása",
|
||||
"pauseBackgroundSync": "Háttér-szinkronizálás szüneteltetése"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue