Migliora sessioni admin e rende robusto il logout web.
Aggiunge filtri/colonne (società, orari) e dettaglio leggibile; evita 422 CSRF su logout e non cancella le cover slate custom in sync prod. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -251,9 +251,28 @@ de:
|
||||
sessions:
|
||||
index:
|
||||
title: Stream-Sitzungen
|
||||
lead: Suche nach Verein, Team, Gegner oder Ort. Filtere nach Status, Plattform, Knoten und Zeitraum.
|
||||
results: "%{shown} von %{total} angezeigt"
|
||||
none: Keine Sitzungen für diese Filter.
|
||||
filters:
|
||||
q: Suche
|
||||
q_placeholder: Verein, Team, Gegner…
|
||||
status: Status
|
||||
platform: Plattform
|
||||
club: Verein
|
||||
node: Ingest-Knoten
|
||||
from: Von
|
||||
to: Bis
|
||||
any: Alle
|
||||
apply: Filtern
|
||||
reset: Zurücksetzen
|
||||
table:
|
||||
club: Verein
|
||||
match: Spiel
|
||||
status: Status
|
||||
started: Start
|
||||
ended: Ende
|
||||
duration: Dauer
|
||||
ingest: Ingest
|
||||
disconnects: Verbindungsabbrüche
|
||||
link: Link
|
||||
@@ -261,19 +280,59 @@ de:
|
||||
regia: Regie
|
||||
show:
|
||||
title: "Sitzung %{id}"
|
||||
heading: Sitzungsdetails
|
||||
back: "← Zurück zu Sitzungen"
|
||||
club_label: "Verein:"
|
||||
summary_title: Übersicht
|
||||
timing_title: Zeiten
|
||||
ingest_title: Ingest & Medien
|
||||
devices_title: Geräte
|
||||
events_title: Ereignisse
|
||||
events_none: Keine Ereignisse erfasst.
|
||||
status_label: "Status:"
|
||||
stop_button: Sitzung beenden
|
||||
stop_confirm: "Übertragung beenden? Der RTMP-Pfad wird entfernt und der Status wechselt zu beendet."
|
||||
match_label: "Spiel: %{team} gegen %{opponent}"
|
||||
youtube_studio: YouTube Studio
|
||||
broadcast: Übertragung
|
||||
open_replays: Vereins-Replays öffnen
|
||||
audio_muted: Audio stumm
|
||||
audio_on: Audio an
|
||||
ingest_node: "Ingest-Knoten:"
|
||||
rtmp_ingest: "RTMP-Ingest:"
|
||||
events_title: Ereignisse
|
||||
fields:
|
||||
id: ID
|
||||
club: Verein
|
||||
team: Team
|
||||
opponent: Gegner
|
||||
operator: Operator
|
||||
platform: Plattform
|
||||
privacy: Privacy
|
||||
quality: Qualität
|
||||
min_quality: Min. Qualität
|
||||
audio: Audio
|
||||
created: Erstellt
|
||||
started: Start
|
||||
ended: Ende
|
||||
duration: Dauer
|
||||
disconnects: Abbrüche
|
||||
scheduled: Geplantes Spiel
|
||||
location: Ort
|
||||
node: Knoten
|
||||
rtmp: RTMP-Ingest
|
||||
hls: HLS
|
||||
recording: Replay
|
||||
devices:
|
||||
role: Rolle
|
||||
network: Netz
|
||||
battery: Akku
|
||||
bitrate: Bitrate
|
||||
fps: FPS
|
||||
last_seen: Zuletzt gesehen
|
||||
table:
|
||||
type: Typ
|
||||
when: Wann
|
||||
meta: Meta
|
||||
meta: Details
|
||||
links:
|
||||
watch_title: Live-Link
|
||||
none: Kein Video-Link für diese Sitzung verfügbar.
|
||||
|
||||
@@ -251,9 +251,28 @@ en:
|
||||
sessions:
|
||||
index:
|
||||
title: Stream sessions
|
||||
lead: Search by club, team, opponent or venue. Filter by status, platform, node and date range.
|
||||
results: "Showing %{shown} of %{total}"
|
||||
none: No sessions match these filters.
|
||||
filters:
|
||||
q: Search
|
||||
q_placeholder: Club, team, opponent…
|
||||
status: Status
|
||||
platform: Platform
|
||||
club: Club
|
||||
node: Ingest node
|
||||
from: From
|
||||
to: To
|
||||
any: All
|
||||
apply: Filter
|
||||
reset: Reset
|
||||
table:
|
||||
club: Club
|
||||
match: Match
|
||||
status: Status
|
||||
started: Started
|
||||
ended: Ended
|
||||
duration: Duration
|
||||
ingest: Ingest
|
||||
disconnects: Disconnects
|
||||
link: Link
|
||||
@@ -261,19 +280,59 @@ en:
|
||||
regia: Control
|
||||
show:
|
||||
title: "Session %{id}"
|
||||
heading: Session details
|
||||
back: "← Back to sessions"
|
||||
club_label: "Club:"
|
||||
summary_title: Summary
|
||||
timing_title: Timing
|
||||
ingest_title: Ingest & media
|
||||
devices_title: Devices
|
||||
events_title: Events
|
||||
events_none: No events recorded.
|
||||
status_label: "Status:"
|
||||
stop_button: End session
|
||||
stop_confirm: "End the broadcast? The RTMP path will be removed and the status will move to ended."
|
||||
match_label: "Match: %{team} vs %{opponent}"
|
||||
youtube_studio: YouTube Studio
|
||||
broadcast: Broadcast
|
||||
open_replays: Open club replays
|
||||
audio_muted: Audio muted
|
||||
audio_on: Audio on
|
||||
ingest_node: "Ingest node:"
|
||||
rtmp_ingest: "RTMP ingest:"
|
||||
events_title: Events
|
||||
fields:
|
||||
id: ID
|
||||
club: Club
|
||||
team: Team
|
||||
opponent: Opponent
|
||||
operator: Operator
|
||||
platform: Platform
|
||||
privacy: Privacy
|
||||
quality: Quality
|
||||
min_quality: Min quality
|
||||
audio: Audio
|
||||
created: Created
|
||||
started: Started
|
||||
ended: Ended
|
||||
duration: Duration
|
||||
disconnects: Disconnects
|
||||
scheduled: Scheduled match
|
||||
location: Venue
|
||||
node: Node
|
||||
rtmp: RTMP ingest
|
||||
hls: HLS
|
||||
recording: Replay
|
||||
devices:
|
||||
role: Role
|
||||
network: Network
|
||||
battery: Battery
|
||||
bitrate: Bitrate
|
||||
fps: FPS
|
||||
last_seen: Last seen
|
||||
table:
|
||||
type: Type
|
||||
when: When
|
||||
meta: Meta
|
||||
meta: Details
|
||||
links:
|
||||
watch_title: Live link
|
||||
none: No video link available for this session.
|
||||
|
||||
@@ -251,9 +251,28 @@ es:
|
||||
sessions:
|
||||
index:
|
||||
title: Sesiones de emisión
|
||||
lead: Busca por club, equipo, rival o sede. Filtra por estado, plataforma, nodo y periodo.
|
||||
results: "Mostrando %{shown} de %{total}"
|
||||
none: Ninguna sesión coincide con estos filtros.
|
||||
filters:
|
||||
q: Buscar
|
||||
q_placeholder: Club, equipo, rival…
|
||||
status: Estado
|
||||
platform: Plataforma
|
||||
club: Club
|
||||
node: Nodo ingest
|
||||
from: Desde
|
||||
to: Hasta
|
||||
any: Todos
|
||||
apply: Filtrar
|
||||
reset: Restablecer
|
||||
table:
|
||||
club: Club
|
||||
match: Partido
|
||||
status: Estado
|
||||
started: Inicio
|
||||
ended: Fin
|
||||
duration: Duración
|
||||
ingest: Ingest
|
||||
disconnects: Desconexiones
|
||||
link: Enlace
|
||||
@@ -261,19 +280,59 @@ es:
|
||||
regia: Regie
|
||||
show:
|
||||
title: "Sesión %{id}"
|
||||
heading: Detalle de sesión
|
||||
back: "← Volver a sesiones"
|
||||
club_label: "Club:"
|
||||
summary_title: Resumen
|
||||
timing_title: Tiempos
|
||||
ingest_title: Ingest y medios
|
||||
devices_title: Dispositivos
|
||||
events_title: Eventos
|
||||
events_none: No hay eventos registrados.
|
||||
status_label: "Estado:"
|
||||
stop_button: Finalizar sesión
|
||||
stop_confirm: "¿Finalizar la emisión? La ruta RTMP se eliminará y el estado pasará a finalizada."
|
||||
match_label: "Partido: %{team} vs %{opponent}"
|
||||
youtube_studio: YouTube Studio
|
||||
broadcast: Emisión
|
||||
open_replays: Abrir replays del club
|
||||
audio_muted: Audio silenciado
|
||||
audio_on: Audio activo
|
||||
ingest_node: "Nodo ingest:"
|
||||
rtmp_ingest: "Ingesta RTMP:"
|
||||
events_title: Eventos
|
||||
fields:
|
||||
id: ID
|
||||
club: Club
|
||||
team: Equipo
|
||||
opponent: Rival
|
||||
operator: Operador
|
||||
platform: Plataforma
|
||||
privacy: Privacidad
|
||||
quality: Calidad
|
||||
min_quality: Calidad mínima
|
||||
audio: Audio
|
||||
created: Creada
|
||||
started: Inicio
|
||||
ended: Fin
|
||||
duration: Duración
|
||||
disconnects: Desconexiones
|
||||
scheduled: Partido programado
|
||||
location: Sede
|
||||
node: Nodo
|
||||
rtmp: Ingesta RTMP
|
||||
hls: HLS
|
||||
recording: Replay
|
||||
devices:
|
||||
role: Rol
|
||||
network: Red
|
||||
battery: Batería
|
||||
bitrate: Bitrate
|
||||
fps: FPS
|
||||
last_seen: Último contacto
|
||||
table:
|
||||
type: Tipo
|
||||
when: Cuándo
|
||||
meta: Meta
|
||||
meta: Detalles
|
||||
links:
|
||||
watch_title: Enlace en directo
|
||||
none: No hay ningún enlace de vídeo disponible para esta sesión.
|
||||
|
||||
@@ -251,9 +251,28 @@ fr:
|
||||
sessions:
|
||||
index:
|
||||
title: Sessions de diffusion
|
||||
lead: Recherchez par club, équipe, adversaire ou lieu. Filtrez par statut, plateforme, nœud et période.
|
||||
results: "%{shown} sur %{total} affichées"
|
||||
none: Aucune session ne correspond à ces filtres.
|
||||
filters:
|
||||
q: Recherche
|
||||
q_placeholder: Club, équipe, adversaire…
|
||||
status: Statut
|
||||
platform: Plateforme
|
||||
club: Club
|
||||
node: Nœud ingest
|
||||
from: Du
|
||||
to: Au
|
||||
any: Tous
|
||||
apply: Filtrer
|
||||
reset: Réinitialiser
|
||||
table:
|
||||
club: Club
|
||||
match: Match
|
||||
status: Statut
|
||||
started: Début
|
||||
ended: Fin
|
||||
duration: Durée
|
||||
ingest: Ingest
|
||||
disconnects: Déconnexions
|
||||
link: Lien
|
||||
@@ -261,19 +280,59 @@ fr:
|
||||
regia: Régie
|
||||
show:
|
||||
title: "Session %{id}"
|
||||
heading: Détail de la session
|
||||
back: "← Retour aux sessions"
|
||||
club_label: "Club :"
|
||||
summary_title: Résumé
|
||||
timing_title: Horaires
|
||||
ingest_title: Ingest et médias
|
||||
devices_title: Appareils
|
||||
events_title: Événements
|
||||
events_none: Aucun événement enregistré.
|
||||
status_label: "Statut :"
|
||||
stop_button: Terminer la session
|
||||
stop_confirm: "Terminer la diffusion ? Le chemin RTMP sera supprimé et le statut passera à terminé."
|
||||
match_label: "Match : %{team} contre %{opponent}"
|
||||
youtube_studio: YouTube Studio
|
||||
broadcast: Diffusion
|
||||
open_replays: Ouvrir les replays du club
|
||||
audio_muted: Audio coupé
|
||||
audio_on: Audio actif
|
||||
ingest_node: "Nœud ingest :"
|
||||
rtmp_ingest: "Ingestion RTMP :"
|
||||
events_title: Événements
|
||||
fields:
|
||||
id: ID
|
||||
club: Club
|
||||
team: Équipe
|
||||
opponent: Adversaire
|
||||
operator: Opérateur
|
||||
platform: Plateforme
|
||||
privacy: Confidentialité
|
||||
quality: Qualité
|
||||
min_quality: Qualité mini
|
||||
audio: Audio
|
||||
created: Créée
|
||||
started: Début
|
||||
ended: Fin
|
||||
duration: Durée
|
||||
disconnects: Déconnexions
|
||||
scheduled: Match programmé
|
||||
location: Lieu
|
||||
node: Nœud
|
||||
rtmp: Ingestion RTMP
|
||||
hls: HLS
|
||||
recording: Replay
|
||||
devices:
|
||||
role: Rôle
|
||||
network: Réseau
|
||||
battery: Batterie
|
||||
bitrate: Débit
|
||||
fps: FPS
|
||||
last_seen: Dernier contact
|
||||
table:
|
||||
type: Type
|
||||
when: Quand
|
||||
meta: Méta
|
||||
meta: Détails
|
||||
links:
|
||||
watch_title: Lien en direct
|
||||
none: Aucun lien vidéo disponible pour cette session.
|
||||
|
||||
@@ -272,9 +272,28 @@ it:
|
||||
sessions:
|
||||
index:
|
||||
title: Sessioni di streaming
|
||||
lead: Cerca per società, squadra, avversario o sede. Filtra per stato, piattaforma, nodo e periodo.
|
||||
results: "Mostrate %{shown} di %{total}"
|
||||
none: Nessuna sessione trovata con questi filtri.
|
||||
filters:
|
||||
q: Cerca
|
||||
q_placeholder: Società, squadra, avversario…
|
||||
status: Stato
|
||||
platform: Piattaforma
|
||||
club: Società
|
||||
node: Nodo ingest
|
||||
from: Da
|
||||
to: A
|
||||
any: Tutti
|
||||
apply: Filtra
|
||||
reset: Azzera
|
||||
table:
|
||||
club: Società
|
||||
match: Match
|
||||
status: Stato
|
||||
started: Inizio
|
||||
ended: Fine
|
||||
duration: Durata
|
||||
ingest: Ingest
|
||||
disconnects: Disconnessioni
|
||||
link: Link
|
||||
@@ -282,19 +301,59 @@ it:
|
||||
regia: Regia
|
||||
show:
|
||||
title: "Sessione %{id}"
|
||||
heading: Dettaglio sessione
|
||||
back: "← Torna alle sessioni"
|
||||
club_label: "Società:"
|
||||
summary_title: Riepilogo
|
||||
timing_title: Tempi
|
||||
ingest_title: Ingest e media
|
||||
devices_title: Dispositivi
|
||||
events_title: Eventi
|
||||
events_none: Nessun evento registrato.
|
||||
status_label: "Stato:"
|
||||
stop_button: Termina sessione
|
||||
stop_confirm: "Terminare la trasmissione? Il path RTMP verrà rimosso e lo stato passerà a ended."
|
||||
match_label: "Match: %{team} vs %{opponent}"
|
||||
youtube_studio: YouTube Studio
|
||||
broadcast: Broadcast
|
||||
open_replays: Apri replay società
|
||||
audio_muted: Audio muto
|
||||
audio_on: Audio attivo
|
||||
ingest_node: "Nodo ingest:"
|
||||
rtmp_ingest: "RTMP ingest:"
|
||||
events_title: Eventi
|
||||
fields:
|
||||
id: ID
|
||||
club: Società
|
||||
team: Squadra
|
||||
opponent: Avversario
|
||||
operator: Operatore
|
||||
platform: Piattaforma
|
||||
privacy: Privacy
|
||||
quality: Qualità
|
||||
min_quality: Qualità minima
|
||||
audio: Audio
|
||||
created: Creata
|
||||
started: Inizio
|
||||
ended: Fine
|
||||
duration: Durata
|
||||
disconnects: Disconnessioni
|
||||
scheduled: Partita programmata
|
||||
location: Sede
|
||||
node: Nodo
|
||||
rtmp: RTMP ingest
|
||||
hls: HLS
|
||||
recording: Replay
|
||||
devices:
|
||||
role: Ruolo
|
||||
network: Rete
|
||||
battery: Batteria
|
||||
bitrate: Bitrate
|
||||
fps: FPS
|
||||
last_seen: Ultimo contatto
|
||||
table:
|
||||
type: Tipo
|
||||
when: Quando
|
||||
meta: Meta
|
||||
meta: Dettagli
|
||||
links:
|
||||
watch_title: Link diretta
|
||||
none: Nessun link video disponibile per questa sessione.
|
||||
|
||||
Reference in New Issue
Block a user