@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Vis profilvalg hver gang appen åbnes",
|
||||
"confirmExitOnBack": "Bekræft før lukning",
|
||||
"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.",
|
||||
"autoHidePerformanceOverlay": "Skjul ydelses-overlay automatisk",
|
||||
"autoHidePerformanceOverlayDescription": "Fade ydelses-overlayet med afspilningskontrollerne",
|
||||
"showNavBarLabels": "Vis navigationsbarlabels",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Profilauswahl bei jedem Öffnen der App anzeigen",
|
||||
"confirmExitOnBack": "Vor dem Beenden bestätigen",
|
||||
"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.",
|
||||
"autoHidePerformanceOverlay": "Leistungsoverlay automatisch ausblenden",
|
||||
"autoHidePerformanceOverlayDescription": "Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden",
|
||||
"showNavBarLabels": "Navigationsleisten-Beschriftungen anzeigen",
|
||||
|
||||
@@ -227,6 +227,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Show profile selection every time the app is opened",
|
||||
"confirmExitOnBack": "Confirm before exiting",
|
||||
"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.",
|
||||
"autoHidePerformanceOverlay": "Auto-Hide Performance Overlay",
|
||||
"autoHidePerformanceOverlayDescription": "Fade the performance overlay with the playback controls",
|
||||
"showNavBarLabels": "Show Navigation Bar Labels",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Mostrar selección de perfil cada vez que se abre la aplicación",
|
||||
"confirmExitOnBack": "Confirmar antes de salir",
|
||||
"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.",
|
||||
"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",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Afficher la sélection de profil à chaque ouverture de l'application",
|
||||
"confirmExitOnBack": "Confirmer avant de quitter",
|
||||
"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.",
|
||||
"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",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Mostra la selezione del profilo ogni volta che l'app viene aperta",
|
||||
"confirmExitOnBack": "Conferma prima di uscire",
|
||||
"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.",
|
||||
"autoHidePerformanceOverlay": "Nascondi automaticamente overlay prestazioni",
|
||||
"autoHidePerformanceOverlayDescription": "Dissolvi l'overlay prestazioni con i controlli di riproduzione",
|
||||
"showNavBarLabels": "Mostra etichette barra di navigazione",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "アプリを開くたびにプロフィール選択を表示",
|
||||
"confirmExitOnBack": "終了前に確認",
|
||||
"confirmExitOnBackDescription": "戻るボタンでアプリを終了する際に確認ダイアログを表示",
|
||||
"forceTvMode": "TVモードを強制",
|
||||
"forceTvModeDescription": "自動検出に関係なくTVレイアウトを使用します。leanback機能を報告しないAndroid TVデバイスで便利です。変更するとアプリが再起動されます。",
|
||||
"autoHidePerformanceOverlay": "パフォーマンスオーバーレイを自動非表示",
|
||||
"autoHidePerformanceOverlayDescription": "再生コントロールと一緒にパフォーマンスオーバーレイをフェードする",
|
||||
"showNavBarLabels": "ナビゲーションバーラベルを表示",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "앱을 열 때마다 프로필 선택 화면을 표시합니다",
|
||||
"confirmExitOnBack": "종료 전 확인",
|
||||
"confirmExitOnBackDescription": "뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다",
|
||||
"forceTvMode": "TV 모드 강제 사용",
|
||||
"forceTvModeDescription": "자동 감지와 관계없이 TV 레이아웃을 사용합니다. leanback 기능을 보고하지 않는 Android TV 기기에 유용합니다. 변경 시 앱이 다시 시작됩니다.",
|
||||
"autoHidePerformanceOverlay": "성능 오버레이 자동 숨기기",
|
||||
"autoHidePerformanceOverlayDescription": "재생 컨트롤과 함께 성능 오버레이를 페이드 처리",
|
||||
"showNavBarLabels": "내비게이션 바 라벨 표시",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Vis profilvalg hver gang appen åpnes",
|
||||
"confirmExitOnBack": "Bekreft før avslutning",
|
||||
"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.",
|
||||
"autoHidePerformanceOverlay": "Skjul ytelsesoverlegg automatisk",
|
||||
"autoHidePerformanceOverlayDescription": "Fade ytelsesoverlegget med avspillingskontrollene",
|
||||
"showNavBarLabels": "Vis navigasjonsfeltlabeler",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Toon profielselectie telkens wanneer de app wordt geopend",
|
||||
"confirmExitOnBack": "Bevestigen voor afsluiten",
|
||||
"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.",
|
||||
"autoHidePerformanceOverlay": "Prestatie-overlay automatisch verbergen",
|
||||
"autoHidePerformanceOverlayDescription": "Laat de prestatie-overlay meevervagen met de afspeelknoppen",
|
||||
"showNavBarLabels": "Navigatiebalk labels tonen",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Pokaż wybór profilu za każdym razem, gdy aplikacja jest otwierana",
|
||||
"confirmExitOnBack": "Potwierdź przed wyjściem",
|
||||
"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.",
|
||||
"autoHidePerformanceOverlay": "Automatycznie ukrywaj nakładkę wydajności",
|
||||
"autoHidePerformanceOverlayDescription": "Wygaszaj nakładkę wydajności wraz z kontrolkami odtwarzania",
|
||||
"showNavBarLabels": "Pokaż etykiety paska nawigacji",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Mostrar seleção de perfil toda vez que o app for aberto",
|
||||
"confirmExitOnBack": "Confirmar antes de sair",
|
||||
"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.",
|
||||
"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",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Показывать выбор профиля при каждом открытии приложения",
|
||||
"confirmExitOnBack": "Подтверждать выход",
|
||||
"confirmExitOnBackDescription": "Показывать диалог подтверждения при нажатии «назад» для выхода из приложения",
|
||||
"forceTvMode": "Принудительный режим ТВ",
|
||||
"forceTvModeDescription": "Использовать макет ТВ независимо от автоматического определения. Полезно на устройствах Android TV, которые не сообщают о функции leanback. Приложение перезапустится при изменении.",
|
||||
"autoHidePerformanceOverlay": "Автоскрытие оверлея производительности",
|
||||
"autoHidePerformanceOverlayDescription": "Скрывать оверлей производительности вместе с элементами управления воспроизведением",
|
||||
"showNavBarLabels": "Показывать подписи панели навигации",
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 15
|
||||
/// Strings: 13290 (886 per locale)
|
||||
/// Strings: 13320 (888 per locale)
|
||||
///
|
||||
/// Built on 2026-04-17 at 12:37 UTC
|
||||
/// Built on 2026-04-17 at 17:39 UTC
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsDa implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Vis profilvalg hver gang appen åbnes';
|
||||
@override String get confirmExitOnBack => 'Bekræft før lukning';
|
||||
@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 autoHidePerformanceOverlay => 'Skjul ydelses-overlay automatisk';
|
||||
@override String get autoHidePerformanceOverlayDescription => 'Fade ydelses-overlayet med afspilningskontrollerne';
|
||||
@override String get showNavBarLabels => 'Vis navigationsbarlabels';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsDa {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Vis profilvalg hver gang appen åbnes',
|
||||
'settings.confirmExitOnBack' => 'Bekræft før lukning',
|
||||
'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.autoHidePerformanceOverlay' => 'Skjul ydelses-overlay automatisk',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Fade ydelses-overlayet med afspilningskontrollerne',
|
||||
'settings.showNavBarLabels' => 'Vis navigationsbarlabels',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsDa {
|
||||
'libraries.tabs.collections' => 'Samlinger',
|
||||
'libraries.tabs.playlists' => 'Playlister',
|
||||
'libraries.groupings.title' => 'Gruppering',
|
||||
'libraries.groupings.all' => 'Alle',
|
||||
'libraries.groupings.movies' => 'Film',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Alle',
|
||||
'libraries.groupings.movies' => 'Film',
|
||||
'libraries.groupings.shows' => 'TV-serier',
|
||||
'libraries.groupings.seasons' => 'Sæsoner',
|
||||
'libraries.groupings.episodes' => 'Episoder',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsDe implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Profilauswahl bei jedem Öffnen der App anzeigen';
|
||||
@override String get confirmExitOnBack => 'Vor dem Beenden bestätigen';
|
||||
@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 autoHidePerformanceOverlay => 'Leistungsoverlay automatisch ausblenden';
|
||||
@override String get autoHidePerformanceOverlayDescription => 'Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden';
|
||||
@override String get showNavBarLabels => 'Navigationsleisten-Beschriftungen anzeigen';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsDe {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Profilauswahl bei jedem Öffnen der App anzeigen',
|
||||
'settings.confirmExitOnBack' => 'Vor dem Beenden bestätigen',
|
||||
'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.autoHidePerformanceOverlay' => 'Leistungsoverlay automatisch ausblenden',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden',
|
||||
'settings.showNavBarLabels' => 'Navigationsleisten-Beschriftungen anzeigen',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsDe {
|
||||
'libraries.tabs.collections' => 'Sammlungen',
|
||||
'libraries.tabs.playlists' => 'Wiedergabelisten',
|
||||
'libraries.groupings.title' => 'Gruppierung',
|
||||
'libraries.groupings.all' => 'Alle',
|
||||
'libraries.groupings.movies' => 'Filme',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Alle',
|
||||
'libraries.groupings.movies' => 'Filme',
|
||||
'libraries.groupings.shows' => 'Serien',
|
||||
'libraries.groupings.seasons' => 'Staffeln',
|
||||
'libraries.groupings.episodes' => 'Episoden',
|
||||
|
||||
@@ -784,6 +784,12 @@ class TranslationsSettingsEn {
|
||||
/// en: 'Show a confirmation dialog when pressing back to exit the app'
|
||||
String get confirmExitOnBackDescription => 'Show a confirmation dialog when pressing back to exit the app';
|
||||
|
||||
/// en: 'Force TV mode'
|
||||
String get forceTvMode => 'Force TV mode';
|
||||
|
||||
/// 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: 'Auto-Hide Performance Overlay'
|
||||
String get autoHidePerformanceOverlay => 'Auto-Hide Performance Overlay';
|
||||
|
||||
@@ -3379,6 +3385,8 @@ extension on Translations {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Show profile selection every time the app is opened',
|
||||
'settings.confirmExitOnBack' => 'Confirm before exiting',
|
||||
'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.autoHidePerformanceOverlay' => 'Auto-Hide Performance Overlay',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Fade the performance overlay with the playback controls',
|
||||
'settings.showNavBarLabels' => 'Show Navigation Bar Labels',
|
||||
@@ -3672,10 +3680,10 @@ extension on Translations {
|
||||
'libraries.tabs.collections' => 'Collections',
|
||||
'libraries.tabs.playlists' => 'Playlists',
|
||||
'libraries.groupings.title' => 'Grouping',
|
||||
'libraries.groupings.all' => 'All',
|
||||
'libraries.groupings.movies' => 'Movies',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'All',
|
||||
'libraries.groupings.movies' => 'Movies',
|
||||
'libraries.groupings.shows' => 'TV Shows',
|
||||
'libraries.groupings.seasons' => 'Seasons',
|
||||
'libraries.groupings.episodes' => 'Episodes',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsEs implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Mostrar selección de perfil cada vez que se abre la aplicación';
|
||||
@override String get confirmExitOnBack => 'Confirmar antes de salir';
|
||||
@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 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';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsEs {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Mostrar selección de perfil cada vez que se abre la aplicación',
|
||||
'settings.confirmExitOnBack' => 'Confirmar antes de salir',
|
||||
'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.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',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsEs {
|
||||
'libraries.tabs.collections' => 'Colecciones',
|
||||
'libraries.tabs.playlists' => 'Listas',
|
||||
'libraries.groupings.title' => 'Agrupación',
|
||||
'libraries.groupings.all' => 'Todo',
|
||||
'libraries.groupings.movies' => 'Películas',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Todo',
|
||||
'libraries.groupings.movies' => 'Películas',
|
||||
'libraries.groupings.shows' => 'Series',
|
||||
'libraries.groupings.seasons' => 'Temporadas',
|
||||
'libraries.groupings.episodes' => 'Episodios',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsFr implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Afficher la sélection de profil à chaque ouverture de l\'application';
|
||||
@override String get confirmExitOnBack => 'Confirmer avant de quitter';
|
||||
@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 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';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsFr {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Afficher la sélection de profil à chaque ouverture de l\'application',
|
||||
'settings.confirmExitOnBack' => 'Confirmer avant de quitter',
|
||||
'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.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',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsFr {
|
||||
'libraries.tabs.collections' => 'Collections',
|
||||
'libraries.tabs.playlists' => 'Playlists',
|
||||
'libraries.groupings.title' => 'Regroupement',
|
||||
'libraries.groupings.all' => 'Tous',
|
||||
'libraries.groupings.movies' => 'Films',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Tous',
|
||||
'libraries.groupings.movies' => 'Films',
|
||||
'libraries.groupings.shows' => 'Show TV',
|
||||
'libraries.groupings.seasons' => 'Saisons',
|
||||
'libraries.groupings.episodes' => 'Épisodes',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsIt implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Mostra la selezione del profilo ogni volta che l\'app viene aperta';
|
||||
@override String get confirmExitOnBack => 'Conferma prima di uscire';
|
||||
@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 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';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsIt {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Mostra la selezione del profilo ogni volta che l\'app viene aperta',
|
||||
'settings.confirmExitOnBack' => 'Conferma prima di uscire',
|
||||
'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.autoHidePerformanceOverlay' => 'Nascondi automaticamente overlay prestazioni',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Dissolvi l\'overlay prestazioni con i controlli di riproduzione',
|
||||
'settings.showNavBarLabels' => 'Mostra etichette barra di navigazione',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsIt {
|
||||
'libraries.tabs.collections' => 'Raccolte',
|
||||
'libraries.tabs.playlists' => 'Playlist',
|
||||
'libraries.groupings.title' => 'Raggruppamento',
|
||||
'libraries.groupings.all' => 'Tutti',
|
||||
'libraries.groupings.movies' => 'Film',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Tutti',
|
||||
'libraries.groupings.movies' => 'Film',
|
||||
'libraries.groupings.shows' => 'Serie TV',
|
||||
'libraries.groupings.seasons' => 'Stagioni',
|
||||
'libraries.groupings.episodes' => 'Episodi',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsJa implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'アプリを開くたびにプロフィール選択を表示';
|
||||
@override String get confirmExitOnBack => '終了前に確認';
|
||||
@override String get confirmExitOnBackDescription => '戻るボタンでアプリを終了する際に確認ダイアログを表示';
|
||||
@override String get forceTvMode => 'TVモードを強制';
|
||||
@override String get forceTvModeDescription => '自動検出に関係なくTVレイアウトを使用します。leanback機能を報告しないAndroid TVデバイスで便利です。変更するとアプリが再起動されます。';
|
||||
@override String get autoHidePerformanceOverlay => 'パフォーマンスオーバーレイを自動非表示';
|
||||
@override String get autoHidePerformanceOverlayDescription => '再生コントロールと一緒にパフォーマンスオーバーレイをフェードする';
|
||||
@override String get showNavBarLabels => 'ナビゲーションバーラベルを表示';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsJa {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'アプリを開くたびにプロフィール選択を表示',
|
||||
'settings.confirmExitOnBack' => '終了前に確認',
|
||||
'settings.confirmExitOnBackDescription' => '戻るボタンでアプリを終了する際に確認ダイアログを表示',
|
||||
'settings.forceTvMode' => 'TVモードを強制',
|
||||
'settings.forceTvModeDescription' => '自動検出に関係なくTVレイアウトを使用します。leanback機能を報告しないAndroid TVデバイスで便利です。変更するとアプリが再起動されます。',
|
||||
'settings.autoHidePerformanceOverlay' => 'パフォーマンスオーバーレイを自動非表示',
|
||||
'settings.autoHidePerformanceOverlayDescription' => '再生コントロールと一緒にパフォーマンスオーバーレイをフェードする',
|
||||
'settings.showNavBarLabels' => 'ナビゲーションバーラベルを表示',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsJa {
|
||||
'libraries.tabs.collections' => 'コレクション',
|
||||
'libraries.tabs.playlists' => 'プレイリスト',
|
||||
'libraries.groupings.title' => 'グループ',
|
||||
'libraries.groupings.all' => 'すべて',
|
||||
'libraries.groupings.movies' => '映画',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'すべて',
|
||||
'libraries.groupings.movies' => '映画',
|
||||
'libraries.groupings.shows' => 'テレビ番組',
|
||||
'libraries.groupings.seasons' => 'シーズン',
|
||||
'libraries.groupings.episodes' => 'エピソード',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsKo implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => '앱을 열 때마다 프로필 선택 화면을 표시합니다';
|
||||
@override String get confirmExitOnBack => '종료 전 확인';
|
||||
@override String get confirmExitOnBackDescription => '뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다';
|
||||
@override String get forceTvMode => 'TV 모드 강제 사용';
|
||||
@override String get forceTvModeDescription => '자동 감지와 관계없이 TV 레이아웃을 사용합니다. leanback 기능을 보고하지 않는 Android TV 기기에 유용합니다. 변경 시 앱이 다시 시작됩니다.';
|
||||
@override String get autoHidePerformanceOverlay => '성능 오버레이 자동 숨기기';
|
||||
@override String get autoHidePerformanceOverlayDescription => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리';
|
||||
@override String get showNavBarLabels => '내비게이션 바 라벨 표시';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsKo {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => '앱을 열 때마다 프로필 선택 화면을 표시합니다',
|
||||
'settings.confirmExitOnBack' => '종료 전 확인',
|
||||
'settings.confirmExitOnBackDescription' => '뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다',
|
||||
'settings.forceTvMode' => 'TV 모드 강제 사용',
|
||||
'settings.forceTvModeDescription' => '자동 감지와 관계없이 TV 레이아웃을 사용합니다. leanback 기능을 보고하지 않는 Android TV 기기에 유용합니다. 변경 시 앱이 다시 시작됩니다.',
|
||||
'settings.autoHidePerformanceOverlay' => '성능 오버레이 자동 숨기기',
|
||||
'settings.autoHidePerformanceOverlayDescription' => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리',
|
||||
'settings.showNavBarLabels' => '내비게이션 바 라벨 표시',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsKo {
|
||||
'libraries.tabs.collections' => '컬렉션',
|
||||
'libraries.tabs.playlists' => '재생 목록',
|
||||
'libraries.groupings.title' => '그룹',
|
||||
'libraries.groupings.all' => '전체',
|
||||
'libraries.groupings.movies' => '영화',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => '전체',
|
||||
'libraries.groupings.movies' => '영화',
|
||||
'libraries.groupings.shows' => 'TV 프로그램',
|
||||
'libraries.groupings.seasons' => '시즌',
|
||||
'libraries.groupings.episodes' => '화',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsNb implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Vis profilvalg hver gang appen åpnes';
|
||||
@override String get confirmExitOnBack => 'Bekreft før avslutning';
|
||||
@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 autoHidePerformanceOverlay => 'Skjul ytelsesoverlegg automatisk';
|
||||
@override String get autoHidePerformanceOverlayDescription => 'Fade ytelsesoverlegget med avspillingskontrollene';
|
||||
@override String get showNavBarLabels => 'Vis navigasjonsfeltlabeler';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsNb {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Vis profilvalg hver gang appen åpnes',
|
||||
'settings.confirmExitOnBack' => 'Bekreft før avslutning',
|
||||
'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.autoHidePerformanceOverlay' => 'Skjul ytelsesoverlegg automatisk',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Fade ytelsesoverlegget med avspillingskontrollene',
|
||||
'settings.showNavBarLabels' => 'Vis navigasjonsfeltlabeler',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsNb {
|
||||
'libraries.tabs.collections' => 'Samlinger',
|
||||
'libraries.tabs.playlists' => 'Spillelister',
|
||||
'libraries.groupings.title' => 'Gruppering',
|
||||
'libraries.groupings.all' => 'Alle',
|
||||
'libraries.groupings.movies' => 'Filmer',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Alle',
|
||||
'libraries.groupings.movies' => 'Filmer',
|
||||
'libraries.groupings.shows' => 'TV-serier',
|
||||
'libraries.groupings.seasons' => 'Sesonger',
|
||||
'libraries.groupings.episodes' => 'Episoder',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsNl implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Toon profielselectie telkens wanneer de app wordt geopend';
|
||||
@override String get confirmExitOnBack => 'Bevestigen voor afsluiten';
|
||||
@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 autoHidePerformanceOverlay => 'Prestatie-overlay automatisch verbergen';
|
||||
@override String get autoHidePerformanceOverlayDescription => 'Laat de prestatie-overlay meevervagen met de afspeelknoppen';
|
||||
@override String get showNavBarLabels => 'Navigatiebalk labels tonen';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsNl {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Toon profielselectie telkens wanneer de app wordt geopend',
|
||||
'settings.confirmExitOnBack' => 'Bevestigen voor afsluiten',
|
||||
'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.autoHidePerformanceOverlay' => 'Prestatie-overlay automatisch verbergen',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Laat de prestatie-overlay meevervagen met de afspeelknoppen',
|
||||
'settings.showNavBarLabels' => 'Navigatiebalk labels tonen',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsNl {
|
||||
'libraries.tabs.collections' => 'Collecties',
|
||||
'libraries.tabs.playlists' => 'Afspeellijsten',
|
||||
'libraries.groupings.title' => 'Groepering',
|
||||
'libraries.groupings.all' => 'Alles',
|
||||
'libraries.groupings.movies' => 'Films',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Alles',
|
||||
'libraries.groupings.movies' => 'Films',
|
||||
'libraries.groupings.shows' => 'Series',
|
||||
'libraries.groupings.seasons' => 'Seizoenen',
|
||||
'libraries.groupings.episodes' => 'Afleveringen',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsPl implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Pokaż wybór profilu za każdym razem, gdy aplikacja jest otwierana';
|
||||
@override String get confirmExitOnBack => 'Potwierdź przed wyjściem';
|
||||
@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 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';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsPl {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Pokaż wybór profilu za każdym razem, gdy aplikacja jest otwierana',
|
||||
'settings.confirmExitOnBack' => 'Potwierdź przed wyjściem',
|
||||
'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.autoHidePerformanceOverlay' => 'Automatycznie ukrywaj nakładkę wydajności',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Wygaszaj nakładkę wydajności wraz z kontrolkami odtwarzania',
|
||||
'settings.showNavBarLabels' => 'Pokaż etykiety paska nawigacji',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsPl {
|
||||
'libraries.tabs.collections' => 'Kolekcje',
|
||||
'libraries.tabs.playlists' => 'Playlisty',
|
||||
'libraries.groupings.title' => 'Grupowanie',
|
||||
'libraries.groupings.all' => 'Wszystkie',
|
||||
'libraries.groupings.movies' => 'Filmy',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Wszystkie',
|
||||
'libraries.groupings.movies' => 'Filmy',
|
||||
'libraries.groupings.shows' => 'Seriale TV',
|
||||
'libraries.groupings.seasons' => 'Sezony',
|
||||
'libraries.groupings.episodes' => 'Odcinki',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsPt implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Mostrar seleção de perfil toda vez que o app for aberto';
|
||||
@override String get confirmExitOnBack => 'Confirmar antes de sair';
|
||||
@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 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';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsPt {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Mostrar seleção de perfil toda vez que o app for aberto',
|
||||
'settings.confirmExitOnBack' => 'Confirmar antes de sair',
|
||||
'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.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',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsPt {
|
||||
'libraries.tabs.collections' => 'Coleções',
|
||||
'libraries.tabs.playlists' => 'Playlists',
|
||||
'libraries.groupings.title' => 'Agrupamento',
|
||||
'libraries.groupings.all' => 'Todos',
|
||||
'libraries.groupings.movies' => 'Filmes',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Todos',
|
||||
'libraries.groupings.movies' => 'Filmes',
|
||||
'libraries.groupings.shows' => 'Séries de TV',
|
||||
'libraries.groupings.seasons' => 'Temporadas',
|
||||
'libraries.groupings.episodes' => 'Episódios',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsRu implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Показывать выбор профиля при каждом открытии приложения';
|
||||
@override String get confirmExitOnBack => 'Подтверждать выход';
|
||||
@override String get confirmExitOnBackDescription => 'Показывать диалог подтверждения при нажатии «назад» для выхода из приложения';
|
||||
@override String get forceTvMode => 'Принудительный режим ТВ';
|
||||
@override String get forceTvModeDescription => 'Использовать макет ТВ независимо от автоматического определения. Полезно на устройствах Android TV, которые не сообщают о функции leanback. Приложение перезапустится при изменении.';
|
||||
@override String get autoHidePerformanceOverlay => 'Автоскрытие оверлея производительности';
|
||||
@override String get autoHidePerformanceOverlayDescription => 'Скрывать оверлей производительности вместе с элементами управления воспроизведением';
|
||||
@override String get showNavBarLabels => 'Показывать подписи панели навигации';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsRu {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Показывать выбор профиля при каждом открытии приложения',
|
||||
'settings.confirmExitOnBack' => 'Подтверждать выход',
|
||||
'settings.confirmExitOnBackDescription' => 'Показывать диалог подтверждения при нажатии «назад» для выхода из приложения',
|
||||
'settings.forceTvMode' => 'Принудительный режим ТВ',
|
||||
'settings.forceTvModeDescription' => 'Использовать макет ТВ независимо от автоматического определения. Полезно на устройствах Android TV, которые не сообщают о функции leanback. Приложение перезапустится при изменении.',
|
||||
'settings.autoHidePerformanceOverlay' => 'Автоскрытие оверлея производительности',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Скрывать оверлей производительности вместе с элементами управления воспроизведением',
|
||||
'settings.showNavBarLabels' => 'Показывать подписи панели навигации',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsRu {
|
||||
'libraries.tabs.collections' => 'Коллекции',
|
||||
'libraries.tabs.playlists' => 'Плейлисты',
|
||||
'libraries.groupings.title' => 'Группировка',
|
||||
'libraries.groupings.all' => 'Все',
|
||||
'libraries.groupings.movies' => 'Фильмы',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Все',
|
||||
'libraries.groupings.movies' => 'Фильмы',
|
||||
'libraries.groupings.shows' => 'Сериалы',
|
||||
'libraries.groupings.seasons' => 'Сезоны',
|
||||
'libraries.groupings.episodes' => 'Эпизоды',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsSv implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Visa profilval varje gång appen öppnas';
|
||||
@override String get confirmExitOnBack => 'Bekräfta innan avslut';
|
||||
@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 autoHidePerformanceOverlay => 'Dölj prestandaöverlagring automatiskt';
|
||||
@override String get autoHidePerformanceOverlayDescription => 'Tona prestandaöverlagringen med uppspelningskontrollerna';
|
||||
@override String get showNavBarLabels => 'Visa navigeringsfältets etiketter';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsSv {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Visa profilval varje gång appen öppnas',
|
||||
'settings.confirmExitOnBack' => 'Bekräfta innan avslut',
|
||||
'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.autoHidePerformanceOverlay' => 'Dölj prestandaöverlagring automatiskt',
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Tona prestandaöverlagringen med uppspelningskontrollerna',
|
||||
'settings.showNavBarLabels' => 'Visa navigeringsfältets etiketter',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsSv {
|
||||
'libraries.tabs.collections' => 'Samlingar',
|
||||
'libraries.tabs.playlists' => 'Spellistor',
|
||||
'libraries.groupings.title' => 'Gruppering',
|
||||
'libraries.groupings.all' => 'Alla',
|
||||
'libraries.groupings.movies' => 'Filmer',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => 'Alla',
|
||||
'libraries.groupings.movies' => 'Filmer',
|
||||
'libraries.groupings.shows' => 'Serier',
|
||||
'libraries.groupings.seasons' => 'Säsonger',
|
||||
'libraries.groupings.episodes' => 'Avsnitt',
|
||||
|
||||
@@ -344,6 +344,8 @@ class _TranslationsSettingsZh implements TranslationsSettingsEn {
|
||||
@override String get requireProfileSelectionOnOpenDescription => '每次打开应用时显示配置文件选择';
|
||||
@override String get confirmExitOnBack => '退出前确认';
|
||||
@override String get confirmExitOnBackDescription => '按返回键退出应用时显示确认对话框';
|
||||
@override String get forceTvMode => '强制 TV 模式';
|
||||
@override String get forceTvModeDescription => '无论自动检测结果如何都使用 TV 布局。适用于未报告 leanback 功能的 Android TV 设备。更改后将重启应用。';
|
||||
@override String get autoHidePerformanceOverlay => '自动隐藏性能叠加层';
|
||||
@override String get autoHidePerformanceOverlayDescription => '性能叠加层随播放控件一起淡入淡出';
|
||||
@override String get showNavBarLabels => '显示导航栏标签';
|
||||
@@ -1598,6 +1600,8 @@ extension on TranslationsZh {
|
||||
'settings.requireProfileSelectionOnOpenDescription' => '每次打开应用时显示配置文件选择',
|
||||
'settings.confirmExitOnBack' => '退出前确认',
|
||||
'settings.confirmExitOnBackDescription' => '按返回键退出应用时显示确认对话框',
|
||||
'settings.forceTvMode' => '强制 TV 模式',
|
||||
'settings.forceTvModeDescription' => '无论自动检测结果如何都使用 TV 布局。适用于未报告 leanback 功能的 Android TV 设备。更改后将重启应用。',
|
||||
'settings.autoHidePerformanceOverlay' => '自动隐藏性能叠加层',
|
||||
'settings.autoHidePerformanceOverlayDescription' => '性能叠加层随播放控件一起淡入淡出',
|
||||
'settings.showNavBarLabels' => '显示导航栏标签',
|
||||
@@ -1893,10 +1897,10 @@ extension on TranslationsZh {
|
||||
'libraries.tabs.collections' => '合集',
|
||||
'libraries.tabs.playlists' => '播放列表',
|
||||
'libraries.groupings.title' => '分组',
|
||||
'libraries.groupings.all' => '全部',
|
||||
'libraries.groupings.movies' => '电影',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'libraries.groupings.all' => '全部',
|
||||
'libraries.groupings.movies' => '电影',
|
||||
'libraries.groupings.shows' => '剧集',
|
||||
'libraries.groupings.seasons' => '季',
|
||||
'libraries.groupings.episodes' => '集',
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "Visa profilval varje gång appen öppnas",
|
||||
"confirmExitOnBack": "Bekräfta innan avslut",
|
||||
"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.",
|
||||
"autoHidePerformanceOverlay": "Dölj prestandaöverlagring automatiskt",
|
||||
"autoHidePerformanceOverlayDescription": "Tona prestandaöverlagringen med uppspelningskontrollerna",
|
||||
"showNavBarLabels": "Visa navigeringsfältets etiketter",
|
||||
|
||||
@@ -225,6 +225,8 @@
|
||||
"requireProfileSelectionOnOpenDescription": "每次打开应用时显示配置文件选择",
|
||||
"confirmExitOnBack": "退出前确认",
|
||||
"confirmExitOnBackDescription": "按返回键退出应用时显示确认对话框",
|
||||
"forceTvMode": "强制 TV 模式",
|
||||
"forceTvModeDescription": "无论自动检测结果如何都使用 TV 布局。适用于未报告 leanback 功能的 Android TV 设备。更改后将重启应用。",
|
||||
"autoHidePerformanceOverlay": "自动隐藏性能叠加层",
|
||||
"autoHidePerformanceOverlayDescription": "性能叠加层随播放控件一起淡入淡出",
|
||||
"showNavBarLabels": "显示导航栏标签",
|
||||
|
||||
+1
-1
@@ -136,7 +136,7 @@ Future<void> _bootstrapApp() async {
|
||||
|
||||
// Initialize TV detection and PiP service for Android
|
||||
if (Platform.isAndroid) {
|
||||
futures.add(TvDetectionService.getInstance());
|
||||
futures.add(TvDetectionService.getInstance(forceTv: settings.getForceTvMode()));
|
||||
// Initialize PiP service to listen for PiP state changes
|
||||
PipService();
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:io' show Platform;
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:material_symbols_icons/symbols.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@@ -26,6 +28,7 @@ class _AppearanceSettingsScreenState extends State<AppearanceSettingsScreen> {
|
||||
bool _isLoading = true;
|
||||
bool _requireProfileSelectionOnOpen = false;
|
||||
bool _confirmExitOnBack = true;
|
||||
bool _forceTvMode = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -39,6 +42,7 @@ class _AppearanceSettingsScreenState extends State<AppearanceSettingsScreen> {
|
||||
setState(() {
|
||||
_requireProfileSelectionOnOpen = _settingsService.getRequireProfileSelectionOnOpen();
|
||||
_confirmExitOnBack = _settingsService.getConfirmExitOnBack();
|
||||
_forceTvMode = _settingsService.getForceTvMode();
|
||||
_isLoading = false;
|
||||
});
|
||||
}
|
||||
@@ -73,6 +77,7 @@ class _AppearanceSettingsScreenState extends State<AppearanceSettingsScreen> {
|
||||
|
||||
// --- Navigation ---
|
||||
SettingsSectionHeader(t.settings.navigation),
|
||||
if (Platform.isAndroid) _buildForceTvMode(),
|
||||
if (PlatformDetector.shouldUseSideNavigation(context)) _buildAlwaysKeepSidebarOpen(),
|
||||
if (!PlatformDetector.shouldUseSideNavigation(context)) _buildShowNavBarLabels(),
|
||||
_buildShowUnwatchedCount(),
|
||||
@@ -368,6 +373,21 @@ class _AppearanceSettingsScreenState extends State<AppearanceSettingsScreen> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildForceTvMode() {
|
||||
return SwitchListTile(
|
||||
secondary: const AppIcon(Symbols.tv_rounded, fill: 1),
|
||||
title: Text(t.settings.forceTvMode),
|
||||
subtitle: Text(t.settings.forceTvModeDescription),
|
||||
value: _forceTvMode,
|
||||
onChanged: (value) async {
|
||||
setState(() => _forceTvMode = value);
|
||||
await _settingsService.setForceTvMode(value);
|
||||
TvDetectionService.setForceTVSync(value);
|
||||
if (mounted) _restartApp();
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildAutoHidePerformanceOverlay() {
|
||||
return Consumer<SettingsProvider>(
|
||||
builder: (context, settingsProvider, child) {
|
||||
|
||||
@@ -112,6 +112,7 @@ class SettingsService extends BaseSharedPreferencesService {
|
||||
static const String _keySelectedExternalPlayer = 'selected_external_player';
|
||||
static const String _keyCustomExternalPlayers = 'custom_external_players';
|
||||
static const String _keyConfirmExitOnBack = 'confirm_exit_on_back';
|
||||
static const String _keyForceTvMode = 'force_tv_mode';
|
||||
static const String _keyAmbientLighting = 'ambient_lighting';
|
||||
static const String _keyAudioPassthrough = 'audio_passthrough';
|
||||
static const String _keyAudioNormalization = 'audio_normalization';
|
||||
@@ -1374,6 +1375,13 @@ class SettingsService extends BaseSharedPreferencesService {
|
||||
return prefs.getBool(_keyConfirmExitOnBack) ?? true; // Default: enabled
|
||||
}
|
||||
|
||||
// Force TV Mode (Android)
|
||||
Future<void> setForceTvMode(bool value) async {
|
||||
await prefs.setBool(_keyForceTvMode, value);
|
||||
}
|
||||
|
||||
bool getForceTvMode() => prefs.getBool(_keyForceTvMode) ?? false;
|
||||
|
||||
// Ambient Lighting
|
||||
Future<void> setAmbientLighting(bool enabled) async {
|
||||
await prefs.setBool(_keyAmbientLighting, enabled);
|
||||
@@ -1463,6 +1471,7 @@ class SettingsService extends BaseSharedPreferencesService {
|
||||
prefs.remove(_keySelectedExternalPlayer),
|
||||
prefs.remove(_keyCustomExternalPlayers),
|
||||
prefs.remove(_keyConfirmExitOnBack),
|
||||
prefs.remove(_keyForceTvMode),
|
||||
prefs.remove(_keyAmbientLighting),
|
||||
prefs.remove(_keyAudioPassthrough),
|
||||
prefs.remove(_keyAudioNormalization),
|
||||
|
||||
@@ -7,36 +7,50 @@ import 'package:flutter/material.dart';
|
||||
/// Service for detecting if the app is running on Android TV
|
||||
class TvDetectionService {
|
||||
static TvDetectionService? _instance;
|
||||
bool _detected = false;
|
||||
bool _forceTv = false;
|
||||
bool _isTV = false;
|
||||
bool _initialized = false;
|
||||
|
||||
TvDetectionService._();
|
||||
|
||||
/// Get the singleton instance, initializing if needed
|
||||
static Future<TvDetectionService> getInstance() async {
|
||||
/// Get the singleton instance, initializing if needed.
|
||||
/// Pass [forceTv] to combine a user override with the system-feature check.
|
||||
static Future<TvDetectionService> getInstance({bool forceTv = false}) async {
|
||||
if (_instance == null) {
|
||||
_instance = TvDetectionService._();
|
||||
await _instance!._detect();
|
||||
await _instance!._detect(forceTv);
|
||||
}
|
||||
return _instance!;
|
||||
}
|
||||
|
||||
Future<void> _detect() async {
|
||||
Future<void> _detect(bool forceTv) async {
|
||||
if (_initialized) return;
|
||||
|
||||
if (Platform.isAndroid) {
|
||||
final deviceInfo = DeviceInfoPlugin();
|
||||
final androidInfo = await deviceInfo.androidInfo;
|
||||
// Check for android.software.leanback feature (standard Android TV detection)
|
||||
_isTV = androidInfo.systemFeatures.contains('android.software.leanback');
|
||||
_detected = androidInfo.systemFeatures.contains('android.software.leanback');
|
||||
}
|
||||
_forceTv = forceTv;
|
||||
_isTV = _detected || _forceTv;
|
||||
_initialized = true;
|
||||
}
|
||||
|
||||
bool get isTV => _isTV;
|
||||
|
||||
/// Update the user force-TV override and recompute the effective flag.
|
||||
void setForceTv(bool value) {
|
||||
_forceTv = value;
|
||||
_isTV = _detected || _forceTv;
|
||||
}
|
||||
|
||||
/// Synchronous access after initialization (returns false if not initialized)
|
||||
static bool isTVSync() => _instance?._isTV ?? false;
|
||||
|
||||
/// Convenience setter that forwards to the singleton if available.
|
||||
static void setForceTVSync(bool value) => _instance?.setForceTv(value);
|
||||
}
|
||||
|
||||
/// Utility class for platform detection
|
||||
|
||||
Reference in New Issue
Block a user