diff --git a/lib/i18n/da.i18n.json b/lib/i18n/da.i18n.json index 34503c17..ecc88e90 100644 --- a/lib/i18n/da.i18n.json +++ b/lib/i18n/da.i18n.json @@ -223,6 +223,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", + "autoHidePerformanceOverlay": "Skjul ydelses-overlay automatisk", + "autoHidePerformanceOverlayDescription": "Fade ydelses-overlayet med afspilningskontrollerne", "showNavBarLabels": "Vis navigationsbarlabels", "showNavBarLabelsDescription": "Vis tekstlabels under navigationsbarikoner", "liveTvDefaultFavorites": "Standard til favoritkanaler", diff --git a/lib/i18n/de.i18n.json b/lib/i18n/de.i18n.json index 29f27aa6..083f6c83 100644 --- a/lib/i18n/de.i18n.json +++ b/lib/i18n/de.i18n.json @@ -223,6 +223,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", + "autoHidePerformanceOverlay": "Leistungsoverlay automatisch ausblenden", + "autoHidePerformanceOverlayDescription": "Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden", "showNavBarLabels": "Navigationsleisten-Beschriftungen anzeigen", "showNavBarLabelsDescription": "Textbeschriftungen unter den Symbolen der Navigationsleiste anzeigen", "liveTvDefaultFavorites": "Standardmäßig Favoritenkanäle", diff --git a/lib/i18n/en.i18n.json b/lib/i18n/en.i18n.json index 16eaa8a8..c6cf83cf 100644 --- a/lib/i18n/en.i18n.json +++ b/lib/i18n/en.i18n.json @@ -223,6 +223,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", + "autoHidePerformanceOverlay": "Auto-Hide Performance Overlay", + "autoHidePerformanceOverlayDescription": "Fade the performance overlay with the playback controls", "showNavBarLabels": "Show Navigation Bar Labels", "showNavBarLabelsDescription": "Display text labels under navigation bar icons", "liveTvDefaultFavorites": "Default to Favorite Channels", diff --git a/lib/i18n/es.i18n.json b/lib/i18n/es.i18n.json index 00730e25..bdc5f806 100644 --- a/lib/i18n/es.i18n.json +++ b/lib/i18n/es.i18n.json @@ -223,6 +223,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", + "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", "showNavBarLabelsDescription": "Mostrar etiquetas de texto bajo los iconos de la barra de navegación", "liveTvDefaultFavorites": "Canales favoritos por defecto", diff --git a/lib/i18n/fr.i18n.json b/lib/i18n/fr.i18n.json index 72c96460..86b633dc 100644 --- a/lib/i18n/fr.i18n.json +++ b/lib/i18n/fr.i18n.json @@ -223,6 +223,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", + "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", "showNavBarLabelsDescription": "Afficher les libellés sous les icônes de la barre de navigation", "liveTvDefaultFavorites": "Chaînes favorites par défaut", diff --git a/lib/i18n/it.i18n.json b/lib/i18n/it.i18n.json index e9eefcbc..8bebbb2d 100644 --- a/lib/i18n/it.i18n.json +++ b/lib/i18n/it.i18n.json @@ -223,6 +223,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", + "autoHidePerformanceOverlay": "Nascondi automaticamente overlay prestazioni", + "autoHidePerformanceOverlayDescription": "Dissolvi l'overlay prestazioni con i controlli di riproduzione", "showNavBarLabels": "Mostra etichette barra di navigazione", "showNavBarLabelsDescription": "Mostra le etichette sotto le icone della barra di navigazione", "liveTvDefaultFavorites": "Canali preferiti predefiniti", diff --git a/lib/i18n/ja.i18n.json b/lib/i18n/ja.i18n.json index fdcbfcb5..bd503dfb 100644 --- a/lib/i18n/ja.i18n.json +++ b/lib/i18n/ja.i18n.json @@ -223,6 +223,8 @@ "requireProfileSelectionOnOpenDescription": "アプリを開くたびにプロフィール選択を表示", "confirmExitOnBack": "終了前に確認", "confirmExitOnBackDescription": "戻るボタンでアプリを終了する際に確認ダイアログを表示", + "autoHidePerformanceOverlay": "パフォーマンスオーバーレイを自動非表示", + "autoHidePerformanceOverlayDescription": "再生コントロールと一緒にパフォーマンスオーバーレイをフェードする", "showNavBarLabels": "ナビゲーションバーラベルを表示", "showNavBarLabelsDescription": "ナビゲーションバーアイコンの下にテキストラベルを表示", "liveTvDefaultFavorites": "お気に入りチャンネルをデフォルトに", diff --git a/lib/i18n/ko.i18n.json b/lib/i18n/ko.i18n.json index 3a415387..dcd7da02 100644 --- a/lib/i18n/ko.i18n.json +++ b/lib/i18n/ko.i18n.json @@ -223,6 +223,8 @@ "requireProfileSelectionOnOpenDescription": "앱을 열 때마다 프로필 선택 화면을 표시합니다", "confirmExitOnBack": "종료 전 확인", "confirmExitOnBackDescription": "뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다", + "autoHidePerformanceOverlay": "성능 오버레이 자동 숨기기", + "autoHidePerformanceOverlayDescription": "재생 컨트롤과 함께 성능 오버레이를 페이드 처리", "showNavBarLabels": "내비게이션 바 라벨 표시", "showNavBarLabelsDescription": "내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다", "liveTvDefaultFavorites": "즐겨찾기 채널 기본 설정", diff --git a/lib/i18n/nb.i18n.json b/lib/i18n/nb.i18n.json index 8ff61299..52f6e9c3 100644 --- a/lib/i18n/nb.i18n.json +++ b/lib/i18n/nb.i18n.json @@ -223,6 +223,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", + "autoHidePerformanceOverlay": "Skjul ytelsesoverlegg automatisk", + "autoHidePerformanceOverlayDescription": "Fade ytelsesoverlegget med avspillingskontrollene", "showNavBarLabels": "Vis navigasjonsfeltlabeler", "showNavBarLabelsDescription": "Vis tekstlabeler under navigasjonsfeltikoner", "liveTvDefaultFavorites": "Standard til favorittkanaler", diff --git a/lib/i18n/nl.i18n.json b/lib/i18n/nl.i18n.json index 28c22e91..5f09bbb0 100644 --- a/lib/i18n/nl.i18n.json +++ b/lib/i18n/nl.i18n.json @@ -223,6 +223,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", + "autoHidePerformanceOverlay": "Prestatie-overlay automatisch verbergen", + "autoHidePerformanceOverlayDescription": "Laat de prestatie-overlay meevervagen met de afspeelknoppen", "showNavBarLabels": "Navigatiebalk labels tonen", "showNavBarLabelsDescription": "Tekstlabels onder de pictogrammen van de navigatiebalk weergeven", "liveTvDefaultFavorites": "Standaard favoriete zenders", diff --git a/lib/i18n/pl.i18n.json b/lib/i18n/pl.i18n.json index f1b6a19f..bdc85c34 100644 --- a/lib/i18n/pl.i18n.json +++ b/lib/i18n/pl.i18n.json @@ -223,6 +223,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", + "autoHidePerformanceOverlay": "Automatycznie ukrywaj nakładkę wydajności", + "autoHidePerformanceOverlayDescription": "Wygaszaj nakładkę wydajności wraz z kontrolkami odtwarzania", "showNavBarLabels": "Pokaż etykiety paska nawigacji", "showNavBarLabelsDescription": "Wyświetl tekstowe etykiety pod ikonami paska nawigacji", "liveTvDefaultFavorites": "Domyślnie ulubione kanały", diff --git a/lib/i18n/pt.i18n.json b/lib/i18n/pt.i18n.json index f221795e..69d7a6f5 100644 --- a/lib/i18n/pt.i18n.json +++ b/lib/i18n/pt.i18n.json @@ -223,6 +223,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", + "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", "showNavBarLabelsDescription": "Exibir rótulos de texto sob os ícones da barra de navegação", "liveTvDefaultFavorites": "Canais favoritos por padrão", diff --git a/lib/i18n/ru.i18n.json b/lib/i18n/ru.i18n.json index 282714c6..441e611c 100644 --- a/lib/i18n/ru.i18n.json +++ b/lib/i18n/ru.i18n.json @@ -223,6 +223,8 @@ "requireProfileSelectionOnOpenDescription": "Показывать выбор профиля при каждом открытии приложения", "confirmExitOnBack": "Подтверждать выход", "confirmExitOnBackDescription": "Показывать диалог подтверждения при нажатии «назад» для выхода из приложения", + "autoHidePerformanceOverlay": "Автоскрытие оверлея производительности", + "autoHidePerformanceOverlayDescription": "Скрывать оверлей производительности вместе с элементами управления воспроизведением", "showNavBarLabels": "Показывать подписи панели навигации", "showNavBarLabelsDescription": "Отображать текстовые подписи под иконками панели навигации", "liveTvDefaultFavorites": "Избранные каналы по умолчанию", diff --git a/lib/i18n/strings.g.dart b/lib/i18n/strings.g.dart index 5b8a76d3..91f4b0fc 100644 --- a/lib/i18n/strings.g.dart +++ b/lib/i18n/strings.g.dart @@ -4,9 +4,9 @@ /// To regenerate, run: `dart run slang` /// /// Locales: 15 -/// Strings: 12855 (857 per locale) +/// Strings: 12885 (859 per locale) /// -/// Built on 2026-04-08 at 17:29 UTC +/// Built on 2026-04-09 at 23:27 UTC // coverage:ignore-file // ignore_for_file: type=lint, unused_import diff --git a/lib/i18n/strings_da.g.dart b/lib/i18n/strings_da.g.dart index 8719a82a..c180ccc5 100644 --- a/lib/i18n/strings_da.g.dart +++ b/lib/i18n/strings_da.g.dart @@ -342,6 +342,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 autoHidePerformanceOverlay => 'Skjul ydelses-overlay automatisk'; + @override String get autoHidePerformanceOverlayDescription => 'Fade ydelses-overlayet med afspilningskontrollerne'; @override String get showNavBarLabels => 'Vis navigationsbarlabels'; @override String get showNavBarLabelsDescription => 'Vis tekstlabels under navigationsbarikoner'; @override String get liveTvDefaultFavorites => 'Standard til favoritkanaler'; @@ -1567,6 +1569,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.autoHidePerformanceOverlay' => 'Skjul ydelses-overlay automatisk', + 'settings.autoHidePerformanceOverlayDescription' => 'Fade ydelses-overlayet med afspilningskontrollerne', 'settings.showNavBarLabels' => 'Vis navigationsbarlabels', 'settings.showNavBarLabelsDescription' => 'Vis tekstlabels under navigationsbarikoner', 'settings.liveTvDefaultFavorites' => 'Standard til favoritkanaler', @@ -1864,10 +1868,10 @@ extension on TranslationsDa { 'about.viewLicensesDescription' => 'Se licenser for tredjepartsbiblioteker', 'serverSelection.allServerConnectionsFailed' => 'Kunne ikke forbinde til nogen servere. Tjek dit netværk og prøv igen.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Ingen servere fundet for ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke indlæse servere: ${error}', - 'hubDetail.title' => 'Titel', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke indlæse servere: ${error}', + 'hubDetail.title' => 'Titel', 'hubDetail.releaseYear' => 'Udgivelsesår', 'hubDetail.dateAdded' => 'Tilføjelsesdato', 'hubDetail.rating' => 'Bedømmelse', diff --git a/lib/i18n/strings_de.g.dart b/lib/i18n/strings_de.g.dart index a3ff3d70..a5e3e2e3 100644 --- a/lib/i18n/strings_de.g.dart +++ b/lib/i18n/strings_de.g.dart @@ -342,6 +342,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 autoHidePerformanceOverlay => 'Leistungsoverlay automatisch ausblenden'; + @override String get autoHidePerformanceOverlayDescription => 'Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden'; @override String get showNavBarLabels => 'Navigationsleisten-Beschriftungen anzeigen'; @override String get showNavBarLabelsDescription => 'Textbeschriftungen unter den Symbolen der Navigationsleiste anzeigen'; @override String get liveTvDefaultFavorites => 'Standardmäßig Favoritenkanäle'; @@ -1567,6 +1569,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.autoHidePerformanceOverlay' => 'Leistungsoverlay automatisch ausblenden', + 'settings.autoHidePerformanceOverlayDescription' => 'Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden', 'settings.showNavBarLabels' => 'Navigationsleisten-Beschriftungen anzeigen', 'settings.showNavBarLabelsDescription' => 'Textbeschriftungen unter den Symbolen der Navigationsleiste anzeigen', 'settings.liveTvDefaultFavorites' => 'Standardmäßig Favoritenkanäle', @@ -1864,10 +1868,10 @@ extension on TranslationsDe { 'about.viewLicensesDescription' => 'Lizenzen von Drittanbieter-Bibliotheken anzeigen', 'serverSelection.allServerConnectionsFailed' => 'Verbindung zu allen Servern fehlgeschlagen. Bitte Netzwerk prüfen und erneut versuchen.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Keine Server gefunden für ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Server konnten nicht geladen werden: ${error}', - 'hubDetail.title' => 'Titel', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Server konnten nicht geladen werden: ${error}', + 'hubDetail.title' => 'Titel', 'hubDetail.releaseYear' => 'Erscheinungsjahr', 'hubDetail.dateAdded' => 'Hinzugefügt am', 'hubDetail.rating' => 'Bewertung', diff --git a/lib/i18n/strings_en.g.dart b/lib/i18n/strings_en.g.dart index 8382ab96..ad169ab5 100644 --- a/lib/i18n/strings_en.g.dart +++ b/lib/i18n/strings_en.g.dart @@ -772,6 +772,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: 'Auto-Hide Performance Overlay' + String get autoHidePerformanceOverlay => 'Auto-Hide Performance Overlay'; + + /// en: 'Fade the performance overlay with the playback controls' + String get autoHidePerformanceOverlayDescription => 'Fade the performance overlay with the playback controls'; + /// en: 'Show Navigation Bar Labels' String get showNavBarLabels => 'Show Navigation Bar Labels'; @@ -3288,6 +3294,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.autoHidePerformanceOverlay' => 'Auto-Hide Performance Overlay', + 'settings.autoHidePerformanceOverlayDescription' => 'Fade the performance overlay with the playback controls', 'settings.showNavBarLabels' => 'Show Navigation Bar Labels', 'settings.showNavBarLabelsDescription' => 'Display text labels under navigation bar icons', 'settings.liveTvDefaultFavorites' => 'Default to Favorite Channels', @@ -3585,10 +3593,10 @@ extension on Translations { 'about.viewLicensesDescription' => 'View licenses of third-party libraries', 'serverSelection.allServerConnectionsFailed' => 'Failed to connect to any servers. Please check your network and try again.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'No servers found for ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Failed to load servers: ${error}', - 'hubDetail.title' => 'Title', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Failed to load servers: ${error}', + 'hubDetail.title' => 'Title', 'hubDetail.releaseYear' => 'Release Year', 'hubDetail.dateAdded' => 'Date Added', 'hubDetail.rating' => 'Rating', diff --git a/lib/i18n/strings_es.g.dart b/lib/i18n/strings_es.g.dart index 49be179c..4f1b51cc 100644 --- a/lib/i18n/strings_es.g.dart +++ b/lib/i18n/strings_es.g.dart @@ -342,6 +342,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 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'; @override String get showNavBarLabelsDescription => 'Mostrar etiquetas de texto bajo los iconos de la barra de navegación'; @override String get liveTvDefaultFavorites => 'Canales favoritos por defecto'; @@ -1567,6 +1569,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.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', 'settings.showNavBarLabelsDescription' => 'Mostrar etiquetas de texto bajo los iconos de la barra de navegación', 'settings.liveTvDefaultFavorites' => 'Canales favoritos por defecto', @@ -1864,10 +1868,10 @@ extension on TranslationsEs { 'about.viewLicensesDescription' => 'Ver licencias de librerías de terceros', 'serverSelection.allServerConnectionsFailed' => 'No se pudo conectar con ningún servidor. Por favor, comprueba tu conexión e inténtalo de nuevo.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'No se encontraron servidores para ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Error al cargar servidores: ${error}', - 'hubDetail.title' => 'Título', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Error al cargar servidores: ${error}', + 'hubDetail.title' => 'Título', 'hubDetail.releaseYear' => 'Año de lanzamiento', 'hubDetail.dateAdded' => 'Añadido el', 'hubDetail.rating' => 'Calificación', diff --git a/lib/i18n/strings_fr.g.dart b/lib/i18n/strings_fr.g.dart index 4e5bd24e..b46a2f06 100644 --- a/lib/i18n/strings_fr.g.dart +++ b/lib/i18n/strings_fr.g.dart @@ -342,6 +342,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 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'; @override String get showNavBarLabelsDescription => 'Afficher les libellés sous les icônes de la barre de navigation'; @override String get liveTvDefaultFavorites => 'Chaînes favorites par défaut'; @@ -1567,6 +1569,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.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', 'settings.showNavBarLabelsDescription' => 'Afficher les libellés sous les icônes de la barre de navigation', 'settings.liveTvDefaultFavorites' => 'Chaînes favorites par défaut', @@ -1864,10 +1868,10 @@ extension on TranslationsFr { 'about.viewLicensesDescription' => 'Afficher les licences des bibliothèques tierces', 'serverSelection.allServerConnectionsFailed' => 'Impossible de se connecter à un serveur. Veuillez vérifier votre connexion réseau et réessayer.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Aucun serveur trouvé pour ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Échec du chargement des serveurs: ${error}', - 'hubDetail.title' => 'Titre', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Échec du chargement des serveurs: ${error}', + 'hubDetail.title' => 'Titre', 'hubDetail.releaseYear' => 'Année de sortie', 'hubDetail.dateAdded' => 'Date d\'ajout', 'hubDetail.rating' => 'Évaluation', diff --git a/lib/i18n/strings_it.g.dart b/lib/i18n/strings_it.g.dart index fb76da4a..2362180d 100644 --- a/lib/i18n/strings_it.g.dart +++ b/lib/i18n/strings_it.g.dart @@ -342,6 +342,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 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'; @override String get showNavBarLabelsDescription => 'Mostra le etichette sotto le icone della barra di navigazione'; @override String get liveTvDefaultFavorites => 'Canali preferiti predefiniti'; @@ -1567,6 +1569,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.autoHidePerformanceOverlay' => 'Nascondi automaticamente overlay prestazioni', + 'settings.autoHidePerformanceOverlayDescription' => 'Dissolvi l\'overlay prestazioni con i controlli di riproduzione', 'settings.showNavBarLabels' => 'Mostra etichette barra di navigazione', 'settings.showNavBarLabelsDescription' => 'Mostra le etichette sotto le icone della barra di navigazione', 'settings.liveTvDefaultFavorites' => 'Canali preferiti predefiniti', @@ -1864,10 +1868,10 @@ extension on TranslationsIt { 'about.viewLicensesDescription' => 'Visualizza le licenze delle librerie di terze parti', 'serverSelection.allServerConnectionsFailed' => 'Impossibile connettersi a nessun server. Controlla la tua rete e riprova.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nessun server trovato per ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Impossibile caricare i server: ${error}', - 'hubDetail.title' => 'Titolo', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Impossibile caricare i server: ${error}', + 'hubDetail.title' => 'Titolo', 'hubDetail.releaseYear' => 'Anno rilascio', 'hubDetail.dateAdded' => 'Data aggiunta', 'hubDetail.rating' => 'Valutazione', diff --git a/lib/i18n/strings_ja.g.dart b/lib/i18n/strings_ja.g.dart index da66c8c5..21521c3e 100644 --- a/lib/i18n/strings_ja.g.dart +++ b/lib/i18n/strings_ja.g.dart @@ -342,6 +342,8 @@ class _TranslationsSettingsJa implements TranslationsSettingsEn { @override String get requireProfileSelectionOnOpenDescription => 'アプリを開くたびにプロフィール選択を表示'; @override String get confirmExitOnBack => '終了前に確認'; @override String get confirmExitOnBackDescription => '戻るボタンでアプリを終了する際に確認ダイアログを表示'; + @override String get autoHidePerformanceOverlay => 'パフォーマンスオーバーレイを自動非表示'; + @override String get autoHidePerformanceOverlayDescription => '再生コントロールと一緒にパフォーマンスオーバーレイをフェードする'; @override String get showNavBarLabels => 'ナビゲーションバーラベルを表示'; @override String get showNavBarLabelsDescription => 'ナビゲーションバーアイコンの下にテキストラベルを表示'; @override String get liveTvDefaultFavorites => 'お気に入りチャンネルをデフォルトに'; @@ -1567,6 +1569,8 @@ extension on TranslationsJa { 'settings.requireProfileSelectionOnOpenDescription' => 'アプリを開くたびにプロフィール選択を表示', 'settings.confirmExitOnBack' => '終了前に確認', 'settings.confirmExitOnBackDescription' => '戻るボタンでアプリを終了する際に確認ダイアログを表示', + 'settings.autoHidePerformanceOverlay' => 'パフォーマンスオーバーレイを自動非表示', + 'settings.autoHidePerformanceOverlayDescription' => '再生コントロールと一緒にパフォーマンスオーバーレイをフェードする', 'settings.showNavBarLabels' => 'ナビゲーションバーラベルを表示', 'settings.showNavBarLabelsDescription' => 'ナビゲーションバーアイコンの下にテキストラベルを表示', 'settings.liveTvDefaultFavorites' => 'お気に入りチャンネルをデフォルトに', @@ -1864,10 +1868,10 @@ extension on TranslationsJa { 'about.viewLicensesDescription' => 'サードパーティライブラリのライセンスを表示', 'serverSelection.allServerConnectionsFailed' => 'どのサーバーにも接続できませんでした。ネットワークを確認してもう一度お試しください。', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})のサーバーが見つかりません', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'サーバーの読み込みに失敗しました: ${error}', - 'hubDetail.title' => 'タイトル', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'サーバーの読み込みに失敗しました: ${error}', + 'hubDetail.title' => 'タイトル', 'hubDetail.releaseYear' => '公開年', 'hubDetail.dateAdded' => '追加日', 'hubDetail.rating' => '評価', diff --git a/lib/i18n/strings_ko.g.dart b/lib/i18n/strings_ko.g.dart index 9e63c03d..65f0be0b 100644 --- a/lib/i18n/strings_ko.g.dart +++ b/lib/i18n/strings_ko.g.dart @@ -342,6 +342,8 @@ class _TranslationsSettingsKo implements TranslationsSettingsEn { @override String get requireProfileSelectionOnOpenDescription => '앱을 열 때마다 프로필 선택 화면을 표시합니다'; @override String get confirmExitOnBack => '종료 전 확인'; @override String get confirmExitOnBackDescription => '뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다'; + @override String get autoHidePerformanceOverlay => '성능 오버레이 자동 숨기기'; + @override String get autoHidePerformanceOverlayDescription => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리'; @override String get showNavBarLabels => '내비게이션 바 라벨 표시'; @override String get showNavBarLabelsDescription => '내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다'; @override String get liveTvDefaultFavorites => '즐겨찾기 채널 기본 설정'; @@ -1567,6 +1569,8 @@ extension on TranslationsKo { 'settings.requireProfileSelectionOnOpenDescription' => '앱을 열 때마다 프로필 선택 화면을 표시합니다', 'settings.confirmExitOnBack' => '종료 전 확인', 'settings.confirmExitOnBackDescription' => '뒤로 버튼을 눌러 앱을 종료할 때 확인 대화상자를 표시합니다', + 'settings.autoHidePerformanceOverlay' => '성능 오버레이 자동 숨기기', + 'settings.autoHidePerformanceOverlayDescription' => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리', 'settings.showNavBarLabels' => '내비게이션 바 라벨 표시', 'settings.showNavBarLabelsDescription' => '내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다', 'settings.liveTvDefaultFavorites' => '즐겨찾기 채널 기본 설정', @@ -1864,10 +1868,10 @@ extension on TranslationsKo { 'about.viewLicensesDescription' => '타사 라이브러리 라이선스 보기', 'serverSelection.allServerConnectionsFailed' => '어떤 서버에도 연결할 수 없습니다. 네트워크를 확인하고 다시 시도하세요.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})의 서버를 찾을 수 없습니다.', - 'serverSelection.failedToLoadServers' => ({required Object error}) => '서버를 로드할 수 없습니다: ${error}', - 'hubDetail.title' => '제목', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => '서버를 로드할 수 없습니다: ${error}', + 'hubDetail.title' => '제목', 'hubDetail.releaseYear' => '출시 연도', 'hubDetail.dateAdded' => '추가 날짜', 'hubDetail.rating' => '평점', diff --git a/lib/i18n/strings_nb.g.dart b/lib/i18n/strings_nb.g.dart index 89380319..7a6837e7 100644 --- a/lib/i18n/strings_nb.g.dart +++ b/lib/i18n/strings_nb.g.dart @@ -342,6 +342,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 autoHidePerformanceOverlay => 'Skjul ytelsesoverlegg automatisk'; + @override String get autoHidePerformanceOverlayDescription => 'Fade ytelsesoverlegget med avspillingskontrollene'; @override String get showNavBarLabels => 'Vis navigasjonsfeltlabeler'; @override String get showNavBarLabelsDescription => 'Vis tekstlabeler under navigasjonsfeltikoner'; @override String get liveTvDefaultFavorites => 'Standard til favorittkanaler'; @@ -1567,6 +1569,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.autoHidePerformanceOverlay' => 'Skjul ytelsesoverlegg automatisk', + 'settings.autoHidePerformanceOverlayDescription' => 'Fade ytelsesoverlegget med avspillingskontrollene', 'settings.showNavBarLabels' => 'Vis navigasjonsfeltlabeler', 'settings.showNavBarLabelsDescription' => 'Vis tekstlabeler under navigasjonsfeltikoner', 'settings.liveTvDefaultFavorites' => 'Standard til favorittkanaler', @@ -1864,10 +1868,10 @@ extension on TranslationsNb { 'about.viewLicensesDescription' => 'Vis lisenser for tredjepartsbiblioteker', 'serverSelection.allServerConnectionsFailed' => 'Kunne ikke koble til noen servere. Sjekk nettverket ditt og prøv igjen.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Ingen servere funnet for ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke laste servere: ${error}', - 'hubDetail.title' => 'Tittel', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke laste servere: ${error}', + 'hubDetail.title' => 'Tittel', 'hubDetail.releaseYear' => 'Utgivelsesår', 'hubDetail.dateAdded' => 'Dato lagt til', 'hubDetail.rating' => 'Vurdering', diff --git a/lib/i18n/strings_nl.g.dart b/lib/i18n/strings_nl.g.dart index 61430d42..e7f06e37 100644 --- a/lib/i18n/strings_nl.g.dart +++ b/lib/i18n/strings_nl.g.dart @@ -342,6 +342,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 autoHidePerformanceOverlay => 'Prestatie-overlay automatisch verbergen'; + @override String get autoHidePerformanceOverlayDescription => 'Laat de prestatie-overlay meevervagen met de afspeelknoppen'; @override String get showNavBarLabels => 'Navigatiebalk labels tonen'; @override String get showNavBarLabelsDescription => 'Tekstlabels onder de pictogrammen van de navigatiebalk weergeven'; @override String get liveTvDefaultFavorites => 'Standaard favoriete zenders'; @@ -1567,6 +1569,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.autoHidePerformanceOverlay' => 'Prestatie-overlay automatisch verbergen', + 'settings.autoHidePerformanceOverlayDescription' => 'Laat de prestatie-overlay meevervagen met de afspeelknoppen', 'settings.showNavBarLabels' => 'Navigatiebalk labels tonen', 'settings.showNavBarLabelsDescription' => 'Tekstlabels onder de pictogrammen van de navigatiebalk weergeven', 'settings.liveTvDefaultFavorites' => 'Standaard favoriete zenders', @@ -1864,10 +1868,10 @@ extension on TranslationsNl { 'about.viewLicensesDescription' => 'Bekijk licenties van third-party bibliotheken', 'serverSelection.allServerConnectionsFailed' => 'Kon niet verbinden met servers. Controleer je netwerk en probeer opnieuw.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Geen servers gevonden voor ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kon servers niet laden: ${error}', - 'hubDetail.title' => 'Titel', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kon servers niet laden: ${error}', + 'hubDetail.title' => 'Titel', 'hubDetail.releaseYear' => 'Uitgavejaar', 'hubDetail.dateAdded' => 'Datum toegevoegd', 'hubDetail.rating' => 'Beoordeling', diff --git a/lib/i18n/strings_pl.g.dart b/lib/i18n/strings_pl.g.dart index fa87b326..cb4eb223 100644 --- a/lib/i18n/strings_pl.g.dart +++ b/lib/i18n/strings_pl.g.dart @@ -342,6 +342,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 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'; @override String get showNavBarLabelsDescription => 'Wyświetl tekstowe etykiety pod ikonami paska nawigacji'; @override String get liveTvDefaultFavorites => 'Domyślnie ulubione kanały'; @@ -1567,6 +1569,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.autoHidePerformanceOverlay' => 'Automatycznie ukrywaj nakładkę wydajności', + 'settings.autoHidePerformanceOverlayDescription' => 'Wygaszaj nakładkę wydajności wraz z kontrolkami odtwarzania', 'settings.showNavBarLabels' => 'Pokaż etykiety paska nawigacji', 'settings.showNavBarLabelsDescription' => 'Wyświetl tekstowe etykiety pod ikonami paska nawigacji', 'settings.liveTvDefaultFavorites' => 'Domyślnie ulubione kanały', @@ -1864,10 +1868,10 @@ extension on TranslationsPl { 'about.viewLicensesDescription' => 'Zobacz licencje bibliotek zewnętrznych', 'serverSelection.allServerConnectionsFailed' => 'Nie udało się połączyć z żadnym serwerem. Sprawdź sieć i spróbuj ponownie.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nie znaleziono serwerów dla ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Nie udało się załadować serwerów: ${error}', - 'hubDetail.title' => 'Tytuł', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Nie udało się załadować serwerów: ${error}', + 'hubDetail.title' => 'Tytuł', 'hubDetail.releaseYear' => 'Rok premiery', 'hubDetail.dateAdded' => 'Data dodania', 'hubDetail.rating' => 'Ocena', diff --git a/lib/i18n/strings_pt.g.dart b/lib/i18n/strings_pt.g.dart index 7bbd9921..27f0c27d 100644 --- a/lib/i18n/strings_pt.g.dart +++ b/lib/i18n/strings_pt.g.dart @@ -342,6 +342,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 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'; @override String get showNavBarLabelsDescription => 'Exibir rótulos de texto sob os ícones da barra de navegação'; @override String get liveTvDefaultFavorites => 'Canais favoritos por padrão'; @@ -1567,6 +1569,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.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', 'settings.showNavBarLabelsDescription' => 'Exibir rótulos de texto sob os ícones da barra de navegação', 'settings.liveTvDefaultFavorites' => 'Canais favoritos por padrão', @@ -1864,10 +1868,10 @@ extension on TranslationsPt { 'about.viewLicensesDescription' => 'Ver licenças de bibliotecas de terceiros', 'serverSelection.allServerConnectionsFailed' => 'Falha ao conectar a qualquer servidor. Verifique sua rede e tente novamente.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nenhum servidor encontrado para ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Falha ao carregar servidores: ${error}', - 'hubDetail.title' => 'Título', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Falha ao carregar servidores: ${error}', + 'hubDetail.title' => 'Título', 'hubDetail.releaseYear' => 'Ano de Lançamento', 'hubDetail.dateAdded' => 'Data de Adição', 'hubDetail.rating' => 'Avaliação', diff --git a/lib/i18n/strings_ru.g.dart b/lib/i18n/strings_ru.g.dart index fe4159d9..9e7cca5e 100644 --- a/lib/i18n/strings_ru.g.dart +++ b/lib/i18n/strings_ru.g.dart @@ -342,6 +342,8 @@ class _TranslationsSettingsRu implements TranslationsSettingsEn { @override String get requireProfileSelectionOnOpenDescription => 'Показывать выбор профиля при каждом открытии приложения'; @override String get confirmExitOnBack => 'Подтверждать выход'; @override String get confirmExitOnBackDescription => 'Показывать диалог подтверждения при нажатии «назад» для выхода из приложения'; + @override String get autoHidePerformanceOverlay => 'Автоскрытие оверлея производительности'; + @override String get autoHidePerformanceOverlayDescription => 'Скрывать оверлей производительности вместе с элементами управления воспроизведением'; @override String get showNavBarLabels => 'Показывать подписи панели навигации'; @override String get showNavBarLabelsDescription => 'Отображать текстовые подписи под иконками панели навигации'; @override String get liveTvDefaultFavorites => 'Избранные каналы по умолчанию'; @@ -1567,6 +1569,8 @@ extension on TranslationsRu { 'settings.requireProfileSelectionOnOpenDescription' => 'Показывать выбор профиля при каждом открытии приложения', 'settings.confirmExitOnBack' => 'Подтверждать выход', 'settings.confirmExitOnBackDescription' => 'Показывать диалог подтверждения при нажатии «назад» для выхода из приложения', + 'settings.autoHidePerformanceOverlay' => 'Автоскрытие оверлея производительности', + 'settings.autoHidePerformanceOverlayDescription' => 'Скрывать оверлей производительности вместе с элементами управления воспроизведением', 'settings.showNavBarLabels' => 'Показывать подписи панели навигации', 'settings.showNavBarLabelsDescription' => 'Отображать текстовые подписи под иконками панели навигации', 'settings.liveTvDefaultFavorites' => 'Избранные каналы по умолчанию', @@ -1864,10 +1868,10 @@ extension on TranslationsRu { 'about.viewLicensesDescription' => 'Просмотр лицензий сторонних библиотек', 'serverSelection.allServerConnectionsFailed' => 'Не удалось подключиться ни к одному серверу. Проверьте сеть и попробуйте снова.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Серверы не найдены для ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Не удалось загрузить серверы: ${error}', - 'hubDetail.title' => 'Название', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Не удалось загрузить серверы: ${error}', + 'hubDetail.title' => 'Название', 'hubDetail.releaseYear' => 'Год выпуска', 'hubDetail.dateAdded' => 'Дата добавления', 'hubDetail.rating' => 'Рейтинг', diff --git a/lib/i18n/strings_sv.g.dart b/lib/i18n/strings_sv.g.dart index 024e70ec..ec7b896d 100644 --- a/lib/i18n/strings_sv.g.dart +++ b/lib/i18n/strings_sv.g.dart @@ -342,6 +342,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 autoHidePerformanceOverlay => 'Dölj prestandaöverlagring automatiskt'; + @override String get autoHidePerformanceOverlayDescription => 'Tona prestandaöverlagringen med uppspelningskontrollerna'; @override String get showNavBarLabels => 'Visa navigeringsfältets etiketter'; @override String get showNavBarLabelsDescription => 'Visa textetiketter under navigeringsfältets ikoner'; @override String get liveTvDefaultFavorites => 'Standard till favoritkanaler'; @@ -1567,6 +1569,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.autoHidePerformanceOverlay' => 'Dölj prestandaöverlagring automatiskt', + 'settings.autoHidePerformanceOverlayDescription' => 'Tona prestandaöverlagringen med uppspelningskontrollerna', 'settings.showNavBarLabels' => 'Visa navigeringsfältets etiketter', 'settings.showNavBarLabelsDescription' => 'Visa textetiketter under navigeringsfältets ikoner', 'settings.liveTvDefaultFavorites' => 'Standard till favoritkanaler', @@ -1864,10 +1868,10 @@ extension on TranslationsSv { 'about.viewLicensesDescription' => 'Visa licenser för tredjepartsbibliotek', 'serverSelection.allServerConnectionsFailed' => 'Misslyckades att ansluta till servrar. Kontrollera ditt nätverk och försök igen.', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Inga servrar hittades för ${username} (${email})', - 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Misslyckades att ladda servrar: ${error}', - 'hubDetail.title' => 'Titel', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => 'Misslyckades att ladda servrar: ${error}', + 'hubDetail.title' => 'Titel', 'hubDetail.releaseYear' => 'Utgivningsår', 'hubDetail.dateAdded' => 'Datum tillagd', 'hubDetail.rating' => 'Betyg', diff --git a/lib/i18n/strings_zh.g.dart b/lib/i18n/strings_zh.g.dart index 90df0179..ff765317 100644 --- a/lib/i18n/strings_zh.g.dart +++ b/lib/i18n/strings_zh.g.dart @@ -342,6 +342,8 @@ class _TranslationsSettingsZh implements TranslationsSettingsEn { @override String get requireProfileSelectionOnOpenDescription => '每次打开应用时显示配置文件选择'; @override String get confirmExitOnBack => '退出前确认'; @override String get confirmExitOnBackDescription => '按返回键退出应用时显示确认对话框'; + @override String get autoHidePerformanceOverlay => '自动隐藏性能叠加层'; + @override String get autoHidePerformanceOverlayDescription => '性能叠加层随播放控件一起淡入淡出'; @override String get showNavBarLabels => '显示导航栏标签'; @override String get showNavBarLabelsDescription => '在导航栏图标下方显示文字标签'; @override String get liveTvDefaultFavorites => '默认显示收藏频道'; @@ -1567,6 +1569,8 @@ extension on TranslationsZh { 'settings.requireProfileSelectionOnOpenDescription' => '每次打开应用时显示配置文件选择', 'settings.confirmExitOnBack' => '退出前确认', 'settings.confirmExitOnBackDescription' => '按返回键退出应用时显示确认对话框', + 'settings.autoHidePerformanceOverlay' => '自动隐藏性能叠加层', + 'settings.autoHidePerformanceOverlayDescription' => '性能叠加层随播放控件一起淡入淡出', 'settings.showNavBarLabels' => '显示导航栏标签', 'settings.showNavBarLabelsDescription' => '在导航栏图标下方显示文字标签', 'settings.liveTvDefaultFavorites' => '默认显示收藏频道', @@ -1864,10 +1868,10 @@ extension on TranslationsZh { 'about.viewLicensesDescription' => '查看第三方库的许可证', 'serverSelection.allServerConnectionsFailed' => '无法连接到任何服务器。请检查你的网络并重试。', 'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '未找到 ${username} (${email}) 的服务器', - 'serverSelection.failedToLoadServers' => ({required Object error}) => '无法加载服务器: ${error}', - 'hubDetail.title' => '标题', _ => null, } ?? switch (path) { + 'serverSelection.failedToLoadServers' => ({required Object error}) => '无法加载服务器: ${error}', + 'hubDetail.title' => '标题', 'hubDetail.releaseYear' => '发行年份', 'hubDetail.dateAdded' => '添加日期', 'hubDetail.rating' => '评分', diff --git a/lib/i18n/sv.i18n.json b/lib/i18n/sv.i18n.json index dc2d47ab..f2a1a1a7 100644 --- a/lib/i18n/sv.i18n.json +++ b/lib/i18n/sv.i18n.json @@ -223,6 +223,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", + "autoHidePerformanceOverlay": "Dölj prestandaöverlagring automatiskt", + "autoHidePerformanceOverlayDescription": "Tona prestandaöverlagringen med uppspelningskontrollerna", "showNavBarLabels": "Visa navigeringsfältets etiketter", "showNavBarLabelsDescription": "Visa textetiketter under navigeringsfältets ikoner", "liveTvDefaultFavorites": "Standard till favoritkanaler", diff --git a/lib/i18n/zh.i18n.json b/lib/i18n/zh.i18n.json index 26cb9b6a..b1f2a898 100644 --- a/lib/i18n/zh.i18n.json +++ b/lib/i18n/zh.i18n.json @@ -223,6 +223,8 @@ "requireProfileSelectionOnOpenDescription": "每次打开应用时显示配置文件选择", "confirmExitOnBack": "退出前确认", "confirmExitOnBackDescription": "按返回键退出应用时显示确认对话框", + "autoHidePerformanceOverlay": "自动隐藏性能叠加层", + "autoHidePerformanceOverlayDescription": "性能叠加层随播放控件一起淡入淡出", "showNavBarLabels": "显示导航栏标签", "showNavBarLabelsDescription": "在导航栏图标下方显示文字标签", "liveTvDefaultFavorites": "默认显示收藏频道", diff --git a/lib/providers/settings_provider.dart b/lib/providers/settings_provider.dart index 5524bac9..4d36cae1 100644 --- a/lib/providers/settings_provider.dart +++ b/lib/providers/settings_provider.dart @@ -15,6 +15,7 @@ class SettingsProvider extends ChangeNotifier { bool _hideSpoilers = false; bool _showNavBarLabels = true; bool _liveTvDefaultFavorites = false; + bool _autoHidePerformanceOverlay = true; bool _isInitialized = false; Future? _initFuture; @@ -42,6 +43,7 @@ class SettingsProvider extends ChangeNotifier { _hideSpoilers = _settingsService!.getHideSpoilers(); _showNavBarLabels = _settingsService!.getShowNavBarLabels(); _liveTvDefaultFavorites = _settingsService!.getLiveTvDefaultFavorites(); + _autoHidePerformanceOverlay = _settingsService!.getAutoHidePerformanceOverlay(); _isInitialized = true; notifyListeners(); } @@ -71,6 +73,8 @@ class SettingsProvider extends ChangeNotifier { bool get liveTvDefaultFavorites => _liveTvDefaultFavorites; + bool get autoHidePerformanceOverlay => _autoHidePerformanceOverlay; + /// Helper to update a setting: ensures init, deduplicates, persists, notifies. Future _updateSetting({ required T current, @@ -152,6 +156,12 @@ class SettingsProvider extends ChangeNotifier { persist: _settingsService!.setLiveTvDefaultFavorites, ); + Future setAutoHidePerformanceOverlay(bool value) => _updateSetting( + current: _autoHidePerformanceOverlay, value: value, + setLocal: (v) => _autoHidePerformanceOverlay = v, + persist: _settingsService!.setAutoHidePerformanceOverlay, + ); + String get episodePosterModeDisplayName { switch (_episodePosterMode) { case EpisodePosterMode.seriesPoster: diff --git a/lib/screens/settings/appearance_settings_screen.dart b/lib/screens/settings/appearance_settings_screen.dart index 4964db92..817c9011 100644 --- a/lib/screens/settings/appearance_settings_screen.dart +++ b/lib/screens/settings/appearance_settings_screen.dart @@ -83,6 +83,7 @@ class _AppearanceSettingsScreenState extends State { _buildHideSpoilers(), _buildRequireProfileSelection(), if (PlatformDetector.isTV()) _buildConfirmExitOnBack(), + _buildAutoHidePerformanceOverlay(), const SizedBox(height: 24), ]), ), @@ -367,6 +368,22 @@ class _AppearanceSettingsScreenState extends State { ); } + Widget _buildAutoHidePerformanceOverlay() { + return Consumer( + builder: (context, settingsProvider, child) { + return SwitchListTile( + secondary: const AppIcon(Symbols.speed_rounded, fill: 1), + title: Text(t.settings.autoHidePerformanceOverlay), + subtitle: Text(t.settings.autoHidePerformanceOverlayDescription), + value: settingsProvider.autoHidePerformanceOverlay, + onChanged: (value) async { + await settingsProvider.setAutoHidePerformanceOverlay(value); + }, + ); + }, + ); + } + // --- Helpers --- String _getLanguageDisplayName(AppLocale locale) { diff --git a/lib/services/settings_service.dart b/lib/services/settings_service.dart index d698abb9..f7312678 100644 --- a/lib/services/settings_service.dart +++ b/lib/services/settings_service.dart @@ -84,6 +84,7 @@ class SettingsService extends BaseSharedPreferencesService { static const String _keyDownloadOnWifiOnly = 'download_on_wifi_only'; static const String _keyVideoPlayerNavigationEnabled = 'video_player_navigation_enabled'; static const String _keyShowPerformanceOverlay = 'show_performance_overlay'; + static const String _keyAutoHidePerformanceOverlay = 'auto_hide_performance_overlay'; static const String _keyMpvConfigEntries = 'mpv_config_entries'; // Legacy static const String _keyMpvConfigText = 'mpv_config_text'; static const String _keyMpvConfigPresets = 'mpv_config_presets'; @@ -624,6 +625,15 @@ class SettingsService extends BaseSharedPreferencesService { return prefs.getBool(_keyShowPerformanceOverlay) ?? false; // Default: disabled } + // Auto-hide performance overlay (fade with playback controls) + Future setAutoHidePerformanceOverlay(bool enabled) async { + await prefs.setBool(_keyAutoHidePerformanceOverlay, enabled); + } + + bool getAutoHidePerformanceOverlay() { + return prefs.getBool(_keyAutoHidePerformanceOverlay) ?? true; // Default: enabled + } + // Helper methods for HotKey serialization static const _modifierMap = { 'alt': HotKeyModifier.alt, @@ -1368,6 +1378,7 @@ class SettingsService extends BaseSharedPreferencesService { prefs.remove(_keyDownloadOnWifiOnly), prefs.remove(_keyVideoPlayerNavigationEnabled), prefs.remove(_keyShowPerformanceOverlay), + prefs.remove(_keyAutoHidePerformanceOverlay), prefs.remove(_keyMpvConfigEntries), prefs.remove(_keyMpvConfigText), prefs.remove(_keyMpvConfigPresets), diff --git a/lib/widgets/video_controls/video_controls.dart b/lib/widgets/video_controls/video_controls.dart index 8aeeeaba..880a6951 100644 --- a/lib/widgets/video_controls/video_controls.dart +++ b/lib/widgets/video_controls/video_controls.dart @@ -312,6 +312,7 @@ class _PlexVideoControlsState extends State with WindowListen bool _videoPlayerNavigationEnabled = false; // Performance overlay bool _showPerformanceOverlay = false; + bool _autoHidePerformanceOverlay = true; // Long-press 2x speed state bool _isLongPressing = false; // Subtitle visibility toggle state @@ -603,6 +604,7 @@ class _PlexVideoControlsState extends State with WindowListen _autoSkipDelay = settingsService.getAutoSkipDelay(); _videoPlayerNavigationEnabled = settingsService.getVideoPlayerNavigationEnabled(); _showPerformanceOverlay = settingsService.getShowPerformanceOverlay(); + _autoHidePerformanceOverlay = settingsService.getAutoHidePerformanceOverlay(); _clickVideoTogglesPlayback = settingsService.getClickVideoTogglesPlayback(); }); @@ -2191,7 +2193,11 @@ class _PlexVideoControlsState extends State with WindowListen curve: Curves.easeInOut, top: _showControls && isMobile ? 80.0 : 16.0, left: 16, - child: IgnorePointer(child: PlayerPerformanceOverlay(player: widget.player)), + child: AnimatedOpacity( + opacity: (!_autoHidePerformanceOverlay || _showControls || _forceShowControls) ? 1.0 : 0.0, + duration: const Duration(milliseconds: 200), + child: IgnorePointer(child: PlayerPerformanceOverlay(player: widget.player)), + ), ), // Screen lock overlay - absorbs all touches when active if (_isScreenLocked)