mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 01:56:16 -08:00
fix(playback): clarify external player launch feedback (#1388)
This commit is contained in:
1 parent
8442747c37
commit
d73acd6bfc
101 files changed
+8819
-850
No files matched your search
@@ -2,9 +2,7 @@ import { ExternalPlayerSession } from '@iptvnator/shared/interfaces';
|
||||
import { ExternalPlaybackService } from './external-playback.service';
|
||||
|
||||
describe('ExternalPlaybackService', () => {
|
||||
let listener:
|
||||
| ((session: ExternalPlayerSession) => void)
|
||||
| undefined;
|
||||
let listener: ((session: ExternalPlayerSession) => void) | undefined;
|
||||
let closeExternalPlayerSession: jest.Mock;
|
||||
let service: ExternalPlaybackService;
|
||||
|
||||
@@ -94,7 +92,9 @@ describe('ExternalPlaybackService', () => {
|
||||
contentType: 'vod',
|
||||
})
|
||||
).toBeNull();
|
||||
expect(service.visibleSession()).toBeNull();
|
||||
expect(service.visibleSession()).toEqual(
|
||||
expect.objectContaining({ status: 'error' })
|
||||
);
|
||||
});
|
||||
|
||||
it('delegates close requests for closable sessions', async () => {
|
||||
@@ -133,18 +133,48 @@ describe('ExternalPlaybackService', () => {
|
||||
expect(closeExternalPlayerSession).toHaveBeenCalledWith('session-2');
|
||||
});
|
||||
|
||||
it('hides terminal sessions from the dock', () => {
|
||||
it('hides closed sessions but keeps errors visible until dismissed', () => {
|
||||
listener?.(createSession({ status: 'closed', canClose: false }));
|
||||
expect(service.visibleSession()).toBeNull();
|
||||
|
||||
listener?.(
|
||||
createSession({
|
||||
id: 'session-3',
|
||||
status: 'error',
|
||||
error: 'Launch failed',
|
||||
canClose: false,
|
||||
})
|
||||
);
|
||||
const failed = createSession({
|
||||
id: 'session-3',
|
||||
status: 'error',
|
||||
error: 'Launch failed',
|
||||
canClose: false,
|
||||
});
|
||||
listener?.(createSession({ id: failed.id }));
|
||||
listener?.(failed);
|
||||
|
||||
expect(service.visibleSession()).toEqual(failed);
|
||||
|
||||
service.dismissActiveSession();
|
||||
expect(service.visibleSession()).toBeNull();
|
||||
});
|
||||
|
||||
it('adopts an exactly correlated restored session after replacement teardown fails', () => {
|
||||
const previous = createSession({
|
||||
id: 'session-previous',
|
||||
status: 'opened',
|
||||
title: 'Previous stream',
|
||||
});
|
||||
const replacement = createSession({
|
||||
id: 'session-replacement',
|
||||
title: 'Replacement stream',
|
||||
});
|
||||
listener?.(previous);
|
||||
listener?.(replacement);
|
||||
|
||||
listener?.({
|
||||
...previous,
|
||||
restoredFromSessionId: replacement.id,
|
||||
updatedAt: '2026-03-07T10:00:20.000Z',
|
||||
});
|
||||
|
||||
expect(service.activeSession()).toMatchObject({
|
||||
id: previous.id,
|
||||
status: 'opened',
|
||||
});
|
||||
expect(service.visibleSession()?.id).toBe(previous.id);
|
||||
});
|
||||
});
|
||||
@@ -1,5 +1,8 @@
|
||||
import { computed, Injectable, signal } from '@angular/core';
|
||||
import { ExternalPlayerSession, PlayerContentInfo } from '@iptvnator/shared/interfaces';
|
||||
import {
|
||||
ExternalPlayerSession,
|
||||
PlayerContentInfo,
|
||||
} from '@iptvnator/shared/interfaces';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
@@ -10,11 +13,7 @@ export class ExternalPlaybackService {
|
||||
|
||||
readonly visibleSession = computed(() => {
|
||||
const session = this.activeSession();
|
||||
if (
|
||||
!session ||
|
||||
session.status === 'closed' ||
|
||||
session.status === 'error'
|
||||
) {
|
||||
if (!session || session.status === 'closed') {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -60,9 +59,8 @@ export class ExternalPlaybackService {
|
||||
this.dismissedSessionId.set(session.id);
|
||||
|
||||
try {
|
||||
const updatedSession = await window.electron.closeExternalPlayerSession(
|
||||
session.id
|
||||
);
|
||||
const updatedSession =
|
||||
await window.electron.closeExternalPlayerSession(session.id);
|
||||
if (updatedSession) {
|
||||
this.handleSessionUpdate(updatedSession);
|
||||
return;
|
||||
@@ -105,12 +103,19 @@ export class ExternalPlaybackService {
|
||||
|
||||
private handleSessionUpdate(session: ExternalPlayerSession): void {
|
||||
const current = this.activeSession();
|
||||
const restoresCurrentReplacement =
|
||||
current?.id === session.restoredFromSessionId;
|
||||
|
||||
if (!current || current.id === session.id || session.status === 'launching') {
|
||||
if (
|
||||
!current ||
|
||||
current.id === session.id ||
|
||||
session.status === 'launching' ||
|
||||
restoresCurrentReplacement
|
||||
) {
|
||||
this.activeSession.set(session);
|
||||
}
|
||||
|
||||
if (session.status === 'launching') {
|
||||
if (session.status === 'launching' || restoresCurrentReplacement) {
|
||||
this.dismissedSessionId.set(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "هذا الهدف متوافق مع بيانات التشفير المتاحة",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "المفضلة",
|
||||
"RAIL_DOWNLOADS": "التنزيلات",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "جميع القنوات",
|
||||
"RAIL_GROUPS": "المجموعات",
|
||||
"RAIL_CONTEXT_ACTIONS": "إجراءات القسم",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "هاد الهدف متوافق مع بيانات التشفير المتوفرة",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "المفضلة",
|
||||
"RAIL_DOWNLOADS": "التحميلات",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "جميع القنوات",
|
||||
"RAIL_GROUPS": "المجموعات",
|
||||
"RAIL_CONTEXT_ACTIONS": "إجراءات القسم",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Гэтая мэта сумяшчальная з даступнымі данымі шыфравання",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Выбранае",
|
||||
"RAIL_DOWNLOADS": "Спампаванні",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Усе каналы",
|
||||
"RAIL_GROUPS": "Групы",
|
||||
"RAIL_CONTEXT_ACTIONS": "Дзеянні раздзела",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Dieses Ziel ist mit den verfügbaren Verschlüsselungsdaten kompatibel",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "MPV wird geöffnet…",
|
||||
"ACTION_OPENING_VLC": "VLC wird geöffnet…",
|
||||
"ACTION_REOPEN_MPV": "MPV erneut öffnen",
|
||||
"ACTION_REOPEN_VLC": "VLC erneut öffnen",
|
||||
"ACTION_RETRY_MPV": "MPV erneut versuchen",
|
||||
"ACTION_RETRY_VLC": "VLC erneut versuchen",
|
||||
"EXTERNAL_OPENING": "Player wird geöffnet…",
|
||||
"EXTERNAL_STARTED": "Player gestartet",
|
||||
"EXTERNAL_PLAYING": "Wiedergabe läuft",
|
||||
"EXTERNAL_FAILED": "Fehler im externen Player",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Favoriten",
|
||||
"RAIL_DOWNLOADS": "Downloads",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Ausblenden",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Player wird geöffnet…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player gestartet",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Wiedergabe läuft",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "Fehler im externen Player",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Geschlossen",
|
||||
"RAIL_ALL_CHANNELS": "Alle Sender",
|
||||
"RAIL_GROUPS": "Gruppen",
|
||||
"RAIL_CONTEXT_ACTIONS": "Bereichsaktionen",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Αυτός ο στόχος είναι συμβατός με τα διαθέσιμα δεδομένα κρυπτογράφησης",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Αγαπημένα",
|
||||
"RAIL_DOWNLOADS": "Λήψεις",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Όλα τα κανάλια",
|
||||
"RAIL_GROUPS": "Ομάδες",
|
||||
"RAIL_CONTEXT_ACTIONS": "Ενέργειες ενότητας",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "This target is compatible with the available encryption data",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy stream URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Favorites",
|
||||
"RAIL_DOWNLOADS": "Downloads",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "All channels",
|
||||
"RAIL_GROUPS": "Groups",
|
||||
"RAIL_CONTEXT_ACTIONS": "Section actions",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Este destino es compatible con los datos de cifrado disponibles",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Favoritos",
|
||||
"RAIL_DOWNLOADS": "Descargas",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Todos los canales",
|
||||
"RAIL_GROUPS": "Grupos",
|
||||
"RAIL_CONTEXT_ACTIONS": "Acciones de la sección",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Cette cible est compatible avec les données de chiffrement disponibles",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Favoris",
|
||||
"RAIL_DOWNLOADS": "Téléchargements",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Toutes les chaînes",
|
||||
"RAIL_GROUPS": "Groupes",
|
||||
"RAIL_CONTEXT_ACTIONS": "Actions de section",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Ez a cél kompatibilis az elérhető titkosítási adatokkal",
|
||||
"ACTION_OPEN_MPV": "Megnyitás MPV-ben",
|
||||
"ACTION_OPEN_VLC": "Megnyitás VLC-ben",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "beállított lejátszó",
|
||||
"ACTION_OPEN_VLC_HINT": "beállított lejátszó",
|
||||
"ACTION_COPY_URL": "Adatfolyam URL-címének másolása",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Kedvencek",
|
||||
"RAIL_DOWNLOADS": "Letöltések",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Lejátszó bezárása",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Összes csatorna",
|
||||
"RAIL_GROUPS": "Csoportok",
|
||||
"RAIL_CONTEXT_ACTIONS": "A szakasz műveletei",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Questa destinazione è compatibile con i dati di crittografia disponibili",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Preferiti",
|
||||
"RAIL_DOWNLOADS": "Download",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Tutti i canali",
|
||||
"RAIL_GROUPS": "Gruppi",
|
||||
"RAIL_CONTEXT_ACTIONS": "Azioni di sezione",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "この対象は利用可能な暗号化データに対応しています",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "お気に入り",
|
||||
"RAIL_DOWNLOADS": "ダウンロード",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "すべてのチャンネル",
|
||||
"RAIL_GROUPS": "グループ",
|
||||
"RAIL_CONTEXT_ACTIONS": "セクションのアクション",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "이 대상은 사용 가능한 암호화 데이터와 호환됩니다",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "즐겨찾기",
|
||||
"RAIL_DOWNLOADS": "다운로드",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "모든 채널",
|
||||
"RAIL_GROUPS": "그룹",
|
||||
"RAIL_CONTEXT_ACTIONS": "섹션 작업",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Dit doel is compatibel met de beschikbare versleutelingsgegevens",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Favorieten",
|
||||
"RAIL_DOWNLOADS": "Downloads",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Alle kanalen",
|
||||
"RAIL_GROUPS": "Groepen",
|
||||
"RAIL_CONTEXT_ACTIONS": "Sectieacties",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Ten cel jest zgodny z dostępnymi danymi szyfrowania",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Ulubione",
|
||||
"RAIL_DOWNLOADS": "Pobrane",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Wszystkie kanały",
|
||||
"RAIL_GROUPS": "Grupy",
|
||||
"RAIL_CONTEXT_ACTIONS": "Akcje sekcji",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Este destino é compatível com os dados de criptografia disponíveis",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Favoritos",
|
||||
"RAIL_DOWNLOADS": "Downloads",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Todos os canais",
|
||||
"RAIL_GROUPS": "Grupos",
|
||||
"RAIL_CONTEXT_ACTIONS": "Ações da seção",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Эта цель совместима с доступными данными шифрования",
|
||||
"ACTION_OPEN_MPV": "Открыть в MPV",
|
||||
"ACTION_OPEN_VLC": "Открыть в VLC",
|
||||
"ACTION_OPENING_MPV": "MPV открывается…",
|
||||
"ACTION_OPENING_VLC": "VLC открывается…",
|
||||
"ACTION_REOPEN_MPV": "Открыть MPV снова",
|
||||
"ACTION_REOPEN_VLC": "Открыть VLC снова",
|
||||
"ACTION_RETRY_MPV": "Повторить запуск MPV",
|
||||
"ACTION_RETRY_VLC": "Повторить запуск VLC",
|
||||
"EXTERNAL_OPENING": "Плеер открывается…",
|
||||
"EXTERNAL_STARTED": "Плеер запущен",
|
||||
"EXTERNAL_PLAYING": "Воспроизведение",
|
||||
"EXTERNAL_FAILED": "Ошибка внешнего плеера",
|
||||
"ACTION_OPEN_MPV_HINT": "настроенный плеер",
|
||||
"ACTION_OPEN_VLC_HINT": "настроенный плеер",
|
||||
"ACTION_COPY_URL": "Скопировать URL потока",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Избранное",
|
||||
"RAIL_DOWNLOADS": "Загрузки",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Скрыть",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Плеер открывается…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Плеер запущен",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Воспроизведение",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "Ошибка внешнего плеера",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Закрыт",
|
||||
"RAIL_ALL_CHANNELS": "Все каналы",
|
||||
"RAIL_GROUPS": "Группы",
|
||||
"RAIL_CONTEXT_ACTIONS": "Действия раздела",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "Bu hedef kullanılabilir şifreleme verileriyle uyumludur",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "Favoriler",
|
||||
"RAIL_DOWNLOADS": "İndirilenler",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "Tüm kanallar",
|
||||
"RAIL_GROUPS": "Gruplar",
|
||||
"RAIL_CONTEXT_ACTIONS": "Bölüm işlemleri",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "此目标与可用的加密数据兼容",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "收藏",
|
||||
"RAIL_DOWNLOADS": "下载",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "所有频道",
|
||||
"RAIL_GROUPS": "分组",
|
||||
"RAIL_CONTEXT_ACTIONS": "章节操作",
|
||||
|
||||
@@ -583,6 +583,16 @@
|
||||
"REASON_COMPATIBLE_DRM_PATH": "此目標與可用的加密資料相容",
|
||||
"ACTION_OPEN_MPV": "Open in MPV",
|
||||
"ACTION_OPEN_VLC": "Open in VLC",
|
||||
"ACTION_OPENING_MPV": "Opening MPV…",
|
||||
"ACTION_OPENING_VLC": "Opening VLC…",
|
||||
"ACTION_REOPEN_MPV": "Open MPV again",
|
||||
"ACTION_REOPEN_VLC": "Open VLC again",
|
||||
"ACTION_RETRY_MPV": "Try MPV again",
|
||||
"ACTION_RETRY_VLC": "Try VLC again",
|
||||
"EXTERNAL_OPENING": "Opening player…",
|
||||
"EXTERNAL_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYING": "Playing",
|
||||
"EXTERNAL_FAILED": "External player error",
|
||||
"ACTION_OPEN_MPV_HINT": "configured player",
|
||||
"ACTION_OPEN_VLC_HINT": "configured player",
|
||||
"ACTION_COPY_URL": "Copy URL",
|
||||
@@ -1298,6 +1308,12 @@
|
||||
"RAIL_FAVORITES": "我的最愛",
|
||||
"RAIL_DOWNLOADS": "下載",
|
||||
"EXTERNAL_PLAYBACK_CLOSE": "Close player",
|
||||
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
|
||||
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
|
||||
"EXTERNAL_PLAYBACK_STARTED": "Player started",
|
||||
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
|
||||
"EXTERNAL_PLAYBACK_FAILED": "External player error",
|
||||
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
|
||||
"RAIL_ALL_CHANNELS": "所有頻道",
|
||||
"RAIL_GROUPS": "群組",
|
||||
"RAIL_CONTEXT_ACTIONS": "區段操作",
|
||||
|
||||
Reference in new issue
Block a user