feat(settings): add "Start in fullscreen" option on Windows/Linux

close #923
This commit is contained in:
edde746
2026-04-26 18:12:30 +02:00
parent 8c8fc13baf
commit f5e0e8c8b5
35 changed files with 209 additions and 32 deletions
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Vis bekræftelsesdialog ved tryk på tilbage for at lukke appen",
"forceTvMode": "Gennemtving TV-tilstand",
"forceTvModeDescription": "Brug TV-layoutet uanset automatisk registrering. Nyttigt på Android TV-enheder, der ikke rapporterer leanback-funktionen. Genstarter appen ved ændring.",
"startInFullscreen": "Start i fuldskærm",
"startInFullscreenDescription": "Åbn Plezy i fuldskærmstilstand ved opstart",
"autoHidePerformanceOverlay": "Skjul ydelses-overlay automatisk",
"autoHidePerformanceOverlayDescription": "Fade ydelses-overlayet med afspilningskontrollerne",
"showNavBarLabels": "Vis navigationsbarlabels",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Bestätigungsdialog anzeigen, wenn Zurück zum Beenden der App gedrückt wird",
"forceTvMode": "TV-Modus erzwingen",
"forceTvModeDescription": "TV-Layout unabhängig von der automatischen Erkennung verwenden. Nützlich für Android-TV-Geräte, die das Leanback-Feature nicht melden. Startet die App bei Änderung neu.",
"startInFullscreen": "Im Vollbildmodus starten",
"startInFullscreenDescription": "Plezy beim Start im Vollbildmodus öffnen",
"autoHidePerformanceOverlay": "Leistungsoverlay automatisch ausblenden",
"autoHidePerformanceOverlayDescription": "Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden",
"showNavBarLabels": "Navigationsleisten-Beschriftungen anzeigen",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Show a confirmation dialog when pressing back to exit the app",
"forceTvMode": "Force TV mode",
"forceTvModeDescription": "Use the TV layout regardless of auto-detection. Useful on Android TV devices that don't report the leanback feature. Restarts the app on change.",
"startInFullscreen": "Start in fullscreen",
"startInFullscreenDescription": "Open Plezy in fullscreen mode at launch",
"autoHidePerformanceOverlay": "Auto-Hide Performance Overlay",
"autoHidePerformanceOverlayDescription": "Fade the performance overlay with the playback controls",
"showNavBarLabels": "Show Navigation Bar Labels",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Mostrar un diálogo de confirmación al presionar atrás para salir de la app",
"forceTvMode": "Forzar modo TV",
"forceTvModeDescription": "Usar el diseño de TV independientemente de la detección automática. Útil en dispositivos Android TV que no informan la característica leanback. Reinicia la app al cambiar.",
"startInFullscreen": "Iniciar en pantalla completa",
"startInFullscreenDescription": "Abrir Plezy en modo pantalla completa al iniciar",
"autoHidePerformanceOverlay": "Ocultar superposición de rendimiento automáticamente",
"autoHidePerformanceOverlayDescription": "Desvanecer la superposición de rendimiento con los controles de reproducción",
"showNavBarLabels": "Mostrar etiquetas de la barra de navegación",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Afficher une boîte de dialogue de confirmation en appuyant sur retour pour quitter",
"forceTvMode": "Forcer le mode TV",
"forceTvModeDescription": "Utiliser la mise en page TV quelle que soit la détection automatique. Utile sur les appareils Android TV qui ne signalent pas la fonctionnalité leanback. Redémarre l'application lors du changement.",
"startInFullscreen": "Démarrer en plein écran",
"startInFullscreenDescription": "Ouvrir Plezy en mode plein écran au lancement",
"autoHidePerformanceOverlay": "Masquer auto. superposition performances",
"autoHidePerformanceOverlayDescription": "Faire apparaître/disparaître la superposition avec les contrôles de lecture",
"showNavBarLabels": "Afficher les libellés de la barre de navigation",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Mostra una finestra di conferma quando si preme indietro per uscire dall'app",
"forceTvMode": "Forza modalità TV",
"forceTvModeDescription": "Usa il layout TV indipendentemente dal rilevamento automatico. Utile sui dispositivi Android TV che non segnalano la funzionalità leanback. Riavvia l'app al cambiamento.",
"startInFullscreen": "Avvia a schermo intero",
"startInFullscreenDescription": "Apri Plezy a schermo intero all'avvio",
"autoHidePerformanceOverlay": "Nascondi automaticamente overlay prestazioni",
"autoHidePerformanceOverlayDescription": "Dissolvi l'overlay prestazioni con i controlli di riproduzione",
"showNavBarLabels": "Mostra etichette barra di navigazione",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "戻るボタンでアプリを終了する際に確認ダイアログを表示",
"forceTvMode": "TVモードを強制",
"forceTvModeDescription": "自動検出に関係なくTVレイアウトを使用します。leanback機能を報告しないAndroid TVデバイスで便利です。変更するとアプリが再起動されます。",
"startInFullscreen": "全画面表示で起動",
"startInFullscreenDescription": "起動時にPlezyを全画面モードで開きます",
"autoHidePerformanceOverlay": "パフォーマンスオーバーレイを自動非表示",
"autoHidePerformanceOverlayDescription": "再生コントロールと一緒にパフォーマンスオーバーレイをフェードする",
"showNavBarLabels": "ナビゲーションバーラベルを表示",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다",
"forceTvMode": "TV 모드 강제 사용",
"forceTvModeDescription": "자동 감지와 관계없이 TV 레이아웃을 사용합니다. leanback 기능을 보고하지 않는 Android TV 기기에 유용합니다. 변경 시 앱이 다시 시작됩니다.",
"startInFullscreen": "전체화면으로 시작",
"startInFullscreenDescription": "실행 시 Plezy를 전체화면 모드로 엽니다",
"autoHidePerformanceOverlay": "성능 오버레이 자동 숨기기",
"autoHidePerformanceOverlayDescription": "재생 컨트롤과 함께 성능 오버레이를 페이드 처리",
"showNavBarLabels": "내비게이션 바 라벨 표시",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Vis en bekreftelsesdialog når du trykker tilbake for å avslutte appen",
"forceTvMode": "Tving TV-modus",
"forceTvModeDescription": "Bruk TV-oppsettet uavhengig av automatisk gjenkjenning. Nyttig på Android TV-enheter som ikke rapporterer leanback-funksjonen. Starter appen på nytt ved endring.",
"startInFullscreen": "Start i fullskjerm",
"startInFullscreenDescription": "Åpne Plezy i fullskjermmodus ved oppstart",
"autoHidePerformanceOverlay": "Skjul ytelsesoverlegg automatisk",
"autoHidePerformanceOverlayDescription": "Fade ytelsesoverlegget med avspillingskontrollene",
"showNavBarLabels": "Vis navigasjonsfeltlabeler",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Toon een bevestigingsvenster bij het drukken op terug om de app af te sluiten",
"forceTvMode": "TV-modus forceren",
"forceTvModeDescription": "Gebruik de TV-indeling ongeacht automatische detectie. Handig op Android TV-apparaten die de leanback-functie niet melden. Start de app opnieuw bij wijziging.",
"startInFullscreen": "Starten in volledig scherm",
"startInFullscreenDescription": "Open Plezy bij het starten in volledig scherm",
"autoHidePerformanceOverlay": "Prestatie-overlay automatisch verbergen",
"autoHidePerformanceOverlayDescription": "Laat de prestatie-overlay meevervagen met de afspeelknoppen",
"showNavBarLabels": "Navigatiebalk labels tonen",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Pokaż dialog potwierdzenia przy naciśnięciu wstecz, aby wyjść z aplikacji",
"forceTvMode": "Wymuś tryb TV",
"forceTvModeDescription": "Użyj układu TV niezależnie od automatycznego wykrywania. Przydatne na urządzeniach Android TV, które nie zgłaszają funkcji leanback. Po zmianie aplikacja zostanie zrestartowana.",
"startInFullscreen": "Uruchom na pełnym ekranie",
"startInFullscreenDescription": "Otwiera Plezy w trybie pełnoekranowym przy uruchomieniu",
"autoHidePerformanceOverlay": "Automatycznie ukrywaj nakładkę wydajności",
"autoHidePerformanceOverlayDescription": "Wygaszaj nakładkę wydajności wraz z kontrolkami odtwarzania",
"showNavBarLabels": "Pokaż etykiety paska nawigacji",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Mostrar diálogo de confirmação ao pressionar voltar para sair do app",
"forceTvMode": "Forçar modo TV",
"forceTvModeDescription": "Usar o layout de TV independentemente da detecção automática. Útil em dispositivos Android TV que não reportam o recurso leanback. Reinicia o app ao alterar.",
"startInFullscreen": "Iniciar em tela cheia",
"startInFullscreenDescription": "Abrir o Plezy em modo de tela cheia ao iniciar",
"autoHidePerformanceOverlay": "Ocultar overlay de desempenho automaticamente",
"autoHidePerformanceOverlayDescription": "Desvanecer o overlay de desempenho com os controles de reprodução",
"showNavBarLabels": "Mostrar Rótulos da Barra de Navegação",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Показывать диалог подтверждения при нажатии «назад» для выхода из приложения",
"forceTvMode": "Принудительный режим ТВ",
"forceTvModeDescription": "Использовать макет ТВ независимо от автоматического определения. Полезно на устройствах Android TV, которые не сообщают о функции leanback. Приложение перезапустится при изменении.",
"startInFullscreen": "Запускать в полноэкранном режиме",
"startInFullscreenDescription": "Открывать Plezy в полноэкранном режиме при запуске",
"autoHidePerformanceOverlay": "Автоскрытие оверлея производительности",
"autoHidePerformanceOverlayDescription": "Скрывать оверлей производительности вместе с элементами управления воспроизведением",
"showNavBarLabels": "Показывать подписи панели навигации",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+2 -2
View File
@@ -4,9 +4,9 @@
/// To regenerate, run: `dart run slang`
///
/// Locales: 15
/// Strings: 14505 (967 per locale)
/// Strings: 14550 (970 per locale)
///
/// Built on 2026-04-25 at 01:00 UTC
/// Built on 2026-04-26 at 10:32 UTC
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsDa implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Vis bekræftelsesdialog ved tryk på tilbage for at lukke appen';
@override String get forceTvMode => 'Gennemtving TV-tilstand';
@override String get forceTvModeDescription => 'Brug TV-layoutet uanset automatisk registrering. Nyttigt på Android TV-enheder, der ikke rapporterer leanback-funktionen. Genstarter appen ved ændring.';
@override String get startInFullscreen => 'Start i fuldskærm';
@override String get startInFullscreenDescription => 'Åbn Plezy i fuldskærmstilstand ved opstart';
@override String get autoHidePerformanceOverlay => 'Skjul ydelses-overlay automatisk';
@override String get autoHidePerformanceOverlayDescription => 'Fade ydelses-overlayet med afspilningskontrollerne';
@override String get showNavBarLabels => 'Vis navigationsbarlabels';
@@ -372,6 +374,7 @@ class _TranslationsSettingsDa implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsDa {
'settings.confirmExitOnBackDescription' => 'Vis bekræftelsesdialog ved tryk på tilbage for at lukke appen',
'settings.forceTvMode' => 'Gennemtving TV-tilstand',
'settings.forceTvModeDescription' => 'Brug TV-layoutet uanset automatisk registrering. Nyttigt på Android TV-enheder, der ikke rapporterer leanback-funktionen. Genstarter appen ved ændring.',
'settings.startInFullscreen' => 'Start i fuldskærm',
'settings.startInFullscreenDescription' => 'Åbn Plezy i fuldskærmstilstand ved opstart',
'settings.autoHidePerformanceOverlay' => 'Skjul ydelses-overlay automatisk',
'settings.autoHidePerformanceOverlayDescription' => 'Fade ydelses-overlayet med afspilningskontrollerne',
'settings.showNavBarLabels' => 'Vis navigationsbarlabels',
@@ -1774,6 +1779,7 @@ extension on TranslationsDa {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsDa {
'libraries.failedToAnalyze' => ({required Object error}) => 'Kunne ikke analysere bibliotek: ${error}',
'libraries.noLibrariesFound' => 'Ingen biblioteker fundet',
'libraries.allLibrariesHidden' => 'Alle biblioteker er skjult',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Skjulte biblioteker (${count})',
'libraries.thisLibraryIsEmpty' => 'Dette bibliotek er tomt',
'libraries.all' => 'Alle',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Ryd alle',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Er du sikker på, at du vil scanne "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Er du sikker på, at du vil analysere "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsDe implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Bestätigungsdialog anzeigen, wenn Zurück zum Beenden der App gedrückt wird';
@override String get forceTvMode => 'TV-Modus erzwingen';
@override String get forceTvModeDescription => 'TV-Layout unabhängig von der automatischen Erkennung verwenden. Nützlich für Android-TV-Geräte, die das Leanback-Feature nicht melden. Startet die App bei Änderung neu.';
@override String get startInFullscreen => 'Im Vollbildmodus starten';
@override String get startInFullscreenDescription => 'Plezy beim Start im Vollbildmodus öffnen';
@override String get autoHidePerformanceOverlay => 'Leistungsoverlay automatisch ausblenden';
@override String get autoHidePerformanceOverlayDescription => 'Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden';
@override String get showNavBarLabels => 'Navigationsleisten-Beschriftungen anzeigen';
@@ -372,6 +374,7 @@ class _TranslationsSettingsDe implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsDe {
'settings.confirmExitOnBackDescription' => 'Bestätigungsdialog anzeigen, wenn Zurück zum Beenden der App gedrückt wird',
'settings.forceTvMode' => 'TV-Modus erzwingen',
'settings.forceTvModeDescription' => 'TV-Layout unabhängig von der automatischen Erkennung verwenden. Nützlich für Android-TV-Geräte, die das Leanback-Feature nicht melden. Startet die App bei Änderung neu.',
'settings.startInFullscreen' => 'Im Vollbildmodus starten',
'settings.startInFullscreenDescription' => 'Plezy beim Start im Vollbildmodus öffnen',
'settings.autoHidePerformanceOverlay' => 'Leistungsoverlay automatisch ausblenden',
'settings.autoHidePerformanceOverlayDescription' => 'Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden',
'settings.showNavBarLabels' => 'Navigationsleisten-Beschriftungen anzeigen',
@@ -1774,6 +1779,7 @@ extension on TranslationsDe {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsDe {
'libraries.failedToAnalyze' => ({required Object error}) => 'Analyse der Mediathek fehlgeschlagen: ${error}',
'libraries.noLibrariesFound' => 'Keine Mediatheken gefunden',
'libraries.allLibrariesHidden' => 'Alle Mediatheken sind ausgeblendet',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Ausgeblendete Mediatheken (${count})',
'libraries.thisLibraryIsEmpty' => 'Diese Mediathek ist leer',
'libraries.all' => 'Alle',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Alle löschen',
'libraries.scanLibraryConfirm' => ({required Object title}) => '${title}“ wirklich scannen?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => '${title}“ wirklich analysieren?',
+14 -2
View File
@@ -829,6 +829,12 @@ class TranslationsSettingsEn {
/// en: 'Use the TV layout regardless of auto-detection. Useful on Android TV devices that don't report the leanback feature. Restarts the app on change.'
String get forceTvModeDescription => 'Use the TV layout regardless of auto-detection. Useful on Android TV devices that don\'t report the leanback feature. Restarts the app on change.';
/// en: 'Start in fullscreen'
String get startInFullscreen => 'Start in fullscreen';
/// en: 'Open Plezy in fullscreen mode at launch'
String get startInFullscreenDescription => 'Open Plezy in fullscreen mode at launch';
/// en: 'Auto-Hide Performance Overlay'
String get autoHidePerformanceOverlay => 'Auto-Hide Performance Overlay';
@@ -856,6 +862,9 @@ class TranslationsSettingsEn {
/// en: 'Navigation'
String get navigation => 'Navigation';
/// en: 'Window'
String get window => 'Window';
/// en: 'Content'
String get content => 'Content';
@@ -3707,6 +3716,8 @@ extension on Translations {
'settings.confirmExitOnBackDescription' => 'Show a confirmation dialog when pressing back to exit the app',
'settings.forceTvMode' => 'Force TV mode',
'settings.forceTvModeDescription' => 'Use the TV layout regardless of auto-detection. Useful on Android TV devices that don\'t report the leanback feature. Restarts the app on change.',
'settings.startInFullscreen' => 'Start in fullscreen',
'settings.startInFullscreenDescription' => 'Open Plezy in fullscreen mode at launch',
'settings.autoHidePerformanceOverlay' => 'Auto-Hide Performance Overlay',
'settings.autoHidePerformanceOverlayDescription' => 'Fade the performance overlay with the playback controls',
'settings.showNavBarLabels' => 'Show Navigation Bar Labels',
@@ -3716,6 +3727,7 @@ extension on Translations {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -3985,11 +3997,11 @@ extension on Translations {
'libraries.failedToAnalyze' => ({required Object error}) => 'Failed to analyze library: ${error}',
'libraries.noLibrariesFound' => 'No libraries found',
'libraries.allLibrariesHidden' => 'All libraries are hidden',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Hidden libraries (${count})',
'libraries.thisLibraryIsEmpty' => 'This library is empty',
'libraries.all' => 'All',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Clear All',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Are you sure you want to scan "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Are you sure you want to analyze "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsEs implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Mostrar un diálogo de confirmación al presionar atrás para salir de la app';
@override String get forceTvMode => 'Forzar modo TV';
@override String get forceTvModeDescription => 'Usar el diseño de TV independientemente de la detección automática. Útil en dispositivos Android TV que no informan la característica leanback. Reinicia la app al cambiar.';
@override String get startInFullscreen => 'Iniciar en pantalla completa';
@override String get startInFullscreenDescription => 'Abrir Plezy en modo pantalla completa al iniciar';
@override String get autoHidePerformanceOverlay => 'Ocultar superposición de rendimiento automáticamente';
@override String get autoHidePerformanceOverlayDescription => 'Desvanecer la superposición de rendimiento con los controles de reproducción';
@override String get showNavBarLabels => 'Mostrar etiquetas de la barra de navegación';
@@ -372,6 +374,7 @@ class _TranslationsSettingsEs implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsEs {
'settings.confirmExitOnBackDescription' => 'Mostrar un diálogo de confirmación al presionar atrás para salir de la app',
'settings.forceTvMode' => 'Forzar modo TV',
'settings.forceTvModeDescription' => 'Usar el diseño de TV independientemente de la detección automática. Útil en dispositivos Android TV que no informan la característica leanback. Reinicia la app al cambiar.',
'settings.startInFullscreen' => 'Iniciar en pantalla completa',
'settings.startInFullscreenDescription' => 'Abrir Plezy en modo pantalla completa al iniciar',
'settings.autoHidePerformanceOverlay' => 'Ocultar superposición de rendimiento automáticamente',
'settings.autoHidePerformanceOverlayDescription' => 'Desvanecer la superposición de rendimiento con los controles de reproducción',
'settings.showNavBarLabels' => 'Mostrar etiquetas de la barra de navegación',
@@ -1774,6 +1779,7 @@ extension on TranslationsEs {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsEs {
'libraries.failedToAnalyze' => ({required Object error}) => 'Error al analizar la biblioteca: ${error}',
'libraries.noLibrariesFound' => 'No se encontraron bibliotecas',
'libraries.allLibrariesHidden' => 'Todas las bibliotecas están ocultas',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Bibliotecas ocultas (${count})',
'libraries.thisLibraryIsEmpty' => 'Esta biblioteca está vacía',
'libraries.all' => 'Todos',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Borrar Todo',
'libraries.scanLibraryConfirm' => ({required Object title}) => '¿Estás seguro de que quieres escanear "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => '¿Estás seguro de que quieres analizar "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsFr implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Afficher une boîte de dialogue de confirmation en appuyant sur retour pour quitter';
@override String get forceTvMode => 'Forcer le mode TV';
@override String get forceTvModeDescription => 'Utiliser la mise en page TV quelle que soit la détection automatique. Utile sur les appareils Android TV qui ne signalent pas la fonctionnalité leanback. Redémarre l\'application lors du changement.';
@override String get startInFullscreen => 'Démarrer en plein écran';
@override String get startInFullscreenDescription => 'Ouvrir Plezy en mode plein écran au lancement';
@override String get autoHidePerformanceOverlay => 'Masquer auto. superposition performances';
@override String get autoHidePerformanceOverlayDescription => 'Faire apparaître/disparaître la superposition avec les contrôles de lecture';
@override String get showNavBarLabels => 'Afficher les libellés de la barre de navigation';
@@ -372,6 +374,7 @@ class _TranslationsSettingsFr implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsFr {
'settings.confirmExitOnBackDescription' => 'Afficher une boîte de dialogue de confirmation en appuyant sur retour pour quitter',
'settings.forceTvMode' => 'Forcer le mode TV',
'settings.forceTvModeDescription' => 'Utiliser la mise en page TV quelle que soit la détection automatique. Utile sur les appareils Android TV qui ne signalent pas la fonctionnalité leanback. Redémarre l\'application lors du changement.',
'settings.startInFullscreen' => 'Démarrer en plein écran',
'settings.startInFullscreenDescription' => 'Ouvrir Plezy en mode plein écran au lancement',
'settings.autoHidePerformanceOverlay' => 'Masquer auto. superposition performances',
'settings.autoHidePerformanceOverlayDescription' => 'Faire apparaître/disparaître la superposition avec les contrôles de lecture',
'settings.showNavBarLabels' => 'Afficher les libellés de la barre de navigation',
@@ -1774,6 +1779,7 @@ extension on TranslationsFr {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsFr {
'libraries.failedToAnalyze' => ({required Object error}) => 'Échec de l\'analyse de la bibliothèque: ${error}',
'libraries.noLibrariesFound' => 'Aucune bibliothèque trouvée',
'libraries.allLibrariesHidden' => 'Toutes les bibliothèques sont masquées',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Bibliothèques masquées (${count})',
'libraries.thisLibraryIsEmpty' => 'Cette bibliothèque est vide',
'libraries.all' => 'Tout',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Tout effacer',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Êtes-vous sûr de vouloir lancer le scan de "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Êtes-vous sûr de vouloir analyser "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsIt implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Mostra una finestra di conferma quando si preme indietro per uscire dall\'app';
@override String get forceTvMode => 'Forza modalità TV';
@override String get forceTvModeDescription => 'Usa il layout TV indipendentemente dal rilevamento automatico. Utile sui dispositivi Android TV che non segnalano la funzionalità leanback. Riavvia l\'app al cambiamento.';
@override String get startInFullscreen => 'Avvia a schermo intero';
@override String get startInFullscreenDescription => 'Apri Plezy a schermo intero all\'avvio';
@override String get autoHidePerformanceOverlay => 'Nascondi automaticamente overlay prestazioni';
@override String get autoHidePerformanceOverlayDescription => 'Dissolvi l\'overlay prestazioni con i controlli di riproduzione';
@override String get showNavBarLabels => 'Mostra etichette barra di navigazione';
@@ -372,6 +374,7 @@ class _TranslationsSettingsIt implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsIt {
'settings.confirmExitOnBackDescription' => 'Mostra una finestra di conferma quando si preme indietro per uscire dall\'app',
'settings.forceTvMode' => 'Forza modalità TV',
'settings.forceTvModeDescription' => 'Usa il layout TV indipendentemente dal rilevamento automatico. Utile sui dispositivi Android TV che non segnalano la funzionalità leanback. Riavvia l\'app al cambiamento.',
'settings.startInFullscreen' => 'Avvia a schermo intero',
'settings.startInFullscreenDescription' => 'Apri Plezy a schermo intero all\'avvio',
'settings.autoHidePerformanceOverlay' => 'Nascondi automaticamente overlay prestazioni',
'settings.autoHidePerformanceOverlayDescription' => 'Dissolvi l\'overlay prestazioni con i controlli di riproduzione',
'settings.showNavBarLabels' => 'Mostra etichette barra di navigazione',
@@ -1774,6 +1779,7 @@ extension on TranslationsIt {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsIt {
'libraries.failedToAnalyze' => ({required Object error}) => 'Impossibile analizzare libreria: ${error}',
'libraries.noLibrariesFound' => 'Nessuna libreria trovata',
'libraries.allLibrariesHidden' => 'Tutte le librerie sono nascoste',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Librerie nascoste (${count})',
'libraries.thisLibraryIsEmpty' => 'Questa libreria è vuota',
'libraries.all' => 'Tutto',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Cancella tutto',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Sei sicuro di voler scansionare "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Sei sicuro di voler analizzare "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsJa implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => '戻るボタンでアプリを終了する際に確認ダイアログを表示';
@override String get forceTvMode => 'TVモードを強制';
@override String get forceTvModeDescription => '自動検出に関係なくTVレイアウトを使用します。leanback機能を報告しないAndroid TVデバイスで便利です。変更するとアプリが再起動されます。';
@override String get startInFullscreen => '全画面表示で起動';
@override String get startInFullscreenDescription => '起動時にPlezyを全画面モードで開きます';
@override String get autoHidePerformanceOverlay => 'パフォーマンスオーバーレイを自動非表示';
@override String get autoHidePerformanceOverlayDescription => '再生コントロールと一緒にパフォーマンスオーバーレイをフェードする';
@override String get showNavBarLabels => 'ナビゲーションバーラベルを表示';
@@ -372,6 +374,7 @@ class _TranslationsSettingsJa implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsJa {
'settings.confirmExitOnBackDescription' => '戻るボタンでアプリを終了する際に確認ダイアログを表示',
'settings.forceTvMode' => 'TVモードを強制',
'settings.forceTvModeDescription' => '自動検出に関係なくTVレイアウトを使用します。leanback機能を報告しないAndroid TVデバイスで便利です。変更するとアプリが再起動されます。',
'settings.startInFullscreen' => '全画面表示で起動',
'settings.startInFullscreenDescription' => '起動時にPlezyを全画面モードで開きます',
'settings.autoHidePerformanceOverlay' => 'パフォーマンスオーバーレイを自動非表示',
'settings.autoHidePerformanceOverlayDescription' => '再生コントロールと一緒にパフォーマンスオーバーレイをフェードする',
'settings.showNavBarLabels' => 'ナビゲーションバーラベルを表示',
@@ -1774,6 +1779,7 @@ extension on TranslationsJa {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsJa {
'libraries.failedToAnalyze' => ({required Object error}) => 'ライブラリの解析に失敗しました: ${error}',
'libraries.noLibrariesFound' => 'ライブラリが見つかりません',
'libraries.allLibrariesHidden' => 'すべてのライブラリが非表示です',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => '非表示のライブラリ (${count})',
'libraries.thisLibraryIsEmpty' => 'このライブラリは空です',
'libraries.all' => 'すべて',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'すべてクリア',
'libraries.scanLibraryConfirm' => ({required Object title}) => '"${title}"をスキャンしてもよろしいですか?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => '"${title}"を解析してもよろしいですか?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsKo implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => '뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다';
@override String get forceTvMode => 'TV 모드 강제 사용';
@override String get forceTvModeDescription => '자동 감지와 관계없이 TV 레이아웃을 사용합니다. leanback 기능을 보고하지 않는 Android TV 기기에 유용합니다. 변경 시 앱이 다시 시작됩니다.';
@override String get startInFullscreen => '전체화면으로 시작';
@override String get startInFullscreenDescription => '실행 시 Plezy를 전체화면 모드로 엽니다';
@override String get autoHidePerformanceOverlay => '성능 오버레이 자동 숨기기';
@override String get autoHidePerformanceOverlayDescription => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리';
@override String get showNavBarLabels => '내비게이션 바 라벨 표시';
@@ -372,6 +374,7 @@ class _TranslationsSettingsKo implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsKo {
'settings.confirmExitOnBackDescription' => '뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다',
'settings.forceTvMode' => 'TV 모드 강제 사용',
'settings.forceTvModeDescription' => '자동 감지와 관계없이 TV 레이아웃을 사용합니다. leanback 기능을 보고하지 않는 Android TV 기기에 유용합니다. 변경 시 앱이 다시 시작됩니다.',
'settings.startInFullscreen' => '전체화면으로 시작',
'settings.startInFullscreenDescription' => '실행 시 Plezy를 전체화면 모드로 엽니다',
'settings.autoHidePerformanceOverlay' => '성능 오버레이 자동 숨기기',
'settings.autoHidePerformanceOverlayDescription' => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리',
'settings.showNavBarLabels' => '내비게이션 바 라벨 표시',
@@ -1774,6 +1779,7 @@ extension on TranslationsKo {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsKo {
'libraries.failedToAnalyze' => ({required Object error}) => '미디어 라이브러리 분석 실패: ${error}',
'libraries.noLibrariesFound' => '미디어 라이브러리 없음',
'libraries.allLibrariesHidden' => '모든 라이브러리가 숨겨졌습니다',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => '숨겨진 라이브러리 (${count})',
'libraries.thisLibraryIsEmpty' => '이 미디어 라이브러리는 비어 있습니다',
'libraries.all' => '전체',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => '모두 삭제',
'libraries.scanLibraryConfirm' => ({required Object title}) => '${title}」를 스캔 하시겠습니까?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => '${title}」를 분석 하시겠습니까?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsNb implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Vis en bekreftelsesdialog når du trykker tilbake for å avslutte appen';
@override String get forceTvMode => 'Tving TV-modus';
@override String get forceTvModeDescription => 'Bruk TV-oppsettet uavhengig av automatisk gjenkjenning. Nyttig på Android TV-enheter som ikke rapporterer leanback-funksjonen. Starter appen på nytt ved endring.';
@override String get startInFullscreen => 'Start i fullskjerm';
@override String get startInFullscreenDescription => 'Åpne Plezy i fullskjermmodus ved oppstart';
@override String get autoHidePerformanceOverlay => 'Skjul ytelsesoverlegg automatisk';
@override String get autoHidePerformanceOverlayDescription => 'Fade ytelsesoverlegget med avspillingskontrollene';
@override String get showNavBarLabels => 'Vis navigasjonsfeltlabeler';
@@ -372,6 +374,7 @@ class _TranslationsSettingsNb implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsNb {
'settings.confirmExitOnBackDescription' => 'Vis en bekreftelsesdialog når du trykker tilbake for å avslutte appen',
'settings.forceTvMode' => 'Tving TV-modus',
'settings.forceTvModeDescription' => 'Bruk TV-oppsettet uavhengig av automatisk gjenkjenning. Nyttig på Android TV-enheter som ikke rapporterer leanback-funksjonen. Starter appen på nytt ved endring.',
'settings.startInFullscreen' => 'Start i fullskjerm',
'settings.startInFullscreenDescription' => 'Åpne Plezy i fullskjermmodus ved oppstart',
'settings.autoHidePerformanceOverlay' => 'Skjul ytelsesoverlegg automatisk',
'settings.autoHidePerformanceOverlayDescription' => 'Fade ytelsesoverlegget med avspillingskontrollene',
'settings.showNavBarLabels' => 'Vis navigasjonsfeltlabeler',
@@ -1774,6 +1779,7 @@ extension on TranslationsNb {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsNb {
'libraries.failedToAnalyze' => ({required Object error}) => 'Kunne ikke analysere bibliotek: ${error}',
'libraries.noLibrariesFound' => 'Ingen biblioteker funnet',
'libraries.allLibrariesHidden' => 'Alle biblioteker er skjult',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Skjulte biblioteker (${count})',
'libraries.thisLibraryIsEmpty' => 'Dette biblioteket er tomt',
'libraries.all' => 'Alle',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Tøm alle',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Er du sikker på at du vil skanne "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Er du sikker på at du vil analysere "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsNl implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Toon een bevestigingsvenster bij het drukken op terug om de app af te sluiten';
@override String get forceTvMode => 'TV-modus forceren';
@override String get forceTvModeDescription => 'Gebruik de TV-indeling ongeacht automatische detectie. Handig op Android TV-apparaten die de leanback-functie niet melden. Start de app opnieuw bij wijziging.';
@override String get startInFullscreen => 'Starten in volledig scherm';
@override String get startInFullscreenDescription => 'Open Plezy bij het starten in volledig scherm';
@override String get autoHidePerformanceOverlay => 'Prestatie-overlay automatisch verbergen';
@override String get autoHidePerformanceOverlayDescription => 'Laat de prestatie-overlay meevervagen met de afspeelknoppen';
@override String get showNavBarLabels => 'Navigatiebalk labels tonen';
@@ -372,6 +374,7 @@ class _TranslationsSettingsNl implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsNl {
'settings.confirmExitOnBackDescription' => 'Toon een bevestigingsvenster bij het drukken op terug om de app af te sluiten',
'settings.forceTvMode' => 'TV-modus forceren',
'settings.forceTvModeDescription' => 'Gebruik de TV-indeling ongeacht automatische detectie. Handig op Android TV-apparaten die de leanback-functie niet melden. Start de app opnieuw bij wijziging.',
'settings.startInFullscreen' => 'Starten in volledig scherm',
'settings.startInFullscreenDescription' => 'Open Plezy bij het starten in volledig scherm',
'settings.autoHidePerformanceOverlay' => 'Prestatie-overlay automatisch verbergen',
'settings.autoHidePerformanceOverlayDescription' => 'Laat de prestatie-overlay meevervagen met de afspeelknoppen',
'settings.showNavBarLabels' => 'Navigatiebalk labels tonen',
@@ -1774,6 +1779,7 @@ extension on TranslationsNl {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsNl {
'libraries.failedToAnalyze' => ({required Object error}) => 'Kon bibliotheek niet analyseren: ${error}',
'libraries.noLibrariesFound' => 'Geen bibliotheken gevonden',
'libraries.allLibrariesHidden' => 'Alle bibliotheken zijn verborgen',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Verborgen bibliotheken (${count})',
'libraries.thisLibraryIsEmpty' => 'Deze bibliotheek is leeg',
'libraries.all' => 'Alles',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Alles wissen',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Weet je zeker dat je "${title}" wilt scannen?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Weet je zeker dat je "${title}" wilt analyseren?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsPl implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Pokaż dialog potwierdzenia przy naciśnięciu wstecz, aby wyjść z aplikacji';
@override String get forceTvMode => 'Wymuś tryb TV';
@override String get forceTvModeDescription => 'Użyj układu TV niezależnie od automatycznego wykrywania. Przydatne na urządzeniach Android TV, które nie zgłaszają funkcji leanback. Po zmianie aplikacja zostanie zrestartowana.';
@override String get startInFullscreen => 'Uruchom na pełnym ekranie';
@override String get startInFullscreenDescription => 'Otwiera Plezy w trybie pełnoekranowym przy uruchomieniu';
@override String get autoHidePerformanceOverlay => 'Automatycznie ukrywaj nakładkę wydajności';
@override String get autoHidePerformanceOverlayDescription => 'Wygaszaj nakładkę wydajności wraz z kontrolkami odtwarzania';
@override String get showNavBarLabels => 'Pokaż etykiety paska nawigacji';
@@ -372,6 +374,7 @@ class _TranslationsSettingsPl implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsPl {
'settings.confirmExitOnBackDescription' => 'Pokaż dialog potwierdzenia przy naciśnięciu wstecz, aby wyjść z aplikacji',
'settings.forceTvMode' => 'Wymuś tryb TV',
'settings.forceTvModeDescription' => 'Użyj układu TV niezależnie od automatycznego wykrywania. Przydatne na urządzeniach Android TV, które nie zgłaszają funkcji leanback. Po zmianie aplikacja zostanie zrestartowana.',
'settings.startInFullscreen' => 'Uruchom na pełnym ekranie',
'settings.startInFullscreenDescription' => 'Otwiera Plezy w trybie pełnoekranowym przy uruchomieniu',
'settings.autoHidePerformanceOverlay' => 'Automatycznie ukrywaj nakładkę wydajności',
'settings.autoHidePerformanceOverlayDescription' => 'Wygaszaj nakładkę wydajności wraz z kontrolkami odtwarzania',
'settings.showNavBarLabels' => 'Pokaż etykiety paska nawigacji',
@@ -1774,6 +1779,7 @@ extension on TranslationsPl {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsPl {
'libraries.failedToAnalyze' => ({required Object error}) => 'Nie udało się przeanalizować biblioteki: ${error}',
'libraries.noLibrariesFound' => 'Nie znaleziono bibliotek',
'libraries.allLibrariesHidden' => 'Wszystkie biblioteki są ukryte',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Ukryte biblioteki (${count})',
'libraries.thisLibraryIsEmpty' => 'Ta biblioteka jest pusta',
'libraries.all' => 'Wszystkie',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Wyczyść wszystko',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Czy na pewno chcesz zeskanować "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Czy na pewno chcesz przeanalizować "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsPt implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Mostrar diálogo de confirmação ao pressionar voltar para sair do app';
@override String get forceTvMode => 'Forçar modo TV';
@override String get forceTvModeDescription => 'Usar o layout de TV independentemente da detecção automática. Útil em dispositivos Android TV que não reportam o recurso leanback. Reinicia o app ao alterar.';
@override String get startInFullscreen => 'Iniciar em tela cheia';
@override String get startInFullscreenDescription => 'Abrir o Plezy em modo de tela cheia ao iniciar';
@override String get autoHidePerformanceOverlay => 'Ocultar overlay de desempenho automaticamente';
@override String get autoHidePerformanceOverlayDescription => 'Desvanecer o overlay de desempenho com os controles de reprodução';
@override String get showNavBarLabels => 'Mostrar Rótulos da Barra de Navegação';
@@ -372,6 +374,7 @@ class _TranslationsSettingsPt implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsPt {
'settings.confirmExitOnBackDescription' => 'Mostrar diálogo de confirmação ao pressionar voltar para sair do app',
'settings.forceTvMode' => 'Forçar modo TV',
'settings.forceTvModeDescription' => 'Usar o layout de TV independentemente da detecção automática. Útil em dispositivos Android TV que não reportam o recurso leanback. Reinicia o app ao alterar.',
'settings.startInFullscreen' => 'Iniciar em tela cheia',
'settings.startInFullscreenDescription' => 'Abrir o Plezy em modo de tela cheia ao iniciar',
'settings.autoHidePerformanceOverlay' => 'Ocultar overlay de desempenho automaticamente',
'settings.autoHidePerformanceOverlayDescription' => 'Desvanecer o overlay de desempenho com os controles de reprodução',
'settings.showNavBarLabels' => 'Mostrar Rótulos da Barra de Navegação',
@@ -1774,6 +1779,7 @@ extension on TranslationsPt {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsPt {
'libraries.failedToAnalyze' => ({required Object error}) => 'Falha ao analisar biblioteca: ${error}',
'libraries.noLibrariesFound' => 'Nenhuma biblioteca encontrada',
'libraries.allLibrariesHidden' => 'Todas as bibliotecas estão ocultas',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Bibliotecas ocultas (${count})',
'libraries.thisLibraryIsEmpty' => 'Esta biblioteca está vazia',
'libraries.all' => 'Todos',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Limpar Tudo',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Tem certeza que deseja escanear "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Tem certeza que deseja analisar "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsRu implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Показывать диалог подтверждения при нажатии «назад» для выхода из приложения';
@override String get forceTvMode => 'Принудительный режим ТВ';
@override String get forceTvModeDescription => 'Использовать макет ТВ независимо от автоматического определения. Полезно на устройствах Android TV, которые не сообщают о функции leanback. Приложение перезапустится при изменении.';
@override String get startInFullscreen => 'Запускать в полноэкранном режиме';
@override String get startInFullscreenDescription => 'Открывать Plezy в полноэкранном режиме при запуске';
@override String get autoHidePerformanceOverlay => 'Автоскрытие оверлея производительности';
@override String get autoHidePerformanceOverlayDescription => 'Скрывать оверлей производительности вместе с элементами управления воспроизведением';
@override String get showNavBarLabels => 'Показывать подписи панели навигации';
@@ -372,6 +374,7 @@ class _TranslationsSettingsRu implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsRu {
'settings.confirmExitOnBackDescription' => 'Показывать диалог подтверждения при нажатии «назад» для выхода из приложения',
'settings.forceTvMode' => 'Принудительный режим ТВ',
'settings.forceTvModeDescription' => 'Использовать макет ТВ независимо от автоматического определения. Полезно на устройствах Android TV, которые не сообщают о функции leanback. Приложение перезапустится при изменении.',
'settings.startInFullscreen' => 'Запускать в полноэкранном режиме',
'settings.startInFullscreenDescription' => 'Открывать Plezy в полноэкранном режиме при запуске',
'settings.autoHidePerformanceOverlay' => 'Автоскрытие оверлея производительности',
'settings.autoHidePerformanceOverlayDescription' => 'Скрывать оверлей производительности вместе с элементами управления воспроизведением',
'settings.showNavBarLabels' => 'Показывать подписи панели навигации',
@@ -1774,6 +1779,7 @@ extension on TranslationsRu {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsRu {
'libraries.failedToAnalyze' => ({required Object error}) => 'Не удалось проанализировать библиотеку: ${error}',
'libraries.noLibrariesFound' => 'Библиотеки не найдены',
'libraries.allLibrariesHidden' => 'Все библиотеки скрыты',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Скрытые библиотеки (${count})',
'libraries.thisLibraryIsEmpty' => 'Эта библиотека пуста',
'libraries.all' => 'Все',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Очистить все',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Вы уверены, что хотите сканировать "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Вы уверены, что хотите проанализировать "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsSv implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => 'Visa en bekräftelsedialog när du trycker tillbaka för att avsluta appen';
@override String get forceTvMode => 'Tvinga TV-läge';
@override String get forceTvModeDescription => 'Använd TV-layouten oavsett automatisk identifiering. Användbart på Android TV-enheter som inte rapporterar leanback-funktionen. Startar om appen vid ändring.';
@override String get startInFullscreen => 'Starta i helskärm';
@override String get startInFullscreenDescription => 'Öppna Plezy i helskärm vid start';
@override String get autoHidePerformanceOverlay => 'Dölj prestandaöverlagring automatiskt';
@override String get autoHidePerformanceOverlayDescription => 'Tona prestandaöverlagringen med uppspelningskontrollerna';
@override String get showNavBarLabels => 'Visa navigeringsfältets etiketter';
@@ -372,6 +374,7 @@ class _TranslationsSettingsSv implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsSv {
'settings.confirmExitOnBackDescription' => 'Visa en bekräftelsedialog när du trycker tillbaka för att avsluta appen',
'settings.forceTvMode' => 'Tvinga TV-läge',
'settings.forceTvModeDescription' => 'Använd TV-layouten oavsett automatisk identifiering. Användbart på Android TV-enheter som inte rapporterar leanback-funktionen. Startar om appen vid ändring.',
'settings.startInFullscreen' => 'Starta i helskärm',
'settings.startInFullscreenDescription' => 'Öppna Plezy i helskärm vid start',
'settings.autoHidePerformanceOverlay' => 'Dölj prestandaöverlagring automatiskt',
'settings.autoHidePerformanceOverlayDescription' => 'Tona prestandaöverlagringen med uppspelningskontrollerna',
'settings.showNavBarLabels' => 'Visa navigeringsfältets etiketter',
@@ -1774,6 +1779,7 @@ extension on TranslationsSv {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsSv {
'libraries.failedToAnalyze' => ({required Object error}) => 'Misslyckades att analysera bibliotek: ${error}',
'libraries.noLibrariesFound' => 'Inga bibliotek hittades',
'libraries.allLibrariesHidden' => 'Alla bibliotek är dolda',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Dolda bibliotek (${count})',
'libraries.thisLibraryIsEmpty' => 'Detta bibliotek är tomt',
'libraries.all' => 'Alla',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => 'Rensa alla',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Är du säker på att du vill skanna "${title}"?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => 'Är du säker på att du vill analysera "${title}"?',
+8 -2
View File
@@ -363,6 +363,8 @@ class _TranslationsSettingsZh implements TranslationsSettingsEn {
@override String get confirmExitOnBackDescription => '按返回键退出应用时显示确认对话框';
@override String get forceTvMode => '强制 TV 模式';
@override String get forceTvModeDescription => '无论自动检测结果如何都使用 TV 布局。适用于未报告 leanback 功能的 Android TV 设备。更改后将重启应用。';
@override String get startInFullscreen => '以全屏模式启动';
@override String get startInFullscreenDescription => '启动时以全屏模式打开 Plezy';
@override String get autoHidePerformanceOverlay => '自动隐藏性能叠加层';
@override String get autoHidePerformanceOverlayDescription => '性能叠加层随播放控件一起淡入淡出';
@override String get showNavBarLabels => '显示导航栏标签';
@@ -372,6 +374,7 @@ class _TranslationsSettingsZh implements TranslationsSettingsEn {
@override String get display => 'Display';
@override String get homeScreen => 'Home Screen';
@override String get navigation => 'Navigation';
@override String get window => 'Window';
@override String get content => 'Content';
@override String get player => 'Player';
@override String get subtitlesAndConfig => 'Subtitles & Configuration';
@@ -1765,6 +1768,8 @@ extension on TranslationsZh {
'settings.confirmExitOnBackDescription' => '按返回键退出应用时显示确认对话框',
'settings.forceTvMode' => '强制 TV 模式',
'settings.forceTvModeDescription' => '无论自动检测结果如何都使用 TV 布局。适用于未报告 leanback 功能的 Android TV 设备。更改后将重启应用。',
'settings.startInFullscreen' => '以全屏模式启动',
'settings.startInFullscreenDescription' => '启动时以全屏模式打开 Plezy',
'settings.autoHidePerformanceOverlay' => '自动隐藏性能叠加层',
'settings.autoHidePerformanceOverlayDescription' => '性能叠加层随播放控件一起淡入淡出',
'settings.showNavBarLabels' => '显示导航栏标签',
@@ -1774,6 +1779,7 @@ extension on TranslationsZh {
'settings.display' => 'Display',
'settings.homeScreen' => 'Home Screen',
'settings.navigation' => 'Navigation',
'settings.window' => 'Window',
'settings.content' => 'Content',
'settings.player' => 'Player',
'settings.subtitlesAndConfig' => 'Subtitles & Configuration',
@@ -2043,11 +2049,11 @@ extension on TranslationsZh {
'libraries.failedToAnalyze' => ({required Object error}) => '无法分析媒体库: ${error}',
'libraries.noLibrariesFound' => '未找到媒体库',
'libraries.allLibrariesHidden' => '所有媒体库已隐藏',
_ => null,
} ?? switch (path) {
'libraries.hiddenLibrariesCount' => ({required Object count}) => '已隐藏的媒体库 (${count})',
'libraries.thisLibraryIsEmpty' => '此媒体库为空',
'libraries.all' => '全部',
_ => null,
} ?? switch (path) {
'libraries.clearAll' => '全部清除',
'libraries.scanLibraryConfirm' => ({required Object title}) => '确定要扫描 “${title}” 吗?',
'libraries.analyzeLibraryConfirm' => ({required Object title}) => '确定要分析 “${title}” 吗?',
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "Visa en bekräftelsedialog när du trycker tillbaka för att avsluta appen",
"forceTvMode": "Tvinga TV-läge",
"forceTvModeDescription": "Använd TV-layouten oavsett automatisk identifiering. Användbart på Android TV-enheter som inte rapporterar leanback-funktionen. Startar om appen vid ändring.",
"startInFullscreen": "Starta i helskärm",
"startInFullscreenDescription": "Öppna Plezy i helskärm vid start",
"autoHidePerformanceOverlay": "Dölj prestandaöverlagring automatiskt",
"autoHidePerformanceOverlayDescription": "Tona prestandaöverlagringen med uppspelningskontrollerna",
"showNavBarLabels": "Visa navigeringsfältets etiketter",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+3
View File
@@ -241,6 +241,8 @@
"confirmExitOnBackDescription": "按返回键退出应用时显示确认对话框",
"forceTvMode": "强制 TV 模式",
"forceTvModeDescription": "无论自动检测结果如何都使用 TV 布局。适用于未报告 leanback 功能的 Android TV 设备。更改后将重启应用。",
"startInFullscreen": "以全屏模式启动",
"startInFullscreenDescription": "启动时以全屏模式打开 Plezy",
"autoHidePerformanceOverlay": "自动隐藏性能叠加层",
"autoHidePerformanceOverlayDescription": "性能叠加层随播放控件一起淡入淡出",
"showNavBarLabels": "显示导航栏标签",
@@ -250,6 +252,7 @@
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
+7
View File
@@ -207,6 +207,13 @@ Future<void> _bootstrapApp() async {
// Start global fullscreen state monitoring
FullscreenStateManager().startMonitoring();
// Apply "start in fullscreen" preference on Windows/Linux. macOS is
// excluded — its native fullscreen animation is awkward at launch and
// the OS already restores window state.
if ((Platform.isWindows || Platform.isLinux) && settings.read(SettingsService.startInFullscreen)) {
unawaited(FullscreenStateManager().enterFullscreen());
}
// Initialize gamepad service (all platforms — universal_gamepad auto-registers
// and intercepts input events, so we must listen to re-dispatch them)
GamepadService.instance.start();
@@ -77,6 +77,12 @@ class _AppearanceSettingsScreenState extends State<AppearanceSettingsScreen> {
if (!PlatformDetector.shouldUseSideNavigation(context)) _buildShowNavBarLabels(),
_buildShowUnwatchedCount(),
// --- Window (Windows/Linux only) ---
if (Platform.isWindows || Platform.isLinux) ...[
SettingsSectionHeader(t.settings.window),
_buildStartInFullscreen(),
],
// --- Content ---
SettingsSectionHeader(t.settings.content),
_buildLiveTvDefaultFavorites(),
@@ -343,6 +349,13 @@ class _AppearanceSettingsScreenState extends State<AppearanceSettingsScreen> {
pref: settings.SettingsService.confirmExitOnBack,
);
Widget _buildStartInFullscreen() => _buildListenableSwitch(
icon: Symbols.fullscreen_rounded,
title: t.settings.startInFullscreen,
subtitle: t.settings.startInFullscreenDescription,
pref: settings.SettingsService.startInFullscreen,
);
Widget _buildForceTvMode() => _buildListenableSwitch(
icon: Symbols.tv_rounded,
title: t.settings.forceTvMode,
@@ -61,6 +61,21 @@ class FullscreenStateManager extends ChangeNotifier with WindowListener {
}
}
/// Enter fullscreen, preserving maximized state on Windows/Linux for restoration on exit.
Future<void> enterFullscreen() async {
if (Platform.isMacOS) {
await MacOSWindowService.enterFullscreen();
} else if (Platform.isWindows) {
await NativeWindowService.setFullScreen(true);
} else {
_wasMaximized = await windowManager.isMaximized();
if (_wasMaximized) {
await windowManager.unmaximize();
}
await windowManager.setFullScreen(true);
}
}
/// Exit fullscreen, restoring maximized state if needed
Future<void> exitFullscreen() async {
if (Platform.isMacOS) {
+1
View File
@@ -354,6 +354,7 @@ class SettingsService extends BaseSharedPreferencesService {
'enable_companion_remote_server',
defaultValue: PlatformDetector.isDesktopOS(),
);
static const startInFullscreen = BoolPref('start_in_fullscreen');
static const bufferSize = _BufferSizePref();
static const libraryDensity = _LibraryDensityPref();