@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minutter",
|
||||
"rememberTrackSelections": "Husk sporvalg per serie/film",
|
||||
"rememberTrackSelectionsDescription": "Gem automatisk lyd- og undertekstsprogpræferencer når du skifter spor under afspilning",
|
||||
"showChapterMarkersOnTimeline": "Vis kapitelmarkører på tidslinjen",
|
||||
"showChapterMarkersOnTimelineDescription": "Opdel tidslinjen ved kapitelgrænser",
|
||||
"clickVideoTogglesPlayback": "Klik på video skifter afspil/pause",
|
||||
"clickVideoTogglesPlaybackDescription": "Når aktiveret, afspiller/pauser klik på videoen. Ellers vises/skjules betjeningselementer.",
|
||||
"videoPlayerControls": "Videoafspillerkontroller",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} Minuten",
|
||||
"rememberTrackSelections": "Spurauswahl pro Serie/Film merken",
|
||||
"rememberTrackSelectionsDescription": "Audio- und Untertitelsprache automatisch speichern, wenn während der Wiedergabe geändert",
|
||||
"showChapterMarkersOnTimeline": "Kapitelmarkierungen auf der Zeitleiste anzeigen",
|
||||
"showChapterMarkersOnTimelineDescription": "Die Zeitleiste an Kapitelgrenzen unterteilen",
|
||||
"clickVideoTogglesPlayback": "Klicken Sie auf das Video, um die Wiedergabe zu starten oder zu pausieren.",
|
||||
"clickVideoTogglesPlaybackDescription": "Wenn diese Option aktiviert ist, wird durch Klicken auf den Videoplayer die Wiedergabe gestartet oder pausiert. Andernfalls werden durch Klicken die Wiedergabesteuerungen ein- oder ausgeblendet.",
|
||||
"videoPlayerControls": "Videoplayer-Steuerung",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minutes",
|
||||
"rememberTrackSelections": "Remember track selections per show/movie",
|
||||
"rememberTrackSelectionsDescription": "Automatically save audio and subtitle language preferences when you change tracks during playback",
|
||||
"showChapterMarkersOnTimeline": "Show chapter markers on seek bar",
|
||||
"showChapterMarkersOnTimelineDescription": "Segment the seek bar at chapter boundaries",
|
||||
"clickVideoTogglesPlayback": "Click on video to toggle play/pause",
|
||||
"clickVideoTogglesPlaybackDescription": "If enabled, clicking on the video player will play/pause the video. Otherwise, clicking will show/hide the playback controls.",
|
||||
"videoPlayerControls": "Video Player Controls",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minutos",
|
||||
"rememberTrackSelections": "Recordar selección de pistas por serie/película",
|
||||
"rememberTrackSelectionsDescription": "Guardar automáticamente las preferencias de idioma de audio y subtítulos al cambiarlas durante la reproducción",
|
||||
"showChapterMarkersOnTimeline": "Mostrar marcadores de capítulos en la barra de progreso",
|
||||
"showChapterMarkersOnTimelineDescription": "Dividir la barra de progreso en los límites de capítulos",
|
||||
"clickVideoTogglesPlayback": "Clic en el video para reproducir/pausar",
|
||||
"clickVideoTogglesPlaybackDescription": "Si está habilitado, hacer clic en el reproductor de video reproducirá/pausará el video. De lo contrario, mostrará/ocultará los controles.",
|
||||
"videoPlayerControls": "Controles del Reproductor de Video",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minutes",
|
||||
"rememberTrackSelections": "Mémoriser les sélections de pistes par émission/film",
|
||||
"rememberTrackSelectionsDescription": "Enregistrer automatiquement les préférences linguistiques pour l'audio et les sous-titres lorsque vous changez de piste pendant la lecture",
|
||||
"showChapterMarkersOnTimeline": "Afficher les marqueurs de chapitres sur la barre de lecture",
|
||||
"showChapterMarkersOnTimelineDescription": "Segmenter la barre de lecture aux limites des chapitres",
|
||||
"clickVideoTogglesPlayback": "Cliquez sur la vidéo pour basculer entre lecture et pause.",
|
||||
"clickVideoTogglesPlaybackDescription": "Si cette option est activée, cliquer sur le lecteur vidéo lancera ou mettra en pause la vidéo. Sinon, le clic affichera ou masquera les commandes de lecture.",
|
||||
"videoPlayerControls": "Commandes du lecteur vidéo",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minuti",
|
||||
"rememberTrackSelections": "Ricorda selezioni tracce per serie/film",
|
||||
"rememberTrackSelectionsDescription": "Salva automaticamente le preferenze delle lingue audio e sottotitoli quando cambi tracce durante la riproduzione",
|
||||
"showChapterMarkersOnTimeline": "Mostra i marcatori dei capitoli sulla barra di avanzamento",
|
||||
"showChapterMarkersOnTimelineDescription": "Segmenta la barra di avanzamento ai confini dei capitoli",
|
||||
"clickVideoTogglesPlayback": "Fai clic sul video per avviare o mettere in pausa la riproduzione.",
|
||||
"clickVideoTogglesPlaybackDescription": "Se questa opzione è abilitata, facendo clic sul lettore video la riproduzione verrà avviata o messa in pausa. In caso contrario, facendo clic verranno mostrati o nascosti i controlli di riproduzione.",
|
||||
"videoPlayerControls": "Controlli del lettore video",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes}分",
|
||||
"rememberTrackSelections": "番組/映画ごとにトラック選択を記憶",
|
||||
"rememberTrackSelectionsDescription": "再生中にトラックを変更すると、音声と字幕の言語設定を自動保存",
|
||||
"showChapterMarkersOnTimeline": "シークバーにチャプターマーカーを表示",
|
||||
"showChapterMarkersOnTimelineDescription": "チャプターの境界でシークバーを区切る",
|
||||
"clickVideoTogglesPlayback": "動画クリックで再生/一時停止を切替",
|
||||
"clickVideoTogglesPlaybackDescription": "有効にすると、動画プレーヤーをクリックで再生/一時停止。それ以外は再生コントロールの表示/非表示。",
|
||||
"videoPlayerControls": "動画プレーヤーコントロール",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes}분",
|
||||
"rememberTrackSelections": "에피소드/영화별 트랙 선택 기억",
|
||||
"rememberTrackSelectionsDescription": "재생 중 트랙을 변경할 때 오디오 및 자막 언어 설정을 자동으로 저장합니다",
|
||||
"showChapterMarkersOnTimeline": "탐색 막대에 챕터 마커 표시",
|
||||
"showChapterMarkersOnTimelineDescription": "챕터 경계에서 탐색 막대 구분",
|
||||
"clickVideoTogglesPlayback": "비디오를 클릭하여 재생/일시정지를 전환하세요.",
|
||||
"clickVideoTogglesPlaybackDescription": "이 옵션이 활성화되어 있으면 비디오 플레이어를 클릭할 때 재생 또는 일시정지가 됩니다. 그렇지 않으면 클릭 시 재생 컨트롤이 표시되거나 숨겨집니다.",
|
||||
"videoPlayerControls": "비디오 플레이어 컨트롤",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minutter",
|
||||
"rememberTrackSelections": "Husk sporvalg per serie/film",
|
||||
"rememberTrackSelectionsDescription": "Lagre automatisk lyd- og undertekstspråkpreferanser når du bytter spor under avspilling",
|
||||
"showChapterMarkersOnTimeline": "Vis kapittelmarkører på tidslinjen",
|
||||
"showChapterMarkersOnTimelineDescription": "Del tidslinjen ved kapittelgrenser",
|
||||
"clickVideoTogglesPlayback": "Klikk på video for å veksle avspilling",
|
||||
"clickVideoTogglesPlaybackDescription": "Hvis aktivert, vil klikk på videospilleren spille av/pause videoen. Ellers vil klikk vise/skjule avspillingskontrollene.",
|
||||
"videoPlayerControls": "Videospillerkontroller",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "bij ${minutes} minuten",
|
||||
"rememberTrackSelections": "Onthoud track selecties per serie/film",
|
||||
"rememberTrackSelectionsDescription": "Bewaar automatisch audio- en ondertiteltaalvoorkeuren wanneer je tracks wijzigt tijdens afspelen",
|
||||
"showChapterMarkersOnTimeline": "Hoofdstukmarkeringen op tijdlijn tonen",
|
||||
"showChapterMarkersOnTimelineDescription": "Verdeel de tijdlijn bij hoofdstukgrenzen",
|
||||
"clickVideoTogglesPlayback": "Klik op de video om afspelen/pauzeren te wisselen.",
|
||||
"clickVideoTogglesPlaybackDescription": "Als deze optie is ingeschakeld, wordt de video afgespeeld of gepauzeerd wanneer je op de videospeler klikt. Anders worden bij een klik de afspeelbedieningen weergegeven of verborgen.",
|
||||
"videoPlayerControls": "Videospeler bediening",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minut",
|
||||
"rememberTrackSelections": "Zapamiętaj wybór ścieżek per serial/film",
|
||||
"rememberTrackSelectionsDescription": "Automatycznie zapisuj preferencje języka audio i napisów przy zmianie ścieżek podczas odtwarzania",
|
||||
"showChapterMarkersOnTimeline": "Pokaż znaczniki rozdziałów na pasku przewijania",
|
||||
"showChapterMarkersOnTimelineDescription": "Podziel pasek przewijania na granicach rozdziałów",
|
||||
"clickVideoTogglesPlayback": "Kliknięcie wideo przełącza odtwarzanie/pauzę",
|
||||
"clickVideoTogglesPlaybackDescription": "Gdy włączone, kliknięcie na odtwarzacz wideo odtwarza/wstrzymuje. W przeciwnym razie pokazuje/ukrywa kontrolki.",
|
||||
"videoPlayerControls": "Kontrolki odtwarzacza wideo",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minutos",
|
||||
"rememberTrackSelections": "Lembrar seleção de faixas por série/filme",
|
||||
"rememberTrackSelectionsDescription": "Salvar automaticamente preferências de idioma de áudio e legenda ao trocar faixas durante a reprodução",
|
||||
"showChapterMarkersOnTimeline": "Mostrar marcadores de capítulos na barra de reprodução",
|
||||
"showChapterMarkersOnTimelineDescription": "Segmentar a barra de reprodução nos limites dos capítulos",
|
||||
"clickVideoTogglesPlayback": "Clicar no vídeo para alternar reprodução/pausa",
|
||||
"clickVideoTogglesPlaybackDescription": "Se ativado, clicar no player reproduz/pausa o vídeo. Caso contrário, clicar mostra/oculta os controles.",
|
||||
"videoPlayerControls": "Controles do Player de Vídeo",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} минут",
|
||||
"rememberTrackSelections": "Запоминать выбор дорожек для каждого сериала/фильма",
|
||||
"rememberTrackSelectionsDescription": "Автоматически сохранять предпочтения языка аудио и субтитров при переключении дорожек во время воспроизведения",
|
||||
"showChapterMarkersOnTimeline": "Показывать маркеры глав на шкале перемотки",
|
||||
"showChapterMarkersOnTimelineDescription": "Разделять шкалу перемотки по границам глав",
|
||||
"clickVideoTogglesPlayback": "Клик по видео для переключения воспроизведения/паузы",
|
||||
"clickVideoTogglesPlaybackDescription": "Если включено, клик по видеоплееру воспроизводит/ставит на паузу. В противном случае показывает/скрывает элементы управления.",
|
||||
"videoPlayerControls": "Элементы управления плеером",
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 15
|
||||
/// Strings: 16965 (1131 per locale)
|
||||
/// Strings: 16995 (1133 per locale)
|
||||
///
|
||||
/// Built on 2026-05-04 at 07:36 UTC
|
||||
/// Built on 2026-05-06 at 03:11 UTC
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} minutter';
|
||||
@override String get rememberTrackSelections => 'Husk sporvalg per serie/film';
|
||||
@override String get rememberTrackSelectionsDescription => 'Gem automatisk lyd- og undertekstsprogpræferencer når du skifter spor under afspilning';
|
||||
@override String get showChapterMarkersOnTimeline => 'Vis kapitelmarkører på tidslinjen';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Opdel tidslinjen ved kapitelgrænser';
|
||||
@override String get clickVideoTogglesPlayback => 'Klik på video skifter afspil/pause';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Når aktiveret, afspiller/pauser klik på videoen. Ellers vises/skjules betjeningselementer.';
|
||||
@override String get videoPlayerControls => 'Videoafspillerkontroller';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsDa {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minutter',
|
||||
'settings.rememberTrackSelections' => 'Husk sporvalg per serie/film',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Gem automatisk lyd- og undertekstsprogpræferencer når du skifter spor under afspilning',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Vis kapitelmarkører på tidslinjen',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Opdel tidslinjen ved kapitelgrænser',
|
||||
'settings.clickVideoTogglesPlayback' => 'Klik på video skifter afspil/pause',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Når aktiveret, afspiller/pauser klik på videoen. Ellers vises/skjules betjeningselementer.',
|
||||
'settings.videoPlayerControls' => 'Videoafspillerkontroller',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsDa {
|
||||
'profiles.pinManagedByPlex' => 'PIN administreres af Plex. Rediger på plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Ingen PIN-kode angivet. For at kræve en, redigér Home-brugeren på plex.tv.',
|
||||
'profiles.setPin' => 'Angiv PIN',
|
||||
'profiles.connectionsLabel' => 'Forbindelser',
|
||||
'profiles.add' => 'Tilføj',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Forbindelser',
|
||||
'profiles.add' => 'Tilføj',
|
||||
'profiles.deleteProfileButton' => 'Slet profil',
|
||||
'profiles.noConnectionsHint' => 'Ingen forbindelser — tilføj en for at bruge denne profil.',
|
||||
'profiles.plexHomeAccount' => 'Plex Home-konto',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsDa {
|
||||
'metadataEdit.episodeOrdering' => 'Episoderækkefølge',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Sendt)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Sendt)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolut)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadatasprog',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolut)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadatasprog',
|
||||
'metadataEdit.useOriginalTitle' => 'Brug originaltitel',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Foretrukket lydsprog',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Foretrukket undertekstsprog',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} Minuten';
|
||||
@override String get rememberTrackSelections => 'Spurauswahl pro Serie/Film merken';
|
||||
@override String get rememberTrackSelectionsDescription => 'Audio- und Untertitelsprache automatisch speichern, wenn während der Wiedergabe geändert';
|
||||
@override String get showChapterMarkersOnTimeline => 'Kapitelmarkierungen auf der Zeitleiste anzeigen';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Die Zeitleiste an Kapitelgrenzen unterteilen';
|
||||
@override String get clickVideoTogglesPlayback => 'Klicken Sie auf das Video, um die Wiedergabe zu starten oder zu pausieren.';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Wenn diese Option aktiviert ist, wird durch Klicken auf den Videoplayer die Wiedergabe gestartet oder pausiert. Andernfalls werden durch Klicken die Wiedergabesteuerungen ein- oder ausgeblendet.';
|
||||
@override String get videoPlayerControls => 'Videoplayer-Steuerung';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsDe {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} Minuten',
|
||||
'settings.rememberTrackSelections' => 'Spurauswahl pro Serie/Film merken',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Audio- und Untertitelsprache automatisch speichern, wenn während der Wiedergabe geändert',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Kapitelmarkierungen auf der Zeitleiste anzeigen',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Die Zeitleiste an Kapitelgrenzen unterteilen',
|
||||
'settings.clickVideoTogglesPlayback' => 'Klicken Sie auf das Video, um die Wiedergabe zu starten oder zu pausieren.',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Wenn diese Option aktiviert ist, wird durch Klicken auf den Videoplayer die Wiedergabe gestartet oder pausiert. Andernfalls werden durch Klicken die Wiedergabesteuerungen ein- oder ausgeblendet.',
|
||||
'settings.videoPlayerControls' => 'Videoplayer-Steuerung',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsDe {
|
||||
'profiles.pinManagedByPlex' => 'PIN wird von Plex verwaltet. Auf plex.tv bearbeiten.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Keine PIN festgelegt. Um eine zu verlangen, bearbeite den Home-Benutzer auf plex.tv.',
|
||||
'profiles.setPin' => 'PIN festlegen',
|
||||
'profiles.connectionsLabel' => 'Verbindungen',
|
||||
'profiles.add' => 'Hinzufügen',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Verbindungen',
|
||||
'profiles.add' => 'Hinzufügen',
|
||||
'profiles.deleteProfileButton' => 'Profil löschen',
|
||||
'profiles.noConnectionsHint' => 'Keine Verbindungen — füge eine hinzu, um dieses Profil zu nutzen.',
|
||||
'profiles.plexHomeAccount' => 'Plex Home-Konto',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsDe {
|
||||
'metadataEdit.episodeOrdering' => 'Episodenreihenfolge',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Ausgestrahlt)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Ausgestrahlt)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolut)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadaten-Sprache',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolut)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadaten-Sprache',
|
||||
'metadataEdit.useOriginalTitle' => 'Originaltitel verwenden',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Bevorzugte Audiosprache',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Bevorzugte Untertitelsprache',
|
||||
|
||||
@@ -559,6 +559,12 @@ class TranslationsSettingsEn {
|
||||
/// en: 'Automatically save audio and subtitle language preferences when you change tracks during playback'
|
||||
String get rememberTrackSelectionsDescription => 'Automatically save audio and subtitle language preferences when you change tracks during playback';
|
||||
|
||||
/// en: 'Show chapter markers on seek bar'
|
||||
String get showChapterMarkersOnTimeline => 'Show chapter markers on seek bar';
|
||||
|
||||
/// en: 'Segment the seek bar at chapter boundaries'
|
||||
String get showChapterMarkersOnTimelineDescription => 'Segment the seek bar at chapter boundaries';
|
||||
|
||||
/// en: 'Click on video to toggle play/pause'
|
||||
String get clickVideoTogglesPlayback => 'Click on video to toggle play/pause';
|
||||
|
||||
@@ -4158,6 +4164,8 @@ extension on Translations {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minutes',
|
||||
'settings.rememberTrackSelections' => 'Remember track selections per show/movie',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Automatically save audio and subtitle language preferences when you change tracks during playback',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Show chapter markers on seek bar',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Segment the seek bar at chapter boundaries',
|
||||
'settings.clickVideoTogglesPlayback' => 'Click on video to toggle play/pause',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'If enabled, clicking on the video player will play/pause the video. Otherwise, clicking will show/hide the playback controls.',
|
||||
'settings.videoPlayerControls' => 'Video Player Controls',
|
||||
@@ -4528,10 +4536,10 @@ extension on Translations {
|
||||
'profiles.pinManagedByPlex' => 'PIN managed by Plex. Edit on plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'No PIN set. To require one, edit the home user on plex.tv.',
|
||||
'profiles.setPin' => 'Set PIN',
|
||||
'profiles.connectionsLabel' => 'Connections',
|
||||
'profiles.add' => 'Add',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Connections',
|
||||
'profiles.add' => 'Add',
|
||||
'profiles.deleteProfileButton' => 'Delete profile',
|
||||
'profiles.noConnectionsHint' => 'No connections — add one to use this profile.',
|
||||
'profiles.plexHomeAccount' => 'Plex Home account',
|
||||
@@ -5042,10 +5050,10 @@ extension on Translations {
|
||||
'metadataEdit.episodeOrdering' => 'Episode Ordering',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Aired)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Aired)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolute)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadata Language',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolute)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadata Language',
|
||||
'metadataEdit.useOriginalTitle' => 'Use Original Title',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Preferred Audio Language',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Preferred Subtitle Language',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} minutos';
|
||||
@override String get rememberTrackSelections => 'Recordar selección de pistas por serie/película';
|
||||
@override String get rememberTrackSelectionsDescription => 'Guardar automáticamente las preferencias de idioma de audio y subtítulos al cambiarlas durante la reproducción';
|
||||
@override String get showChapterMarkersOnTimeline => 'Mostrar marcadores de capítulos en la barra de progreso';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Dividir la barra de progreso en los límites de capítulos';
|
||||
@override String get clickVideoTogglesPlayback => 'Clic en el video para reproducir/pausar';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Si está habilitado, hacer clic en el reproductor de video reproducirá/pausará el video. De lo contrario, mostrará/ocultará los controles.';
|
||||
@override String get videoPlayerControls => 'Controles del Reproductor de Video';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsEs {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minutos',
|
||||
'settings.rememberTrackSelections' => 'Recordar selección de pistas por serie/película',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Guardar automáticamente las preferencias de idioma de audio y subtítulos al cambiarlas durante la reproducción',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Mostrar marcadores de capítulos en la barra de progreso',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Dividir la barra de progreso en los límites de capítulos',
|
||||
'settings.clickVideoTogglesPlayback' => 'Clic en el video para reproducir/pausar',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Si está habilitado, hacer clic en el reproductor de video reproducirá/pausará el video. De lo contrario, mostrará/ocultará los controles.',
|
||||
'settings.videoPlayerControls' => 'Controles del Reproductor de Video',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsEs {
|
||||
'profiles.pinManagedByPlex' => 'PIN gestionado por Plex. Edita en plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Sin PIN establecido. Para requerir uno, edita el usuario Home en plex.tv.',
|
||||
'profiles.setPin' => 'Establecer PIN',
|
||||
'profiles.connectionsLabel' => 'Conexiones',
|
||||
'profiles.add' => 'Añadir',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Conexiones',
|
||||
'profiles.add' => 'Añadir',
|
||||
'profiles.deleteProfileButton' => 'Eliminar perfil',
|
||||
'profiles.noConnectionsHint' => 'Sin conexiones — añade una para usar este perfil.',
|
||||
'profiles.plexHomeAccount' => 'Cuenta Plex Home',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsEs {
|
||||
'metadataEdit.episodeOrdering' => 'Orden de episodios',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Emisión)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Emisión)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absoluto)',
|
||||
'metadataEdit.metadataLanguage' => 'Idioma de metadatos',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absoluto)',
|
||||
'metadataEdit.metadataLanguage' => 'Idioma de metadatos',
|
||||
'metadataEdit.useOriginalTitle' => 'Usar título original',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Idioma de audio preferido',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Idioma de subtítulos preferido',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} minutes';
|
||||
@override String get rememberTrackSelections => 'Mémoriser les sélections de pistes par émission/film';
|
||||
@override String get rememberTrackSelectionsDescription => 'Enregistrer automatiquement les préférences linguistiques pour l\'audio et les sous-titres lorsque vous changez de piste pendant la lecture';
|
||||
@override String get showChapterMarkersOnTimeline => 'Afficher les marqueurs de chapitres sur la barre de lecture';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Segmenter la barre de lecture aux limites des chapitres';
|
||||
@override String get clickVideoTogglesPlayback => 'Cliquez sur la vidéo pour basculer entre lecture et pause.';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Si cette option est activée, cliquer sur le lecteur vidéo lancera ou mettra en pause la vidéo. Sinon, le clic affichera ou masquera les commandes de lecture.';
|
||||
@override String get videoPlayerControls => 'Commandes du lecteur vidéo';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsFr {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minutes',
|
||||
'settings.rememberTrackSelections' => 'Mémoriser les sélections de pistes par émission/film',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Enregistrer automatiquement les préférences linguistiques pour l\'audio et les sous-titres lorsque vous changez de piste pendant la lecture',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Afficher les marqueurs de chapitres sur la barre de lecture',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Segmenter la barre de lecture aux limites des chapitres',
|
||||
'settings.clickVideoTogglesPlayback' => 'Cliquez sur la vidéo pour basculer entre lecture et pause.',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Si cette option est activée, cliquer sur le lecteur vidéo lancera ou mettra en pause la vidéo. Sinon, le clic affichera ou masquera les commandes de lecture.',
|
||||
'settings.videoPlayerControls' => 'Commandes du lecteur vidéo',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsFr {
|
||||
'profiles.pinManagedByPlex' => 'PIN géré par Plex. Modifier sur plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Aucun PIN défini. Pour en exiger un, modifiez l\'utilisateur Home sur plex.tv.',
|
||||
'profiles.setPin' => 'Définir un PIN',
|
||||
'profiles.connectionsLabel' => 'Connexions',
|
||||
'profiles.add' => 'Ajouter',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Connexions',
|
||||
'profiles.add' => 'Ajouter',
|
||||
'profiles.deleteProfileButton' => 'Supprimer le profil',
|
||||
'profiles.noConnectionsHint' => 'Aucune connexion — ajoutez-en une pour utiliser ce profil.',
|
||||
'profiles.plexHomeAccount' => 'Compte Plex Home',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsFr {
|
||||
'metadataEdit.episodeOrdering' => 'Ordre des épisodes',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Diffusion)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Diffusion)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolu)',
|
||||
'metadataEdit.metadataLanguage' => 'Langue des métadonnées',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolu)',
|
||||
'metadataEdit.metadataLanguage' => 'Langue des métadonnées',
|
||||
'metadataEdit.useOriginalTitle' => 'Utiliser le titre original',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Langue audio préférée',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Langue de sous-titres préférée',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} minuti';
|
||||
@override String get rememberTrackSelections => 'Ricorda selezioni tracce per serie/film';
|
||||
@override String get rememberTrackSelectionsDescription => 'Salva automaticamente le preferenze delle lingue audio e sottotitoli quando cambi tracce durante la riproduzione';
|
||||
@override String get showChapterMarkersOnTimeline => 'Mostra i marcatori dei capitoli sulla barra di avanzamento';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Segmenta la barra di avanzamento ai confini dei capitoli';
|
||||
@override String get clickVideoTogglesPlayback => 'Fai clic sul video per avviare o mettere in pausa la riproduzione.';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Se questa opzione è abilitata, facendo clic sul lettore video la riproduzione verrà avviata o messa in pausa. In caso contrario, facendo clic verranno mostrati o nascosti i controlli di riproduzione.';
|
||||
@override String get videoPlayerControls => 'Controlli del lettore video';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsIt {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minuti',
|
||||
'settings.rememberTrackSelections' => 'Ricorda selezioni tracce per serie/film',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Salva automaticamente le preferenze delle lingue audio e sottotitoli quando cambi tracce durante la riproduzione',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Mostra i marcatori dei capitoli sulla barra di avanzamento',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Segmenta la barra di avanzamento ai confini dei capitoli',
|
||||
'settings.clickVideoTogglesPlayback' => 'Fai clic sul video per avviare o mettere in pausa la riproduzione.',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Se questa opzione è abilitata, facendo clic sul lettore video la riproduzione verrà avviata o messa in pausa. In caso contrario, facendo clic verranno mostrati o nascosti i controlli di riproduzione.',
|
||||
'settings.videoPlayerControls' => 'Controlli del lettore video',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsIt {
|
||||
'profiles.pinManagedByPlex' => 'PIN gestito da Plex. Modifica su plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Nessun PIN impostato. Per richiederne uno, modifica l\'utente Home su plex.tv.',
|
||||
'profiles.setPin' => 'Imposta PIN',
|
||||
'profiles.connectionsLabel' => 'Connessioni',
|
||||
'profiles.add' => 'Aggiungi',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Connessioni',
|
||||
'profiles.add' => 'Aggiungi',
|
||||
'profiles.deleteProfileButton' => 'Elimina profilo',
|
||||
'profiles.noConnectionsHint' => 'Nessuna connessione — aggiungine una per usare questo profilo.',
|
||||
'profiles.plexHomeAccount' => 'Account Plex Home',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsIt {
|
||||
'metadataEdit.episodeOrdering' => 'Ordine episodi',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (In onda)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (In onda)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Assoluto)',
|
||||
'metadataEdit.metadataLanguage' => 'Lingua metadati',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Assoluto)',
|
||||
'metadataEdit.metadataLanguage' => 'Lingua metadati',
|
||||
'metadataEdit.useOriginalTitle' => 'Usa titolo originale',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Lingua audio preferita',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Lingua sottotitoli preferita',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes}分';
|
||||
@override String get rememberTrackSelections => '番組/映画ごとにトラック選択を記憶';
|
||||
@override String get rememberTrackSelectionsDescription => '再生中にトラックを変更すると、音声と字幕の言語設定を自動保存';
|
||||
@override String get showChapterMarkersOnTimeline => 'シークバーにチャプターマーカーを表示';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'チャプターの境界でシークバーを区切る';
|
||||
@override String get clickVideoTogglesPlayback => '動画クリックで再生/一時停止を切替';
|
||||
@override String get clickVideoTogglesPlaybackDescription => '有効にすると、動画プレーヤーをクリックで再生/一時停止。それ以外は再生コントロールの表示/非表示。';
|
||||
@override String get videoPlayerControls => '動画プレーヤーコントロール';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsJa {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes}分',
|
||||
'settings.rememberTrackSelections' => '番組/映画ごとにトラック選択を記憶',
|
||||
'settings.rememberTrackSelectionsDescription' => '再生中にトラックを変更すると、音声と字幕の言語設定を自動保存',
|
||||
'settings.showChapterMarkersOnTimeline' => 'シークバーにチャプターマーカーを表示',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'チャプターの境界でシークバーを区切る',
|
||||
'settings.clickVideoTogglesPlayback' => '動画クリックで再生/一時停止を切替',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => '有効にすると、動画プレーヤーをクリックで再生/一時停止。それ以外は再生コントロールの表示/非表示。',
|
||||
'settings.videoPlayerControls' => '動画プレーヤーコントロール',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsJa {
|
||||
'profiles.pinManagedByPlex' => 'PINはPlexで管理されています。plex.tvで編集してください。',
|
||||
'profiles.noPinSetEditOnPlex' => 'PINが設定されていません。要求するには、plex.tvでHomeユーザーを編集してください。',
|
||||
'profiles.setPin' => 'PINを設定',
|
||||
'profiles.connectionsLabel' => '接続',
|
||||
'profiles.add' => '追加',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => '接続',
|
||||
'profiles.add' => '追加',
|
||||
'profiles.deleteProfileButton' => 'プロファイルを削除',
|
||||
'profiles.noConnectionsHint' => '接続がありません — このプロファイルを使うには1つ追加してください。',
|
||||
'profiles.plexHomeAccount' => 'Plex Homeアカウント',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsJa {
|
||||
'metadataEdit.episodeOrdering' => 'エピソードの順序',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database(放送順)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB(放送順)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB(絶対順)',
|
||||
'metadataEdit.metadataLanguage' => 'メタデータの言語',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB(絶対順)',
|
||||
'metadataEdit.metadataLanguage' => 'メタデータの言語',
|
||||
'metadataEdit.useOriginalTitle' => '原題を使用',
|
||||
'metadataEdit.preferredAudioLanguage' => '優先音声言語',
|
||||
'metadataEdit.preferredSubtitleLanguage' => '優先字幕言語',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsKo extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes}분';
|
||||
@override String get rememberTrackSelections => '에피소드/영화별 트랙 선택 기억';
|
||||
@override String get rememberTrackSelectionsDescription => '재생 중 트랙을 변경할 때 오디오 및 자막 언어 설정을 자동으로 저장합니다';
|
||||
@override String get showChapterMarkersOnTimeline => '탐색 막대에 챕터 마커 표시';
|
||||
@override String get showChapterMarkersOnTimelineDescription => '챕터 경계에서 탐색 막대 구분';
|
||||
@override String get clickVideoTogglesPlayback => '비디오를 클릭하여 재생/일시정지를 전환하세요.';
|
||||
@override String get clickVideoTogglesPlaybackDescription => '이 옵션이 활성화되어 있으면 비디오 플레이어를 클릭할 때 재생 또는 일시정지가 됩니다. 그렇지 않으면 클릭 시 재생 컨트롤이 표시되거나 숨겨집니다.';
|
||||
@override String get videoPlayerControls => '비디오 플레이어 컨트롤';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsKo {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes}분',
|
||||
'settings.rememberTrackSelections' => '에피소드/영화별 트랙 선택 기억',
|
||||
'settings.rememberTrackSelectionsDescription' => '재생 중 트랙을 변경할 때 오디오 및 자막 언어 설정을 자동으로 저장합니다',
|
||||
'settings.showChapterMarkersOnTimeline' => '탐색 막대에 챕터 마커 표시',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => '챕터 경계에서 탐색 막대 구분',
|
||||
'settings.clickVideoTogglesPlayback' => '비디오를 클릭하여 재생/일시정지를 전환하세요.',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => '이 옵션이 활성화되어 있으면 비디오 플레이어를 클릭할 때 재생 또는 일시정지가 됩니다. 그렇지 않으면 클릭 시 재생 컨트롤이 표시되거나 숨겨집니다.',
|
||||
'settings.videoPlayerControls' => '비디오 플레이어 컨트롤',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsKo {
|
||||
'profiles.pinManagedByPlex' => 'PIN은 Plex에서 관리됩니다. plex.tv에서 편집하세요.',
|
||||
'profiles.noPinSetEditOnPlex' => '설정된 PIN이 없습니다. 요구하려면 plex.tv에서 Home 사용자를 편집하세요.',
|
||||
'profiles.setPin' => 'PIN 설정',
|
||||
'profiles.connectionsLabel' => '연결',
|
||||
'profiles.add' => '추가',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => '연결',
|
||||
'profiles.add' => '추가',
|
||||
'profiles.deleteProfileButton' => '프로필 삭제',
|
||||
'profiles.noConnectionsHint' => '연결이 없습니다 — 이 프로필을 사용하려면 하나 추가하세요.',
|
||||
'profiles.plexHomeAccount' => 'Plex Home 계정',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsKo {
|
||||
'metadataEdit.episodeOrdering' => '에피소드 순서',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (방영순)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (방영순)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (절대순)',
|
||||
'metadataEdit.metadataLanguage' => '메타데이터 언어',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (절대순)',
|
||||
'metadataEdit.metadataLanguage' => '메타데이터 언어',
|
||||
'metadataEdit.useOriginalTitle' => '원제 사용',
|
||||
'metadataEdit.preferredAudioLanguage' => '선호 오디오 언어',
|
||||
'metadataEdit.preferredSubtitleLanguage' => '선호 자막 언어',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} minutter';
|
||||
@override String get rememberTrackSelections => 'Husk sporvalg per serie/film';
|
||||
@override String get rememberTrackSelectionsDescription => 'Lagre automatisk lyd- og undertekstspråkpreferanser når du bytter spor under avspilling';
|
||||
@override String get showChapterMarkersOnTimeline => 'Vis kapittelmarkører på tidslinjen';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Del tidslinjen ved kapittelgrenser';
|
||||
@override String get clickVideoTogglesPlayback => 'Klikk på video for å veksle avspilling';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Hvis aktivert, vil klikk på videospilleren spille av/pause videoen. Ellers vil klikk vise/skjule avspillingskontrollene.';
|
||||
@override String get videoPlayerControls => 'Videospillerkontroller';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsNb {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minutter',
|
||||
'settings.rememberTrackSelections' => 'Husk sporvalg per serie/film',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Lagre automatisk lyd- og undertekstspråkpreferanser når du bytter spor under avspilling',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Vis kapittelmarkører på tidslinjen',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Del tidslinjen ved kapittelgrenser',
|
||||
'settings.clickVideoTogglesPlayback' => 'Klikk på video for å veksle avspilling',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Hvis aktivert, vil klikk på videospilleren spille av/pause videoen. Ellers vil klikk vise/skjule avspillingskontrollene.',
|
||||
'settings.videoPlayerControls' => 'Videospillerkontroller',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsNb {
|
||||
'profiles.pinManagedByPlex' => 'PIN administreres av Plex. Rediger på plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Ingen PIN er satt. For å kreve én, rediger Home-brukeren på plex.tv.',
|
||||
'profiles.setPin' => 'Sett PIN',
|
||||
'profiles.connectionsLabel' => 'Tilkoblinger',
|
||||
'profiles.add' => 'Legg til',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Tilkoblinger',
|
||||
'profiles.add' => 'Legg til',
|
||||
'profiles.deleteProfileButton' => 'Slett profil',
|
||||
'profiles.noConnectionsHint' => 'Ingen tilkoblinger — legg til én for å bruke denne profilen.',
|
||||
'profiles.plexHomeAccount' => 'Plex Home-konto',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsNb {
|
||||
'metadataEdit.episodeOrdering' => 'Episoderekkefølge',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Sendt)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Sendt)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolutt)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadataspråk',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolutt)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadataspråk',
|
||||
'metadataEdit.useOriginalTitle' => 'Bruk originaltittel',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Foretrukket lydspråk',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Foretrukket undertekstspråk',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => 'bij ${minutes} minuten';
|
||||
@override String get rememberTrackSelections => 'Onthoud track selecties per serie/film';
|
||||
@override String get rememberTrackSelectionsDescription => 'Bewaar automatisch audio- en ondertiteltaalvoorkeuren wanneer je tracks wijzigt tijdens afspelen';
|
||||
@override String get showChapterMarkersOnTimeline => 'Hoofdstukmarkeringen op tijdlijn tonen';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Verdeel de tijdlijn bij hoofdstukgrenzen';
|
||||
@override String get clickVideoTogglesPlayback => 'Klik op de video om afspelen/pauzeren te wisselen.';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Als deze optie is ingeschakeld, wordt de video afgespeeld of gepauzeerd wanneer je op de videospeler klikt. Anders worden bij een klik de afspeelbedieningen weergegeven of verborgen.';
|
||||
@override String get videoPlayerControls => 'Videospeler bediening';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsNl {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => 'bij ${minutes} minuten',
|
||||
'settings.rememberTrackSelections' => 'Onthoud track selecties per serie/film',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Bewaar automatisch audio- en ondertiteltaalvoorkeuren wanneer je tracks wijzigt tijdens afspelen',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Hoofdstukmarkeringen op tijdlijn tonen',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Verdeel de tijdlijn bij hoofdstukgrenzen',
|
||||
'settings.clickVideoTogglesPlayback' => 'Klik op de video om afspelen/pauzeren te wisselen.',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Als deze optie is ingeschakeld, wordt de video afgespeeld of gepauzeerd wanneer je op de videospeler klikt. Anders worden bij een klik de afspeelbedieningen weergegeven of verborgen.',
|
||||
'settings.videoPlayerControls' => 'Videospeler bediening',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsNl {
|
||||
'profiles.pinManagedByPlex' => 'PIN wordt beheerd door Plex. Bewerk op plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Geen PIN ingesteld. Bewerk de Home-gebruiker op plex.tv om er één te vereisen.',
|
||||
'profiles.setPin' => 'PIN instellen',
|
||||
'profiles.connectionsLabel' => 'Verbindingen',
|
||||
'profiles.add' => 'Toevoegen',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Verbindingen',
|
||||
'profiles.add' => 'Toevoegen',
|
||||
'profiles.deleteProfileButton' => 'Profiel verwijderen',
|
||||
'profiles.noConnectionsHint' => 'Geen verbindingen — voeg er één toe om dit profiel te gebruiken.',
|
||||
'profiles.plexHomeAccount' => 'Plex Home-account',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsNl {
|
||||
'metadataEdit.episodeOrdering' => 'Afleveringsvolgorde',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Uitgezonden)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Uitgezonden)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absoluut)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadatataal',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absoluut)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadatataal',
|
||||
'metadataEdit.useOriginalTitle' => 'Oorspronkelijke titel gebruiken',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Voorkeurstaal audio',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Voorkeurstaal ondertiteling',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} minut';
|
||||
@override String get rememberTrackSelections => 'Zapamiętaj wybór ścieżek per serial/film';
|
||||
@override String get rememberTrackSelectionsDescription => 'Automatycznie zapisuj preferencje języka audio i napisów przy zmianie ścieżek podczas odtwarzania';
|
||||
@override String get showChapterMarkersOnTimeline => 'Pokaż znaczniki rozdziałów na pasku przewijania';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Podziel pasek przewijania na granicach rozdziałów';
|
||||
@override String get clickVideoTogglesPlayback => 'Kliknięcie wideo przełącza odtwarzanie/pauzę';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Gdy włączone, kliknięcie na odtwarzacz wideo odtwarza/wstrzymuje. W przeciwnym razie pokazuje/ukrywa kontrolki.';
|
||||
@override String get videoPlayerControls => 'Kontrolki odtwarzacza wideo';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsPl {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minut',
|
||||
'settings.rememberTrackSelections' => 'Zapamiętaj wybór ścieżek per serial/film',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Automatycznie zapisuj preferencje języka audio i napisów przy zmianie ścieżek podczas odtwarzania',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Pokaż znaczniki rozdziałów na pasku przewijania',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Podziel pasek przewijania na granicach rozdziałów',
|
||||
'settings.clickVideoTogglesPlayback' => 'Kliknięcie wideo przełącza odtwarzanie/pauzę',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Gdy włączone, kliknięcie na odtwarzacz wideo odtwarza/wstrzymuje. W przeciwnym razie pokazuje/ukrywa kontrolki.',
|
||||
'settings.videoPlayerControls' => 'Kontrolki odtwarzacza wideo',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsPl {
|
||||
'profiles.pinManagedByPlex' => 'PIN zarządzany przez Plex. Edytuj na plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Nie ustawiono PIN-u. Aby go wymagać, edytuj użytkownika Home na plex.tv.',
|
||||
'profiles.setPin' => 'Ustaw PIN',
|
||||
'profiles.connectionsLabel' => 'Połączenia',
|
||||
'profiles.add' => 'Dodaj',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Połączenia',
|
||||
'profiles.add' => 'Dodaj',
|
||||
'profiles.deleteProfileButton' => 'Usuń profil',
|
||||
'profiles.noConnectionsHint' => 'Brak połączeń — dodaj jedno, aby używać tego profilu.',
|
||||
'profiles.plexHomeAccount' => 'Konto Plex Home',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsPl {
|
||||
'metadataEdit.episodeOrdering' => 'Kolejność odcinków',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Emisja)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Emisja)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolutna)',
|
||||
'metadataEdit.metadataLanguage' => 'Język metadanych',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolutna)',
|
||||
'metadataEdit.metadataLanguage' => 'Język metadanych',
|
||||
'metadataEdit.useOriginalTitle' => 'Użyj oryginalnego tytułu',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Preferowany język audio',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Preferowany język napisów',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} minutos';
|
||||
@override String get rememberTrackSelections => 'Lembrar seleção de faixas por série/filme';
|
||||
@override String get rememberTrackSelectionsDescription => 'Salvar automaticamente preferências de idioma de áudio e legenda ao trocar faixas durante a reprodução';
|
||||
@override String get showChapterMarkersOnTimeline => 'Mostrar marcadores de capítulos na barra de reprodução';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Segmentar a barra de reprodução nos limites dos capítulos';
|
||||
@override String get clickVideoTogglesPlayback => 'Clicar no vídeo para alternar reprodução/pausa';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Se ativado, clicar no player reproduz/pausa o vídeo. Caso contrário, clicar mostra/oculta os controles.';
|
||||
@override String get videoPlayerControls => 'Controles do Player de Vídeo';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsPt {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minutos',
|
||||
'settings.rememberTrackSelections' => 'Lembrar seleção de faixas por série/filme',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Salvar automaticamente preferências de idioma de áudio e legenda ao trocar faixas durante a reprodução',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Mostrar marcadores de capítulos na barra de reprodução',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Segmentar a barra de reprodução nos limites dos capítulos',
|
||||
'settings.clickVideoTogglesPlayback' => 'Clicar no vídeo para alternar reprodução/pausa',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Se ativado, clicar no player reproduz/pausa o vídeo. Caso contrário, clicar mostra/oculta os controles.',
|
||||
'settings.videoPlayerControls' => 'Controles do Player de Vídeo',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsPt {
|
||||
'profiles.pinManagedByPlex' => 'PIN gerenciado pelo Plex. Edite em plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Nenhum PIN definido. Para exigir um, edite o usuário Home em plex.tv.',
|
||||
'profiles.setPin' => 'Definir PIN',
|
||||
'profiles.connectionsLabel' => 'Conexões',
|
||||
'profiles.add' => 'Adicionar',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Conexões',
|
||||
'profiles.add' => 'Adicionar',
|
||||
'profiles.deleteProfileButton' => 'Excluir perfil',
|
||||
'profiles.noConnectionsHint' => 'Sem conexões — adicione uma para usar este perfil.',
|
||||
'profiles.plexHomeAccount' => 'Conta Plex Home',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsPt {
|
||||
'metadataEdit.episodeOrdering' => 'Ordenação de Episódios',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Exibição)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Exibição)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absoluto)',
|
||||
'metadataEdit.metadataLanguage' => 'Idioma dos Metadados',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absoluto)',
|
||||
'metadataEdit.metadataLanguage' => 'Idioma dos Metadados',
|
||||
'metadataEdit.useOriginalTitle' => 'Usar Título Original',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Idioma de Áudio Preferido',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Idioma de Legenda Preferido',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} минут';
|
||||
@override String get rememberTrackSelections => 'Запоминать выбор дорожек для каждого сериала/фильма';
|
||||
@override String get rememberTrackSelectionsDescription => 'Автоматически сохранять предпочтения языка аудио и субтитров при переключении дорожек во время воспроизведения';
|
||||
@override String get showChapterMarkersOnTimeline => 'Показывать маркеры глав на шкале перемотки';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Разделять шкалу перемотки по границам глав';
|
||||
@override String get clickVideoTogglesPlayback => 'Клик по видео для переключения воспроизведения/паузы';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Если включено, клик по видеоплееру воспроизводит/ставит на паузу. В противном случае показывает/скрывает элементы управления.';
|
||||
@override String get videoPlayerControls => 'Элементы управления плеером';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsRu {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} минут',
|
||||
'settings.rememberTrackSelections' => 'Запоминать выбор дорожек для каждого сериала/фильма',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Автоматически сохранять предпочтения языка аудио и субтитров при переключении дорожек во время воспроизведения',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Показывать маркеры глав на шкале перемотки',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Разделять шкалу перемотки по границам глав',
|
||||
'settings.clickVideoTogglesPlayback' => 'Клик по видео для переключения воспроизведения/паузы',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Если включено, клик по видеоплееру воспроизводит/ставит на паузу. В противном случае показывает/скрывает элементы управления.',
|
||||
'settings.videoPlayerControls' => 'Элементы управления плеером',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsRu {
|
||||
'profiles.pinManagedByPlex' => 'PIN управляется Plex. Редактируйте на plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'PIN не установлен. Чтобы требовать его, отредактируйте пользователя Home на plex.tv.',
|
||||
'profiles.setPin' => 'Установить PIN',
|
||||
'profiles.connectionsLabel' => 'Соединения',
|
||||
'profiles.add' => 'Добавить',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Соединения',
|
||||
'profiles.add' => 'Добавить',
|
||||
'profiles.deleteProfileButton' => 'Удалить профиль',
|
||||
'profiles.noConnectionsHint' => 'Нет соединений — добавьте одно, чтобы использовать этот профиль.',
|
||||
'profiles.plexHomeAccount' => 'Аккаунт Plex Home',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsRu {
|
||||
'metadataEdit.episodeOrdering' => 'Порядок эпизодов',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Эфирный)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Эфирный)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Абсолютный)',
|
||||
'metadataEdit.metadataLanguage' => 'Язык метаданных',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Абсолютный)',
|
||||
'metadataEdit.metadataLanguage' => 'Язык метаданных',
|
||||
'metadataEdit.useOriginalTitle' => 'Использовать оригинальное название',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Предпочитаемый язык аудио',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Предпочитаемый язык субтитров',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} minuter';
|
||||
@override String get rememberTrackSelections => 'Kom ihåg spårval per serie/film';
|
||||
@override String get rememberTrackSelectionsDescription => 'Spara automatiskt ljud- och undertextspråkpreferenser när du ändrar spår under uppspelning';
|
||||
@override String get showChapterMarkersOnTimeline => 'Visa kapitelmarkörer på tidslinjen';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Dela upp tidslinjen vid kapitelgränser';
|
||||
@override String get clickVideoTogglesPlayback => 'Klicka på videon för att växla mellan spela upp och pausa.';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Om detta är aktiverat kommer ett klick på videospelaren att starta eller pausa videon. Annars visas eller döljs uppspelningskontrollerna när du klickar.';
|
||||
@override String get videoPlayerControls => 'Videospelar-kontroller';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsSv {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} minuter',
|
||||
'settings.rememberTrackSelections' => 'Kom ihåg spårval per serie/film',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Spara automatiskt ljud- och undertextspråkpreferenser när du ändrar spår under uppspelning',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Visa kapitelmarkörer på tidslinjen',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Dela upp tidslinjen vid kapitelgränser',
|
||||
'settings.clickVideoTogglesPlayback' => 'Klicka på videon för att växla mellan spela upp och pausa.',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Om detta är aktiverat kommer ett klick på videospelaren att starta eller pausa videon. Annars visas eller döljs uppspelningskontrollerna när du klickar.',
|
||||
'settings.videoPlayerControls' => 'Videospelar-kontroller',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsSv {
|
||||
'profiles.pinManagedByPlex' => 'PIN hanteras av Plex. Redigera på plex.tv.',
|
||||
'profiles.noPinSetEditOnPlex' => 'Ingen PIN angiven. För att kräva en, redigera Home-användaren på plex.tv.',
|
||||
'profiles.setPin' => 'Ange PIN',
|
||||
'profiles.connectionsLabel' => 'Anslutningar',
|
||||
'profiles.add' => 'Lägg till',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => 'Anslutningar',
|
||||
'profiles.add' => 'Lägg till',
|
||||
'profiles.deleteProfileButton' => 'Ta bort profil',
|
||||
'profiles.noConnectionsHint' => 'Inga anslutningar — lägg till en för att använda den här profilen.',
|
||||
'profiles.plexHomeAccount' => 'Plex Home-konto',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsSv {
|
||||
'metadataEdit.episodeOrdering' => 'Avsnittsordning',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Sändning)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Sändning)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolut)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadataspråk',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Absolut)',
|
||||
'metadataEdit.metadataLanguage' => 'Metadataspråk',
|
||||
'metadataEdit.useOriginalTitle' => 'Använd originaltitel',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Föredraget ljudspråk',
|
||||
'metadataEdit.preferredSubtitleLanguage' => 'Föredraget undertextspråk',
|
||||
|
||||
@@ -277,6 +277,8 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} 分钟';
|
||||
@override String get rememberTrackSelections => '记住每个剧集/电影的音轨选择';
|
||||
@override String get rememberTrackSelectionsDescription => '在播放过程中更改音轨时自动保存音频和字幕语言偏好';
|
||||
@override String get showChapterMarkersOnTimeline => '在进度条上显示章节标记';
|
||||
@override String get showChapterMarkersOnTimelineDescription => '按章节边界分段显示进度条';
|
||||
@override String get clickVideoTogglesPlayback => '点击视频可切换播放/暂停';
|
||||
@override String get clickVideoTogglesPlaybackDescription => '如果启用此选项,点击视频播放器将播放或暂停视频。否则,点击将显示或隐藏播放控件';
|
||||
@override String get videoPlayerControls => '视频播放器控制';
|
||||
@@ -1890,6 +1892,8 @@ extension on TranslationsZh {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} 分钟',
|
||||
'settings.rememberTrackSelections' => '记住每个剧集/电影的音轨选择',
|
||||
'settings.rememberTrackSelectionsDescription' => '在播放过程中更改音轨时自动保存音频和字幕语言偏好',
|
||||
'settings.showChapterMarkersOnTimeline' => '在进度条上显示章节标记',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => '按章节边界分段显示进度条',
|
||||
'settings.clickVideoTogglesPlayback' => '点击视频可切换播放/暂停',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => '如果启用此选项,点击视频播放器将播放或暂停视频。否则,点击将显示或隐藏播放控件',
|
||||
'settings.videoPlayerControls' => '视频播放器控制',
|
||||
@@ -2260,10 +2264,10 @@ extension on TranslationsZh {
|
||||
'profiles.pinManagedByPlex' => 'PIN 由 Plex 管理。在 plex.tv 上编辑。',
|
||||
'profiles.noPinSetEditOnPlex' => '未设置 PIN。如需要求 PIN,请在 plex.tv 上编辑 Home 用户。',
|
||||
'profiles.setPin' => '设置 PIN',
|
||||
'profiles.connectionsLabel' => '连接',
|
||||
'profiles.add' => '添加',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'profiles.connectionsLabel' => '连接',
|
||||
'profiles.add' => '添加',
|
||||
'profiles.deleteProfileButton' => '删除配置文件',
|
||||
'profiles.noConnectionsHint' => '没有连接 — 添加一个以使用此配置文件。',
|
||||
'profiles.plexHomeAccount' => 'Plex Home 账户',
|
||||
@@ -2774,10 +2778,10 @@ extension on TranslationsZh {
|
||||
'metadataEdit.episodeOrdering' => '剧集排列顺序',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database(播出顺序)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB(播出顺序)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB(绝对顺序)',
|
||||
'metadataEdit.metadataLanguage' => '元数据语言',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB(绝对顺序)',
|
||||
'metadataEdit.metadataLanguage' => '元数据语言',
|
||||
'metadataEdit.useOriginalTitle' => '使用原始标题',
|
||||
'metadataEdit.preferredAudioLanguage' => '首选音频语言',
|
||||
'metadataEdit.preferredSubtitleLanguage' => '首选字幕语言',
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} minuter",
|
||||
"rememberTrackSelections": "Kom ihåg spårval per serie/film",
|
||||
"rememberTrackSelectionsDescription": "Spara automatiskt ljud- och undertextspråkpreferenser när du ändrar spår under uppspelning",
|
||||
"showChapterMarkersOnTimeline": "Visa kapitelmarkörer på tidslinjen",
|
||||
"showChapterMarkersOnTimelineDescription": "Dela upp tidslinjen vid kapitelgränser",
|
||||
"clickVideoTogglesPlayback": "Klicka på videon för att växla mellan spela upp och pausa.",
|
||||
"clickVideoTogglesPlaybackDescription": "Om detta är aktiverat kommer ett klick på videospelaren att starta eller pausa videon. Annars visas eller döljs uppspelningskontrollerna när du klickar.",
|
||||
"videoPlayerControls": "Videospelar-kontroller",
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
"minutesUnit": "${minutes} 分钟",
|
||||
"rememberTrackSelections": "记住每个剧集/电影的音轨选择",
|
||||
"rememberTrackSelectionsDescription": "在播放过程中更改音轨时自动保存音频和字幕语言偏好",
|
||||
"showChapterMarkersOnTimeline": "在进度条上显示章节标记",
|
||||
"showChapterMarkersOnTimelineDescription": "按章节边界分段显示进度条",
|
||||
"clickVideoTogglesPlayback": "点击视频可切换播放/暂停",
|
||||
"clickVideoTogglesPlaybackDescription": "如果启用此选项,点击视频播放器将播放或暂停视频。否则,点击将显示或隐藏播放控件",
|
||||
"videoPlayerControls": "视频播放器控制",
|
||||
|
||||
@@ -146,6 +146,12 @@ class _PlaybackSettingsScreenState extends State<PlaybackSettingsScreen> {
|
||||
title: t.settings.rememberTrackSelections,
|
||||
subtitle: t.settings.rememberTrackSelectionsDescription,
|
||||
),
|
||||
SettingSwitchTile(
|
||||
pref: SettingsService.showChapterMarkersOnTimeline,
|
||||
icon: Symbols.bookmarks_rounded,
|
||||
title: t.settings.showChapterMarkersOnTimeline,
|
||||
subtitle: t.settings.showChapterMarkersOnTimelineDescription,
|
||||
),
|
||||
if (!isMobile)
|
||||
SettingSwitchTile(
|
||||
pref: SettingsService.clickVideoTogglesPlayback,
|
||||
|
||||
@@ -287,6 +287,7 @@ class SettingsService extends BaseSharedPreferencesService {
|
||||
static const subtitleBold = BoolPref('subtitle_bold');
|
||||
static const subtitleItalic = BoolPref('subtitle_italic');
|
||||
static const rememberTrackSelections = BoolPref('remember_track_selections', defaultValue: true);
|
||||
static const showChapterMarkersOnTimeline = BoolPref('show_chapter_markers_on_timeline', defaultValue: true);
|
||||
static const clickVideoTogglesPlayback = BoolPref('click_video_toggles_playback');
|
||||
static const autoSkipIntro = BoolPref('auto_skip_intro');
|
||||
static const autoSkipCredits = BoolPref('auto_skip_credits');
|
||||
|
||||
@@ -36,6 +36,7 @@ class DesktopVideoControls extends StatefulWidget {
|
||||
final VoidCallback? onPrevious;
|
||||
final List<MediaChapter> chapters;
|
||||
final bool chaptersLoaded;
|
||||
final bool showChapterMarkersOnTimeline;
|
||||
final int seekTimeSmall;
|
||||
final VoidCallback onSeekToPreviousChapter;
|
||||
final VoidCallback onSeekToNextChapter;
|
||||
@@ -107,6 +108,7 @@ class DesktopVideoControls extends StatefulWidget {
|
||||
this.onPrevious,
|
||||
required this.chapters,
|
||||
required this.chaptersLoaded,
|
||||
this.showChapterMarkersOnTimeline = true,
|
||||
required this.seekTimeSmall,
|
||||
required this.onSeekToPreviousChapter,
|
||||
required this.onSeekToNextChapter,
|
||||
@@ -699,6 +701,7 @@ class DesktopVideoControlsState extends State<DesktopVideoControls> {
|
||||
player: widget.player,
|
||||
chapters: widget.chapters,
|
||||
chaptersLoaded: widget.chaptersLoaded,
|
||||
showChapterMarkersOnTimeline: widget.showChapterMarkersOnTimeline,
|
||||
onSeek: widget.onSeek,
|
||||
onSeekEnd: widget.onSeekEnd,
|
||||
horizontalLayout: true,
|
||||
|
||||
@@ -31,6 +31,7 @@ class MobileVideoControls extends StatefulWidget {
|
||||
final MediaItem metadata;
|
||||
final List<MediaChapter> chapters;
|
||||
final bool chaptersLoaded;
|
||||
final bool showChapterMarkersOnTimeline;
|
||||
final int seekTimeSmall;
|
||||
final Widget trackChapterControls;
|
||||
final Function(Duration) onSeek;
|
||||
@@ -85,6 +86,7 @@ class MobileVideoControls extends StatefulWidget {
|
||||
required this.metadata,
|
||||
required this.chapters,
|
||||
required this.chaptersLoaded,
|
||||
this.showChapterMarkersOnTimeline = true,
|
||||
required this.seekTimeSmall,
|
||||
required this.trackChapterControls,
|
||||
required this.onSeek,
|
||||
@@ -421,6 +423,7 @@ class _MobileVideoControlsState extends State<MobileVideoControls> with SingleTi
|
||||
player: widget.player,
|
||||
chapters: widget.chapters,
|
||||
chaptersLoaded: widget.chaptersLoaded,
|
||||
showChapterMarkersOnTimeline: widget.showChapterMarkersOnTimeline,
|
||||
onSeek: widget.onSeek,
|
||||
onSeekEnd: widget.onSeekEnd,
|
||||
horizontalLayout: false,
|
||||
|
||||
@@ -20,6 +20,7 @@ extension _PlexVideoControlsNavigationMethods on _PlexVideoControlsState {
|
||||
onPrevious: widget.onPrevious,
|
||||
chapters: _chapters,
|
||||
chaptersLoaded: _chaptersLoaded,
|
||||
showChapterMarkersOnTimeline: _showChapterMarkersOnTimeline,
|
||||
seekTimeSmall: _seekTimeSmall,
|
||||
onSeekToPreviousChapter: _seekToPreviousChapter,
|
||||
onSeekToNextChapter: _seekToNextChapter,
|
||||
|
||||
@@ -361,6 +361,7 @@ class _PlexVideoControlsState extends State<PlexVideoControls> with WindowListen
|
||||
bool _showLockIcon = false; // Whether to show the lock overlay icon
|
||||
Timer? _lockIconTimer;
|
||||
bool get _clickVideoTogglesPlayback => _settings.read(SettingsService.clickVideoTogglesPlayback);
|
||||
bool get _showChapterMarkersOnTimeline => _settings.read(SettingsService.showChapterMarkersOnTimeline);
|
||||
bool _isContentStripVisible = false; // Whether the swipe-up content strip is showing
|
||||
int _trafficLightVisibilityGeneration = 0;
|
||||
|
||||
@@ -456,6 +457,7 @@ class _PlexVideoControlsState extends State<PlexVideoControls> with WindowListen
|
||||
SettingsService.showPerformanceOverlay,
|
||||
SettingsService.autoHidePerformanceOverlay,
|
||||
SettingsService.clickVideoTogglesPlayback,
|
||||
SettingsService.showChapterMarkersOnTimeline,
|
||||
]);
|
||||
_startHideTimer();
|
||||
_initKeyboardService();
|
||||
@@ -678,6 +680,7 @@ class _PlexVideoControlsState extends State<PlexVideoControls> with WindowListen
|
||||
metadata: widget.metadata,
|
||||
chapters: _chapters,
|
||||
chaptersLoaded: _chaptersLoaded,
|
||||
showChapterMarkersOnTimeline: _showChapterMarkersOnTimeline,
|
||||
seekTimeSmall: _seekTimeSmall,
|
||||
trackChapterControls: _buildTrackChapterControlsWidget(
|
||||
hideChaptersAndQueue: hasStripContent,
|
||||
|
||||
@@ -18,6 +18,7 @@ class TimelineSlider extends StatefulWidget {
|
||||
final List<BufferRange> bufferRanges;
|
||||
final List<MediaChapter> chapters;
|
||||
final bool chaptersLoaded;
|
||||
final bool showChapterMarkersOnTimeline;
|
||||
final ValueChanged<Duration> onSeek;
|
||||
final ValueChanged<Duration> onSeekEnd;
|
||||
|
||||
@@ -50,6 +51,7 @@ class TimelineSlider extends StatefulWidget {
|
||||
this.bufferRanges = const [],
|
||||
required this.chapters,
|
||||
required this.chaptersLoaded,
|
||||
this.showChapterMarkersOnTimeline = true,
|
||||
required this.onSeek,
|
||||
required this.onSeekEnd,
|
||||
this.focusNode,
|
||||
@@ -177,7 +179,9 @@ class _TimelineSliderState extends State<TimelineSlider> {
|
||||
painter: BufferRangePainter(
|
||||
ranges: widget.bufferRanges,
|
||||
duration: widget.duration,
|
||||
chapters: widget.chaptersLoaded ? widget.chapters : const [],
|
||||
chapters: widget.chaptersLoaded && widget.showChapterMarkersOnTimeline
|
||||
? widget.chapters
|
||||
: const [],
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,7 @@ class VideoTimelineBar extends StatelessWidget {
|
||||
final Player player;
|
||||
final List<MediaChapter> chapters;
|
||||
final bool chaptersLoaded;
|
||||
final bool showChapterMarkersOnTimeline;
|
||||
final ValueChanged<Duration> onSeek;
|
||||
final ValueChanged<Duration> onSeekEnd;
|
||||
|
||||
@@ -49,6 +50,7 @@ class VideoTimelineBar extends StatelessWidget {
|
||||
required this.player,
|
||||
required this.chapters,
|
||||
required this.chaptersLoaded,
|
||||
this.showChapterMarkersOnTimeline = true,
|
||||
required this.onSeek,
|
||||
required this.onSeekEnd,
|
||||
this.horizontalLayout = true,
|
||||
@@ -161,6 +163,7 @@ class VideoTimelineBar extends StatelessWidget {
|
||||
bufferRanges: bufferRanges,
|
||||
chapters: chapters,
|
||||
chaptersLoaded: chaptersLoaded,
|
||||
showChapterMarkersOnTimeline: showChapterMarkersOnTimeline,
|
||||
onSeek: onSeek,
|
||||
onSeekEnd: onSeekEnd,
|
||||
focusNode: focusNode,
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:plezy/media/media_source_info.dart';
|
||||
import 'package:plezy/media/media_version.dart';
|
||||
import 'package:plezy/widgets/video_controls/video_controls.dart';
|
||||
import 'package:plezy/widgets/video_controls/painters/buffer_range_painter.dart';
|
||||
import 'package:plezy/widgets/video_controls/widgets/mobile_skip_zones.dart';
|
||||
import 'package:plezy/widgets/video_controls/widgets/timeline_slider.dart';
|
||||
|
||||
@@ -111,5 +112,32 @@ void main() {
|
||||
expect(keyEvents, 1);
|
||||
expect(seekEvents, 0);
|
||||
});
|
||||
|
||||
testWidgets('does not pass chapters to painter when timeline markers are hidden', (tester) async {
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: SizedBox(
|
||||
width: 400,
|
||||
child: TimelineSlider(
|
||||
position: const Duration(minutes: 1),
|
||||
duration: const Duration(minutes: 10),
|
||||
chapters: [MediaChapter(id: 1, startTimeOffset: 300000)],
|
||||
chaptersLoaded: true,
|
||||
showChapterMarkersOnTimeline: false,
|
||||
onSeek: (_) {},
|
||||
onSeekEnd: (_) {},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
final customPaint = tester.widget<CustomPaint>(
|
||||
find.byWidgetPredicate((widget) => widget is CustomPaint && widget.painter is BufferRangePainter),
|
||||
);
|
||||
|
||||
expect((customPaint.painter! as BufferRangePainter).chapters, isEmpty);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user