@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Næste undertekstspor",
|
||||
"chapterNext": "Næste kapitel",
|
||||
"chapterPrevious": "Forrige kapitel",
|
||||
"episodeNext": "Næste afsnit",
|
||||
"episodePrevious": "Forrige afsnit",
|
||||
"speedIncrease": "Øg hastighed",
|
||||
"speedDecrease": "Sænk hastighed",
|
||||
"speedReset": "Nulstil hastighed",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Nächste Untertitelspur",
|
||||
"chapterNext": "Nächstes Kapitel",
|
||||
"chapterPrevious": "Vorheriges Kapitel",
|
||||
"episodeNext": "Nächste Episode",
|
||||
"episodePrevious": "Vorherige Episode",
|
||||
"speedIncrease": "Geschwindigkeit erhöhen",
|
||||
"speedDecrease": "Geschwindigkeit verringern",
|
||||
"speedReset": "Geschwindigkeit zurücksetzen",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Next Subtitle Track",
|
||||
"chapterNext": "Next Chapter",
|
||||
"chapterPrevious": "Previous Chapter",
|
||||
"episodeNext": "Next Episode",
|
||||
"episodePrevious": "Previous Episode",
|
||||
"speedIncrease": "Increase Speed",
|
||||
"speedDecrease": "Decrease Speed",
|
||||
"speedReset": "Reset Speed",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Siguiente Pista de Subtítulos",
|
||||
"chapterNext": "Siguiente Capítulo",
|
||||
"chapterPrevious": "Anterior Capítulo",
|
||||
"episodeNext": "Siguiente Episodio",
|
||||
"episodePrevious": "Anterior Episodio",
|
||||
"speedIncrease": "Aumentar Velocidad",
|
||||
"speedDecrease": "Disminuir Velocidad",
|
||||
"speedReset": "Restablecer Velocidad",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Piste de sous-titres suivante",
|
||||
"chapterNext": "Chapitre suivant",
|
||||
"chapterPrevious": "Chapitre précédent",
|
||||
"episodeNext": "Épisode suivant",
|
||||
"episodePrevious": "Épisode précédent",
|
||||
"speedIncrease": "Augmenter la vitesse",
|
||||
"speedDecrease": "Réduire la vitesse",
|
||||
"speedReset": "Réinitialiser la vitesse",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Sottotitoli successivi",
|
||||
"chapterNext": "Capitolo successivo",
|
||||
"chapterPrevious": "Capitolo precedente",
|
||||
"episodeNext": "Episodio successivo",
|
||||
"episodePrevious": "Episodio precedente",
|
||||
"speedIncrease": "Aumenta velocità",
|
||||
"speedDecrease": "Diminuisci velocità",
|
||||
"speedReset": "Ripristina velocità",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "次の字幕トラック",
|
||||
"chapterNext": "次のチャプター",
|
||||
"chapterPrevious": "前のチャプター",
|
||||
"episodeNext": "次のエピソード",
|
||||
"episodePrevious": "前のエピソード",
|
||||
"speedIncrease": "速度を上げる",
|
||||
"speedDecrease": "速度を下げる",
|
||||
"speedReset": "速度をリセット",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "다음 자막 트랙",
|
||||
"chapterNext": "다음 챕터",
|
||||
"chapterPrevious": "이전 챕터",
|
||||
"episodeNext": "다음 에피소드",
|
||||
"episodePrevious": "이전 에피소드",
|
||||
"speedIncrease": "속도 높이기",
|
||||
"speedDecrease": "속도 낮추기",
|
||||
"speedReset": "속도 초기화",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Neste undertekstspor",
|
||||
"chapterNext": "Neste kapittel",
|
||||
"chapterPrevious": "Forrige kapittel",
|
||||
"episodeNext": "Neste episode",
|
||||
"episodePrevious": "Forrige episode",
|
||||
"speedIncrease": "Øk hastighet",
|
||||
"speedDecrease": "Reduser hastighet",
|
||||
"speedReset": "Tilbakestill hastighet",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Volgende ondertiteltrack",
|
||||
"chapterNext": "Volgend hoofdstuk",
|
||||
"chapterPrevious": "Vorig hoofdstuk",
|
||||
"episodeNext": "Volgende aflevering",
|
||||
"episodePrevious": "Vorige aflevering",
|
||||
"speedIncrease": "Snelheid verhogen",
|
||||
"speedDecrease": "Snelheid verlagen",
|
||||
"speedReset": "Snelheid resetten",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Następna ścieżka napisów",
|
||||
"chapterNext": "Następny rozdział",
|
||||
"chapterPrevious": "Poprzedni rozdział",
|
||||
"episodeNext": "Następny odcinek",
|
||||
"episodePrevious": "Poprzedni odcinek",
|
||||
"speedIncrease": "Zwiększ prędkość",
|
||||
"speedDecrease": "Zmniejsz prędkość",
|
||||
"speedReset": "Zresetuj prędkość",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Próxima Faixa de Legenda",
|
||||
"chapterNext": "Próximo Capítulo",
|
||||
"chapterPrevious": "Capítulo Anterior",
|
||||
"episodeNext": "Próximo Episódio",
|
||||
"episodePrevious": "Episódio Anterior",
|
||||
"speedIncrease": "Aumentar Velocidade",
|
||||
"speedDecrease": "Diminuir Velocidade",
|
||||
"speedReset": "Redefinir Velocidade",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Следующая дорожка субтитров",
|
||||
"chapterNext": "Следующая глава",
|
||||
"chapterPrevious": "Предыдущая глава",
|
||||
"episodeNext": "Следующая серия",
|
||||
"episodePrevious": "Предыдущая серия",
|
||||
"speedIncrease": "Увеличить скорость",
|
||||
"speedDecrease": "Уменьшить скорость",
|
||||
"speedReset": "Сбросить скорость",
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 15
|
||||
/// Strings: 13260 (884 per locale)
|
||||
/// Strings: 13290 (886 per locale)
|
||||
///
|
||||
/// Built on 2026-04-19 at 14:14 UTC
|
||||
/// Built on 2026-04-20 at 14:18 UTC
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsDa implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Næste undertekstspor';
|
||||
@override String get chapterNext => 'Næste kapitel';
|
||||
@override String get chapterPrevious => 'Forrige kapitel';
|
||||
@override String get episodeNext => 'Næste afsnit';
|
||||
@override String get episodePrevious => 'Forrige afsnit';
|
||||
@override String get speedIncrease => 'Øg hastighed';
|
||||
@override String get speedDecrease => 'Sænk hastighed';
|
||||
@override String get speedReset => 'Nulstil hastighed';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsDa {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Næste undertekstspor',
|
||||
'hotkeys.actions.chapterNext' => 'Næste kapitel',
|
||||
'hotkeys.actions.chapterPrevious' => 'Forrige kapitel',
|
||||
'hotkeys.actions.episodeNext' => 'Næste afsnit',
|
||||
'hotkeys.actions.episodePrevious' => 'Forrige afsnit',
|
||||
'hotkeys.actions.speedIncrease' => 'Øg hastighed',
|
||||
'hotkeys.actions.speedDecrease' => 'Sænk hastighed',
|
||||
'hotkeys.actions.speedReset' => 'Nulstil hastighed',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsDa {
|
||||
'about.appDescription' => 'En smuk Plex-klient til Flutter',
|
||||
'about.viewLicensesDescription' => 'Se licenser for tredjepartsbiblioteker',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Kunne ikke forbinde til nogen servere. Tjek dit netværk og prøv igen.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Ingen servere fundet for ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke indlæse servere: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Ingen servere fundet for ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke indlæse servere: ${error}',
|
||||
'hubDetail.title' => 'Titel',
|
||||
'hubDetail.releaseYear' => 'Udgivelsesår',
|
||||
'hubDetail.dateAdded' => 'Tilføjelsesdato',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsDe implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Nächste Untertitelspur';
|
||||
@override String get chapterNext => 'Nächstes Kapitel';
|
||||
@override String get chapterPrevious => 'Vorheriges Kapitel';
|
||||
@override String get episodeNext => 'Nächste Episode';
|
||||
@override String get episodePrevious => 'Vorherige Episode';
|
||||
@override String get speedIncrease => 'Geschwindigkeit erhöhen';
|
||||
@override String get speedDecrease => 'Geschwindigkeit verringern';
|
||||
@override String get speedReset => 'Geschwindigkeit zurücksetzen';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsDe {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Nächste Untertitelspur',
|
||||
'hotkeys.actions.chapterNext' => 'Nächstes Kapitel',
|
||||
'hotkeys.actions.chapterPrevious' => 'Vorheriges Kapitel',
|
||||
'hotkeys.actions.episodeNext' => 'Nächste Episode',
|
||||
'hotkeys.actions.episodePrevious' => 'Vorherige Episode',
|
||||
'hotkeys.actions.speedIncrease' => 'Geschwindigkeit erhöhen',
|
||||
'hotkeys.actions.speedDecrease' => 'Geschwindigkeit verringern',
|
||||
'hotkeys.actions.speedReset' => 'Geschwindigkeit zurücksetzen',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsDe {
|
||||
'about.appDescription' => 'Ein schöner Plex-Client für Flutter',
|
||||
'about.viewLicensesDescription' => 'Lizenzen von Drittanbieter-Bibliotheken anzeigen',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Verbindung zu allen Servern fehlgeschlagen. Bitte Netzwerk prüfen und erneut versuchen.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Keine Server gefunden für ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Server konnten nicht geladen werden: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Keine Server gefunden für ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Server konnten nicht geladen werden: ${error}',
|
||||
'hubDetail.title' => 'Titel',
|
||||
'hubDetail.releaseYear' => 'Erscheinungsjahr',
|
||||
'hubDetail.dateAdded' => 'Hinzugefügt am',
|
||||
|
||||
@@ -2866,6 +2866,12 @@ class TranslationsHotkeysActionsEn {
|
||||
/// en: 'Previous Chapter'
|
||||
String get chapterPrevious => 'Previous Chapter';
|
||||
|
||||
/// en: 'Next Episode'
|
||||
String get episodeNext => 'Next Episode';
|
||||
|
||||
/// en: 'Previous Episode'
|
||||
String get episodePrevious => 'Previous Episode';
|
||||
|
||||
/// en: 'Increase Speed'
|
||||
String get speedIncrease => 'Increase Speed';
|
||||
|
||||
@@ -3405,6 +3411,8 @@ extension on Translations {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Next Subtitle Track',
|
||||
'hotkeys.actions.chapterNext' => 'Next Chapter',
|
||||
'hotkeys.actions.chapterPrevious' => 'Previous Chapter',
|
||||
'hotkeys.actions.episodeNext' => 'Next Episode',
|
||||
'hotkeys.actions.episodePrevious' => 'Previous Episode',
|
||||
'hotkeys.actions.speedIncrease' => 'Increase Speed',
|
||||
'hotkeys.actions.speedDecrease' => 'Decrease Speed',
|
||||
'hotkeys.actions.speedReset' => 'Reset Speed',
|
||||
@@ -3676,10 +3684,10 @@ extension on Translations {
|
||||
'about.appDescription' => 'A beautiful Plex client for Flutter',
|
||||
'about.viewLicensesDescription' => 'View licenses of third-party libraries',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Failed to connect to any servers. Please check your network and try again.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'No servers found for ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Failed to load servers: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'No servers found for ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Failed to load servers: ${error}',
|
||||
'hubDetail.title' => 'Title',
|
||||
'hubDetail.releaseYear' => 'Release Year',
|
||||
'hubDetail.dateAdded' => 'Date Added',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsEs implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Siguiente Pista de Subtítulos';
|
||||
@override String get chapterNext => 'Siguiente Capítulo';
|
||||
@override String get chapterPrevious => 'Anterior Capítulo';
|
||||
@override String get episodeNext => 'Siguiente Episodio';
|
||||
@override String get episodePrevious => 'Anterior Episodio';
|
||||
@override String get speedIncrease => 'Aumentar Velocidad';
|
||||
@override String get speedDecrease => 'Disminuir Velocidad';
|
||||
@override String get speedReset => 'Restablecer Velocidad';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsEs {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Siguiente Pista de Subtítulos',
|
||||
'hotkeys.actions.chapterNext' => 'Siguiente Capítulo',
|
||||
'hotkeys.actions.chapterPrevious' => 'Anterior Capítulo',
|
||||
'hotkeys.actions.episodeNext' => 'Siguiente Episodio',
|
||||
'hotkeys.actions.episodePrevious' => 'Anterior Episodio',
|
||||
'hotkeys.actions.speedIncrease' => 'Aumentar Velocidad',
|
||||
'hotkeys.actions.speedDecrease' => 'Disminuir Velocidad',
|
||||
'hotkeys.actions.speedReset' => 'Restablecer Velocidad',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsEs {
|
||||
'about.appDescription' => 'Un cliente de Plex para Flutter',
|
||||
'about.viewLicensesDescription' => 'Ver licencias de librerías de terceros',
|
||||
'serverSelection.allServerConnectionsFailed' => 'No se pudo conectar con ningún servidor. Por favor, comprueba tu conexión e inténtalo de nuevo.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'No se encontraron servidores para ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Error al cargar servidores: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'No se encontraron servidores para ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Error al cargar servidores: ${error}',
|
||||
'hubDetail.title' => 'Título',
|
||||
'hubDetail.releaseYear' => 'Año de lanzamiento',
|
||||
'hubDetail.dateAdded' => 'Añadido el',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsFr implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Piste de sous-titres suivante';
|
||||
@override String get chapterNext => 'Chapitre suivant';
|
||||
@override String get chapterPrevious => 'Chapitre précédent';
|
||||
@override String get episodeNext => 'Épisode suivant';
|
||||
@override String get episodePrevious => 'Épisode précédent';
|
||||
@override String get speedIncrease => 'Augmenter la vitesse';
|
||||
@override String get speedDecrease => 'Réduire la vitesse';
|
||||
@override String get speedReset => 'Réinitialiser la vitesse';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsFr {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Piste de sous-titres suivante',
|
||||
'hotkeys.actions.chapterNext' => 'Chapitre suivant',
|
||||
'hotkeys.actions.chapterPrevious' => 'Chapitre précédent',
|
||||
'hotkeys.actions.episodeNext' => 'Épisode suivant',
|
||||
'hotkeys.actions.episodePrevious' => 'Épisode précédent',
|
||||
'hotkeys.actions.speedIncrease' => 'Augmenter la vitesse',
|
||||
'hotkeys.actions.speedDecrease' => 'Réduire la vitesse',
|
||||
'hotkeys.actions.speedReset' => 'Réinitialiser la vitesse',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsFr {
|
||||
'about.appDescription' => 'Un magnifique client Plex pour Flutter',
|
||||
'about.viewLicensesDescription' => 'Afficher les licences des bibliothèques tierces',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Impossible de se connecter à un serveur. Veuillez vérifier votre connexion réseau et réessayer.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Aucun serveur trouvé pour ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Échec du chargement des serveurs: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Aucun serveur trouvé pour ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Échec du chargement des serveurs: ${error}',
|
||||
'hubDetail.title' => 'Titre',
|
||||
'hubDetail.releaseYear' => 'Année de sortie',
|
||||
'hubDetail.dateAdded' => 'Date d\'ajout',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsIt implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Sottotitoli successivi';
|
||||
@override String get chapterNext => 'Capitolo successivo';
|
||||
@override String get chapterPrevious => 'Capitolo precedente';
|
||||
@override String get episodeNext => 'Episodio successivo';
|
||||
@override String get episodePrevious => 'Episodio precedente';
|
||||
@override String get speedIncrease => 'Aumenta velocità';
|
||||
@override String get speedDecrease => 'Diminuisci velocità';
|
||||
@override String get speedReset => 'Ripristina velocità';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsIt {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Sottotitoli successivi',
|
||||
'hotkeys.actions.chapterNext' => 'Capitolo successivo',
|
||||
'hotkeys.actions.chapterPrevious' => 'Capitolo precedente',
|
||||
'hotkeys.actions.episodeNext' => 'Episodio successivo',
|
||||
'hotkeys.actions.episodePrevious' => 'Episodio precedente',
|
||||
'hotkeys.actions.speedIncrease' => 'Aumenta velocità',
|
||||
'hotkeys.actions.speedDecrease' => 'Diminuisci velocità',
|
||||
'hotkeys.actions.speedReset' => 'Ripristina velocità',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsIt {
|
||||
'about.appDescription' => 'Un bellissimo client Plex per Flutter',
|
||||
'about.viewLicensesDescription' => 'Visualizza le licenze delle librerie di terze parti',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Impossibile connettersi a nessun server. Controlla la tua rete e riprova.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nessun server trovato per ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Impossibile caricare i server: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nessun server trovato per ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Impossibile caricare i server: ${error}',
|
||||
'hubDetail.title' => 'Titolo',
|
||||
'hubDetail.releaseYear' => 'Anno rilascio',
|
||||
'hubDetail.dateAdded' => 'Data aggiunta',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsJa implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => '次の字幕トラック';
|
||||
@override String get chapterNext => '次のチャプター';
|
||||
@override String get chapterPrevious => '前のチャプター';
|
||||
@override String get episodeNext => '次のエピソード';
|
||||
@override String get episodePrevious => '前のエピソード';
|
||||
@override String get speedIncrease => '速度を上げる';
|
||||
@override String get speedDecrease => '速度を下げる';
|
||||
@override String get speedReset => '速度をリセット';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsJa {
|
||||
'hotkeys.actions.subtitleTrackNext' => '次の字幕トラック',
|
||||
'hotkeys.actions.chapterNext' => '次のチャプター',
|
||||
'hotkeys.actions.chapterPrevious' => '前のチャプター',
|
||||
'hotkeys.actions.episodeNext' => '次のエピソード',
|
||||
'hotkeys.actions.episodePrevious' => '前のエピソード',
|
||||
'hotkeys.actions.speedIncrease' => '速度を上げる',
|
||||
'hotkeys.actions.speedDecrease' => '速度を下げる',
|
||||
'hotkeys.actions.speedReset' => '速度をリセット',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsJa {
|
||||
'about.appDescription' => 'Flutter製の美しいPlexクライアント',
|
||||
'about.viewLicensesDescription' => 'サードパーティライブラリのライセンスを表示',
|
||||
'serverSelection.allServerConnectionsFailed' => 'どのサーバーにも接続できませんでした。ネットワークを確認してもう一度お試しください。',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})のサーバーが見つかりません',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'サーバーの読み込みに失敗しました: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})のサーバーが見つかりません',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'サーバーの読み込みに失敗しました: ${error}',
|
||||
'hubDetail.title' => 'タイトル',
|
||||
'hubDetail.releaseYear' => '公開年',
|
||||
'hubDetail.dateAdded' => '追加日',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsKo implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => '다음 자막 트랙';
|
||||
@override String get chapterNext => '다음 챕터';
|
||||
@override String get chapterPrevious => '이전 챕터';
|
||||
@override String get episodeNext => '다음 에피소드';
|
||||
@override String get episodePrevious => '이전 에피소드';
|
||||
@override String get speedIncrease => '속도 높이기';
|
||||
@override String get speedDecrease => '속도 낮추기';
|
||||
@override String get speedReset => '속도 초기화';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsKo {
|
||||
'hotkeys.actions.subtitleTrackNext' => '다음 자막 트랙',
|
||||
'hotkeys.actions.chapterNext' => '다음 챕터',
|
||||
'hotkeys.actions.chapterPrevious' => '이전 챕터',
|
||||
'hotkeys.actions.episodeNext' => '다음 에피소드',
|
||||
'hotkeys.actions.episodePrevious' => '이전 에피소드',
|
||||
'hotkeys.actions.speedIncrease' => '속도 높이기',
|
||||
'hotkeys.actions.speedDecrease' => '속도 낮추기',
|
||||
'hotkeys.actions.speedReset' => '속도 초기화',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsKo {
|
||||
'about.appDescription' => '아름다운 Flutter Plex 클라이언트',
|
||||
'about.viewLicensesDescription' => '타사 라이브러리 라이선스 보기',
|
||||
'serverSelection.allServerConnectionsFailed' => '어떤 서버에도 연결할 수 없습니다. 네트워크를 확인하고 다시 시도하세요.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})의 서버를 찾을 수 없습니다.',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => '서버를 로드할 수 없습니다: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})의 서버를 찾을 수 없습니다.',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => '서버를 로드할 수 없습니다: ${error}',
|
||||
'hubDetail.title' => '제목',
|
||||
'hubDetail.releaseYear' => '출시 연도',
|
||||
'hubDetail.dateAdded' => '추가 날짜',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsNb implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Neste undertekstspor';
|
||||
@override String get chapterNext => 'Neste kapittel';
|
||||
@override String get chapterPrevious => 'Forrige kapittel';
|
||||
@override String get episodeNext => 'Neste episode';
|
||||
@override String get episodePrevious => 'Forrige episode';
|
||||
@override String get speedIncrease => 'Øk hastighet';
|
||||
@override String get speedDecrease => 'Reduser hastighet';
|
||||
@override String get speedReset => 'Tilbakestill hastighet';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsNb {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Neste undertekstspor',
|
||||
'hotkeys.actions.chapterNext' => 'Neste kapittel',
|
||||
'hotkeys.actions.chapterPrevious' => 'Forrige kapittel',
|
||||
'hotkeys.actions.episodeNext' => 'Neste episode',
|
||||
'hotkeys.actions.episodePrevious' => 'Forrige episode',
|
||||
'hotkeys.actions.speedIncrease' => 'Øk hastighet',
|
||||
'hotkeys.actions.speedDecrease' => 'Reduser hastighet',
|
||||
'hotkeys.actions.speedReset' => 'Tilbakestill hastighet',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsNb {
|
||||
'about.appDescription' => 'En vakker Plex-klient for Flutter',
|
||||
'about.viewLicensesDescription' => 'Vis lisenser for tredjepartsbiblioteker',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Kunne ikke koble til noen servere. Sjekk nettverket ditt og prøv igjen.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Ingen servere funnet for ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke laste servere: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Ingen servere funnet for ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke laste servere: ${error}',
|
||||
'hubDetail.title' => 'Tittel',
|
||||
'hubDetail.releaseYear' => 'Utgivelsesår',
|
||||
'hubDetail.dateAdded' => 'Dato lagt til',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsNl implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Volgende ondertiteltrack';
|
||||
@override String get chapterNext => 'Volgend hoofdstuk';
|
||||
@override String get chapterPrevious => 'Vorig hoofdstuk';
|
||||
@override String get episodeNext => 'Volgende aflevering';
|
||||
@override String get episodePrevious => 'Vorige aflevering';
|
||||
@override String get speedIncrease => 'Snelheid verhogen';
|
||||
@override String get speedDecrease => 'Snelheid verlagen';
|
||||
@override String get speedReset => 'Snelheid resetten';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsNl {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Volgende ondertiteltrack',
|
||||
'hotkeys.actions.chapterNext' => 'Volgend hoofdstuk',
|
||||
'hotkeys.actions.chapterPrevious' => 'Vorig hoofdstuk',
|
||||
'hotkeys.actions.episodeNext' => 'Volgende aflevering',
|
||||
'hotkeys.actions.episodePrevious' => 'Vorige aflevering',
|
||||
'hotkeys.actions.speedIncrease' => 'Snelheid verhogen',
|
||||
'hotkeys.actions.speedDecrease' => 'Snelheid verlagen',
|
||||
'hotkeys.actions.speedReset' => 'Snelheid resetten',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsNl {
|
||||
'about.appDescription' => 'Een mooie Plex client voor Flutter',
|
||||
'about.viewLicensesDescription' => 'Bekijk licenties van third-party bibliotheken',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Kon niet verbinden met servers. Controleer je netwerk en probeer opnieuw.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Geen servers gevonden voor ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kon servers niet laden: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Geen servers gevonden voor ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kon servers niet laden: ${error}',
|
||||
'hubDetail.title' => 'Titel',
|
||||
'hubDetail.releaseYear' => 'Uitgavejaar',
|
||||
'hubDetail.dateAdded' => 'Datum toegevoegd',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsPl implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Następna ścieżka napisów';
|
||||
@override String get chapterNext => 'Następny rozdział';
|
||||
@override String get chapterPrevious => 'Poprzedni rozdział';
|
||||
@override String get episodeNext => 'Następny odcinek';
|
||||
@override String get episodePrevious => 'Poprzedni odcinek';
|
||||
@override String get speedIncrease => 'Zwiększ prędkość';
|
||||
@override String get speedDecrease => 'Zmniejsz prędkość';
|
||||
@override String get speedReset => 'Zresetuj prędkość';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsPl {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Następna ścieżka napisów',
|
||||
'hotkeys.actions.chapterNext' => 'Następny rozdział',
|
||||
'hotkeys.actions.chapterPrevious' => 'Poprzedni rozdział',
|
||||
'hotkeys.actions.episodeNext' => 'Następny odcinek',
|
||||
'hotkeys.actions.episodePrevious' => 'Poprzedni odcinek',
|
||||
'hotkeys.actions.speedIncrease' => 'Zwiększ prędkość',
|
||||
'hotkeys.actions.speedDecrease' => 'Zmniejsz prędkość',
|
||||
'hotkeys.actions.speedReset' => 'Zresetuj prędkość',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsPl {
|
||||
'about.appDescription' => 'Piękny klient Plex na Flutter',
|
||||
'about.viewLicensesDescription' => 'Zobacz licencje bibliotek zewnętrznych',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Nie udało się połączyć z żadnym serwerem. Sprawdź sieć i spróbuj ponownie.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nie znaleziono serwerów dla ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Nie udało się załadować serwerów: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nie znaleziono serwerów dla ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Nie udało się załadować serwerów: ${error}',
|
||||
'hubDetail.title' => 'Tytuł',
|
||||
'hubDetail.releaseYear' => 'Rok premiery',
|
||||
'hubDetail.dateAdded' => 'Data dodania',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsPt implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Próxima Faixa de Legenda';
|
||||
@override String get chapterNext => 'Próximo Capítulo';
|
||||
@override String get chapterPrevious => 'Capítulo Anterior';
|
||||
@override String get episodeNext => 'Próximo Episódio';
|
||||
@override String get episodePrevious => 'Episódio Anterior';
|
||||
@override String get speedIncrease => 'Aumentar Velocidade';
|
||||
@override String get speedDecrease => 'Diminuir Velocidade';
|
||||
@override String get speedReset => 'Redefinir Velocidade';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsPt {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Próxima Faixa de Legenda',
|
||||
'hotkeys.actions.chapterNext' => 'Próximo Capítulo',
|
||||
'hotkeys.actions.chapterPrevious' => 'Capítulo Anterior',
|
||||
'hotkeys.actions.episodeNext' => 'Próximo Episódio',
|
||||
'hotkeys.actions.episodePrevious' => 'Episódio Anterior',
|
||||
'hotkeys.actions.speedIncrease' => 'Aumentar Velocidade',
|
||||
'hotkeys.actions.speedDecrease' => 'Diminuir Velocidade',
|
||||
'hotkeys.actions.speedReset' => 'Redefinir Velocidade',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsPt {
|
||||
'about.appDescription' => 'Um belo cliente Plex para Flutter',
|
||||
'about.viewLicensesDescription' => 'Ver licenças de bibliotecas de terceiros',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Falha ao conectar a qualquer servidor. Verifique sua rede e tente novamente.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nenhum servidor encontrado para ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Falha ao carregar servidores: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nenhum servidor encontrado para ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Falha ao carregar servidores: ${error}',
|
||||
'hubDetail.title' => 'Título',
|
||||
'hubDetail.releaseYear' => 'Ano de Lançamento',
|
||||
'hubDetail.dateAdded' => 'Data de Adição',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsRu implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Следующая дорожка субтитров';
|
||||
@override String get chapterNext => 'Следующая глава';
|
||||
@override String get chapterPrevious => 'Предыдущая глава';
|
||||
@override String get episodeNext => 'Следующая серия';
|
||||
@override String get episodePrevious => 'Предыдущая серия';
|
||||
@override String get speedIncrease => 'Увеличить скорость';
|
||||
@override String get speedDecrease => 'Уменьшить скорость';
|
||||
@override String get speedReset => 'Сбросить скорость';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsRu {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Следующая дорожка субтитров',
|
||||
'hotkeys.actions.chapterNext' => 'Следующая глава',
|
||||
'hotkeys.actions.chapterPrevious' => 'Предыдущая глава',
|
||||
'hotkeys.actions.episodeNext' => 'Следующая серия',
|
||||
'hotkeys.actions.episodePrevious' => 'Предыдущая серия',
|
||||
'hotkeys.actions.speedIncrease' => 'Увеличить скорость',
|
||||
'hotkeys.actions.speedDecrease' => 'Уменьшить скорость',
|
||||
'hotkeys.actions.speedReset' => 'Сбросить скорость',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsRu {
|
||||
'about.appDescription' => 'Красивый клиент Plex на Flutter',
|
||||
'about.viewLicensesDescription' => 'Просмотр лицензий сторонних библиотек',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Не удалось подключиться ни к одному серверу. Проверьте сеть и попробуйте снова.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Серверы не найдены для ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Не удалось загрузить серверы: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Серверы не найдены для ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Не удалось загрузить серверы: ${error}',
|
||||
'hubDetail.title' => 'Название',
|
||||
'hubDetail.releaseYear' => 'Год выпуска',
|
||||
'hubDetail.dateAdded' => 'Дата добавления',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsSv implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => 'Nästa undertextspår';
|
||||
@override String get chapterNext => 'Nästa kapitel';
|
||||
@override String get chapterPrevious => 'Föregående kapitel';
|
||||
@override String get episodeNext => 'Nästa avsnitt';
|
||||
@override String get episodePrevious => 'Föregående avsnitt';
|
||||
@override String get speedIncrease => 'Öka hastighet';
|
||||
@override String get speedDecrease => 'Minska hastighet';
|
||||
@override String get speedReset => 'Återställ hastighet';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsSv {
|
||||
'hotkeys.actions.subtitleTrackNext' => 'Nästa undertextspår',
|
||||
'hotkeys.actions.chapterNext' => 'Nästa kapitel',
|
||||
'hotkeys.actions.chapterPrevious' => 'Föregående kapitel',
|
||||
'hotkeys.actions.episodeNext' => 'Nästa avsnitt',
|
||||
'hotkeys.actions.episodePrevious' => 'Föregående avsnitt',
|
||||
'hotkeys.actions.speedIncrease' => 'Öka hastighet',
|
||||
'hotkeys.actions.speedDecrease' => 'Minska hastighet',
|
||||
'hotkeys.actions.speedReset' => 'Återställ hastighet',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsSv {
|
||||
'about.appDescription' => 'En vacker Plex-klient för Flutter',
|
||||
'about.viewLicensesDescription' => 'Visa licenser för tredjepartsbibliotek',
|
||||
'serverSelection.allServerConnectionsFailed' => 'Misslyckades att ansluta till servrar. Kontrollera ditt nätverk och försök igen.',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Inga servrar hittades för ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Misslyckades att ladda servrar: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Inga servrar hittades för ${username} (${email})',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Misslyckades att ladda servrar: ${error}',
|
||||
'hubDetail.title' => 'Titel',
|
||||
'hubDetail.releaseYear' => 'Utgivningsår',
|
||||
'hubDetail.dateAdded' => 'Datum tillagd',
|
||||
|
||||
@@ -1248,6 +1248,8 @@ class _TranslationsHotkeysActionsZh implements TranslationsHotkeysActionsEn {
|
||||
@override String get subtitleTrackNext => '下一字幕轨';
|
||||
@override String get chapterNext => '下一章节';
|
||||
@override String get chapterPrevious => '上一章节';
|
||||
@override String get episodeNext => '下一集';
|
||||
@override String get episodePrevious => '上一集';
|
||||
@override String get speedIncrease => '加速';
|
||||
@override String get speedDecrease => '减速';
|
||||
@override String get speedReset => '重置速度';
|
||||
@@ -1630,6 +1632,8 @@ extension on TranslationsZh {
|
||||
'hotkeys.actions.subtitleTrackNext' => '下一字幕轨',
|
||||
'hotkeys.actions.chapterNext' => '下一章节',
|
||||
'hotkeys.actions.chapterPrevious' => '上一章节',
|
||||
'hotkeys.actions.episodeNext' => '下一集',
|
||||
'hotkeys.actions.episodePrevious' => '上一集',
|
||||
'hotkeys.actions.speedIncrease' => '加速',
|
||||
'hotkeys.actions.speedDecrease' => '减速',
|
||||
'hotkeys.actions.speedReset' => '重置速度',
|
||||
@@ -1901,10 +1905,10 @@ extension on TranslationsZh {
|
||||
'about.appDescription' => '一款精美的 Flutter Plex 客户端',
|
||||
'about.viewLicensesDescription' => '查看第三方库的许可证',
|
||||
'serverSelection.allServerConnectionsFailed' => '无法连接到任何服务器。请检查你的网络并重试。',
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '未找到 ${username} (${email}) 的服务器',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => '无法加载服务器: ${error}',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '未找到 ${username} (${email}) 的服务器',
|
||||
'serverSelection.failedToLoadServers' => ({required Object error}) => '无法加载服务器: ${error}',
|
||||
'hubDetail.title' => '标题',
|
||||
'hubDetail.releaseYear' => '发行年份',
|
||||
'hubDetail.dateAdded' => '添加日期',
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "Nästa undertextspår",
|
||||
"chapterNext": "Nästa kapitel",
|
||||
"chapterPrevious": "Föregående kapitel",
|
||||
"episodeNext": "Nästa avsnitt",
|
||||
"episodePrevious": "Föregående avsnitt",
|
||||
"speedIncrease": "Öka hastighet",
|
||||
"speedDecrease": "Minska hastighet",
|
||||
"speedReset": "Återställ hastighet",
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
"subtitleTrackNext": "下一字幕轨",
|
||||
"chapterNext": "下一章节",
|
||||
"chapterPrevious": "上一章节",
|
||||
"episodeNext": "下一集",
|
||||
"episodePrevious": "上一集",
|
||||
"speedIncrease": "加速",
|
||||
"speedDecrease": "减速",
|
||||
"speedReset": "重置速度",
|
||||
|
||||
@@ -151,6 +151,7 @@ class VideoPlayerScreenState extends State<VideoPlayerScreen> with WidgetsBindin
|
||||
PlexMetadata? _nextEpisode;
|
||||
PlexMetadata? _previousEpisode;
|
||||
bool _isLoadingNext = false;
|
||||
bool _isLoadingPrevious = false;
|
||||
bool _isSwappingEpisode = false;
|
||||
bool _showPlayNextDialog = false;
|
||||
bool _isPhone = false;
|
||||
@@ -2438,11 +2439,14 @@ class VideoPlayerScreenState extends State<VideoPlayerScreen> with WidgetsBindin
|
||||
}
|
||||
|
||||
Future<void> _playPrevious() async {
|
||||
if (_previousEpisode == null) return;
|
||||
if (_previousEpisode == null || _isLoadingPrevious) return;
|
||||
|
||||
// Notify Watch Together of episode change before navigating
|
||||
_notifyWatchTogetherMediaChange(metadata: _previousEpisode);
|
||||
|
||||
setState(() {
|
||||
_isLoadingPrevious = true;
|
||||
});
|
||||
|
||||
await _navigateToEpisode(_previousEpisode!);
|
||||
}
|
||||
|
||||
|
||||
@@ -139,6 +139,8 @@ class KeyboardShortcutsService {
|
||||
VoidCallback? onBack,
|
||||
VoidCallback? onToggleShader,
|
||||
VoidCallback? onSkipMarker,
|
||||
VoidCallback? onNextEpisode,
|
||||
VoidCallback? onPreviousEpisode,
|
||||
int? currentPositionEpoch,
|
||||
ValueChanged<int>? onLiveSeek,
|
||||
}) {
|
||||
@@ -218,6 +220,8 @@ class KeyboardShortcutsService {
|
||||
onPreviousChapter,
|
||||
onToggleShader: onToggleShader,
|
||||
onSkipMarker: onSkipMarker,
|
||||
onNextEpisode: onNextEpisode,
|
||||
onPreviousEpisode: onPreviousEpisode,
|
||||
currentPositionEpoch: currentPositionEpoch,
|
||||
onLiveSeek: onLiveSeek,
|
||||
);
|
||||
@@ -239,6 +243,8 @@ class KeyboardShortcutsService {
|
||||
VoidCallback? onPreviousChapter, {
|
||||
VoidCallback? onToggleShader,
|
||||
VoidCallback? onSkipMarker,
|
||||
VoidCallback? onNextEpisode,
|
||||
VoidCallback? onPreviousEpisode,
|
||||
int? currentPositionEpoch,
|
||||
ValueChanged<int>? onLiveSeek,
|
||||
}) {
|
||||
@@ -300,6 +306,12 @@ class KeyboardShortcutsService {
|
||||
case 'chapter_previous':
|
||||
onPreviousChapter?.call();
|
||||
break;
|
||||
case 'episode_next':
|
||||
onNextEpisode?.call();
|
||||
break;
|
||||
case 'episode_previous':
|
||||
onPreviousEpisode?.call();
|
||||
break;
|
||||
case 'speed_increase':
|
||||
final newRateUp = (player.state.rate + 0.25).clamp(0.25, 3.0);
|
||||
player.setRate(newRateUp);
|
||||
@@ -360,6 +372,10 @@ class KeyboardShortcutsService {
|
||||
return t.hotkeys.actions.chapterNext;
|
||||
case 'chapter_previous':
|
||||
return t.hotkeys.actions.chapterPrevious;
|
||||
case 'episode_next':
|
||||
return t.hotkeys.actions.episodeNext;
|
||||
case 'episode_previous':
|
||||
return t.hotkeys.actions.episodePrevious;
|
||||
case 'speed_increase':
|
||||
return t.hotkeys.actions.speedIncrease;
|
||||
case 'speed_decrease':
|
||||
|
||||
@@ -528,6 +528,8 @@ class SettingsService extends BaseSharedPreferencesService {
|
||||
'subtitle_track_next': const HotKey(key: PhysicalKeyboardKey.keyS, modifiers: [HotKeyModifier.shift]),
|
||||
'chapter_next': const HotKey(key: PhysicalKeyboardKey.keyN),
|
||||
'chapter_previous': const HotKey(key: PhysicalKeyboardKey.keyP),
|
||||
'episode_next': const HotKey(key: PhysicalKeyboardKey.keyN, modifiers: [HotKeyModifier.shift]),
|
||||
'episode_previous': const HotKey(key: PhysicalKeyboardKey.keyP, modifiers: [HotKeyModifier.shift]),
|
||||
'speed_increase': const HotKey(key: PhysicalKeyboardKey.equal),
|
||||
'speed_decrease': const HotKey(key: PhysicalKeyboardKey.minus),
|
||||
'speed_reset': const HotKey(key: PhysicalKeyboardKey.keyR),
|
||||
|
||||
@@ -1721,6 +1721,8 @@ class _PlexVideoControlsState extends State<PlexVideoControls> with WindowListen
|
||||
_previousChapter,
|
||||
onBack: widget.onBack ?? () => Navigator.of(context).pop(true),
|
||||
onToggleShader: _toggleShader,
|
||||
onNextEpisode: widget.onNext,
|
||||
onPreviousEpisode: widget.onPrevious,
|
||||
currentPositionEpoch: widget.currentPositionEpoch,
|
||||
onLiveSeek: widget.onLiveSeek,
|
||||
);
|
||||
@@ -1953,6 +1955,8 @@ class _PlexVideoControlsState extends State<PlexVideoControls> with WindowListen
|
||||
onBack: widget.onBack ?? () => Navigator.of(context).pop(true),
|
||||
onToggleShader: _toggleShader,
|
||||
onSkipMarker: _performAutoSkip,
|
||||
onNextEpisode: widget.onNext,
|
||||
onPreviousEpisode: widget.onPrevious,
|
||||
currentPositionEpoch: widget.currentPositionEpoch,
|
||||
onLiveSeek: widget.onLiveSeek,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user