@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Скривай постепенно оверлея за производителност заедно с контролите за възпроизвеждане",
|
||||
"showNavBarLabels": "Показвай етикети в навигационната лента",
|
||||
"showNavBarLabelsDescription": "Показвай текстови етикети под иконите в навигационната лента",
|
||||
"startupSection": "Начален раздел",
|
||||
"startupSectionDescription": "Изберете кой раздел да отваря Plezy при стартиране",
|
||||
"liveTvDefaultFavorites": "По подразбиране към любими канали",
|
||||
"liveTvDefaultFavoritesDescription": "Показвай само любими канали при отваряне на телевизия на живо",
|
||||
"display": "Дисплей",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Fade ydelses-overlayet med afspilningskontrollerne",
|
||||
"showNavBarLabels": "Vis navigationsbarlabels",
|
||||
"showNavBarLabelsDescription": "Vis tekstlabels under navigationsbarikoner",
|
||||
"startupSection": "Startsektion",
|
||||
"startupSectionDescription": "Vælg hvilken sektion Plezy åbner ved start",
|
||||
"liveTvDefaultFavorites": "Standard til favoritkanaler",
|
||||
"liveTvDefaultFavoritesDescription": "Vis kun favoritkanaler ved åbning af Live TV",
|
||||
"display": "Skærm",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden",
|
||||
"showNavBarLabels": "Navigationsleisten-Beschriftungen anzeigen",
|
||||
"showNavBarLabelsDescription": "Textbeschriftungen unter den Symbolen der Navigationsleiste anzeigen",
|
||||
"startupSection": "Startbereich",
|
||||
"startupSectionDescription": "Legt fest, welchen Bereich Plezy beim Start öffnet",
|
||||
"liveTvDefaultFavorites": "Standardmäßig Favoritenkanäle",
|
||||
"liveTvDefaultFavoritesDescription": "Beim Öffnen von Live TV nur Favoritenkanäle anzeigen",
|
||||
"display": "Anzeige",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Fade the performance overlay with the playback controls",
|
||||
"showNavBarLabels": "Show Navigation Bar Labels",
|
||||
"showNavBarLabelsDescription": "Display text labels under navigation bar icons",
|
||||
"startupSection": "Startup Section",
|
||||
"startupSectionDescription": "Choose which section Plezy opens to when it starts",
|
||||
"liveTvDefaultFavorites": "Default to Favorite Channels",
|
||||
"liveTvDefaultFavoritesDescription": "Show only favorite channels when opening Live TV",
|
||||
"display": "Display",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"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",
|
||||
"startupSection": "Sección de inicio",
|
||||
"startupSectionDescription": "Elige qué sección abre Plezy al iniciarse",
|
||||
"liveTvDefaultFavorites": "Canales favoritos por defecto",
|
||||
"liveTvDefaultFavoritesDescription": "Mostrar solo canales favoritos al abrir TV en vivo",
|
||||
"display": "Pantalla",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"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",
|
||||
"startupSection": "Section de démarrage",
|
||||
"startupSectionDescription": "Choisissez la section que Plezy ouvre au démarrage",
|
||||
"liveTvDefaultFavorites": "Chaînes favorites par défaut",
|
||||
"liveTvDefaultFavoritesDescription": "Afficher uniquement les chaînes favorites à l'ouverture de la TV en direct",
|
||||
"display": "Affichage",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"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",
|
||||
"startupSection": "Sezione di avvio",
|
||||
"startupSectionDescription": "Scegli quale sezione apre Plezy all'avvio",
|
||||
"liveTvDefaultFavorites": "Canali preferiti predefiniti",
|
||||
"liveTvDefaultFavoritesDescription": "Mostra solo i canali preferiti all'apertura della TV dal vivo",
|
||||
"display": "Schermo",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "再生コントロールと一緒にパフォーマンスオーバーレイをフェードする",
|
||||
"showNavBarLabels": "ナビゲーションバーラベルを表示",
|
||||
"showNavBarLabelsDescription": "ナビゲーションバーアイコンの下にテキストラベルを表示",
|
||||
"startupSection": "起動時のセクション",
|
||||
"startupSectionDescription": "起動時に Plezy が開くセクションを選択します",
|
||||
"liveTvDefaultFavorites": "お気に入りチャンネルをデフォルトに",
|
||||
"liveTvDefaultFavoritesDescription": "ライブTV を開いたときにお気に入りチャンネルのみ表示",
|
||||
"display": "ディスプレイ",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "재생 컨트롤과 함께 성능 오버레이를 페이드 처리",
|
||||
"showNavBarLabels": "내비게이션 바 라벨 표시",
|
||||
"showNavBarLabelsDescription": "내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다",
|
||||
"startupSection": "시작 섹션",
|
||||
"startupSectionDescription": "Plezy 실행 시 열릴 섹션을 선택합니다",
|
||||
"liveTvDefaultFavorites": "즐겨찾기 채널 기본 설정",
|
||||
"liveTvDefaultFavoritesDescription": "라이브 TV를 열 때 즐겨찾기 채널만 표시",
|
||||
"display": "디스플레이",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Fade ytelsesoverlegget med avspillingskontrollene",
|
||||
"showNavBarLabels": "Vis navigasjonsfeltlabeler",
|
||||
"showNavBarLabelsDescription": "Vis tekstlabeler under navigasjonsfeltikoner",
|
||||
"startupSection": "Oppstartsseksjon",
|
||||
"startupSectionDescription": "Velg hvilken seksjon Plezy åpner ved oppstart",
|
||||
"liveTvDefaultFavorites": "Standard til favorittkanaler",
|
||||
"liveTvDefaultFavoritesDescription": "Vis kun favorittkanaler når du åpner Live TV",
|
||||
"display": "Skjerm",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Laat de prestatie-overlay meevervagen met de afspeelknoppen",
|
||||
"showNavBarLabels": "Navigatiebalk labels tonen",
|
||||
"showNavBarLabelsDescription": "Tekstlabels onder de pictogrammen van de navigatiebalk weergeven",
|
||||
"startupSection": "Opstartsectie",
|
||||
"startupSectionDescription": "Kies welke sectie Plezy opent bij het opstarten",
|
||||
"liveTvDefaultFavorites": "Standaard favoriete zenders",
|
||||
"liveTvDefaultFavoritesDescription": "Toon alleen favoriete zenders bij het openen van Live TV",
|
||||
"display": "Weergave",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Wygaszaj nakładkę wydajności wraz z kontrolkami odtwarzania",
|
||||
"showNavBarLabels": "Pokaż etykiety paska nawigacji",
|
||||
"showNavBarLabelsDescription": "Wyświetl tekstowe etykiety pod ikonami paska nawigacji",
|
||||
"startupSection": "Sekcja startowa",
|
||||
"startupSectionDescription": "Wybierz, którą sekcję Plezy otwiera przy uruchomieniu",
|
||||
"liveTvDefaultFavorites": "Domyślnie ulubione kanały",
|
||||
"liveTvDefaultFavoritesDescription": "Pokaż tylko ulubione kanały po otwarciu telewizji na żywo",
|
||||
"display": "Ekran",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"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",
|
||||
"startupSection": "Seção inicial",
|
||||
"startupSectionDescription": "Escolha qual seção o Plezy abre ao iniciar",
|
||||
"liveTvDefaultFavorites": "Canais favoritos por padrão",
|
||||
"liveTvDefaultFavoritesDescription": "Mostrar apenas canais favoritos ao abrir TV ao vivo",
|
||||
"display": "Tela",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Скрывать оверлей производительности вместе с элементами управления воспроизведением",
|
||||
"showNavBarLabels": "Показывать подписи панели навигации",
|
||||
"showNavBarLabelsDescription": "Отображать текстовые подписи под иконками панели навигации",
|
||||
"startupSection": "Начальный раздел",
|
||||
"startupSectionDescription": "Выберите, какой раздел Plezy открывает при запуске",
|
||||
"liveTvDefaultFavorites": "Избранные каналы по умолчанию",
|
||||
"liveTvDefaultFavoritesDescription": "Показывать только избранные каналы при открытии ТВ",
|
||||
"display": "Экран",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 16
|
||||
/// Strings: 20288 (1268 per locale)
|
||||
/// Strings: 20320 (1270 per locale)
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsBg extends TranslationsSettingsEn {
|
||||
@override String get autoHidePerformanceOverlayDescription => 'Скривай постепенно оверлея за производителност заедно с контролите за възпроизвеждане';
|
||||
@override String get showNavBarLabels => 'Показвай етикети в навигационната лента';
|
||||
@override String get showNavBarLabelsDescription => 'Показвай текстови етикети под иконите в навигационната лента';
|
||||
@override String get startupSection => 'Начален раздел';
|
||||
@override String get startupSectionDescription => 'Изберете кой раздел да отваря Plezy при стартиране';
|
||||
@override String get liveTvDefaultFavorites => 'По подразбиране към любими канали';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Показвай само любими канали при отваряне на телевизия на живо';
|
||||
@override String get display => 'Дисплей';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsBg {
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Скривай постепенно оверлея за производителност заедно с контролите за възпроизвеждане',
|
||||
'settings.showNavBarLabels' => 'Показвай етикети в навигационната лента',
|
||||
'settings.showNavBarLabelsDescription' => 'Показвай текстови етикети под иконите в навигационната лента',
|
||||
'settings.startupSection' => 'Начален раздел',
|
||||
'settings.startupSectionDescription' => 'Изберете кой раздел да отваря Plezy при стартиране',
|
||||
'settings.liveTvDefaultFavorites' => 'По подразбиране към любими канали',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Показвай само любими канали при отваряне на телевизия на живо',
|
||||
'settings.display' => 'Дисплей',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsBg {
|
||||
'subtitlingStyling.textColor' => 'Цвят на текста',
|
||||
'subtitlingStyling.borderSize' => 'Размер на рамката',
|
||||
'subtitlingStyling.borderColor' => 'Цвят на рамката',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Прозрачност на фона',
|
||||
'subtitlingStyling.backgroundColor' => 'Цвят на фона',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Прозрачност на фона',
|
||||
'subtitlingStyling.backgroundColor' => 'Цвят на фона',
|
||||
'subtitlingStyling.position' => 'Позиция',
|
||||
'subtitlingStyling.assOverride' => 'ASS презаписване',
|
||||
'subtitlingStyling.bold' => 'Получер',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsBg {
|
||||
'companionRemote.remote.tabSearch' => 'Търсене',
|
||||
'companionRemote.remote.tabDownloads' => 'Изтегляния',
|
||||
'companionRemote.remote.tabSettings' => 'Настройки',
|
||||
'companionRemote.remote.previous' => 'Предишен',
|
||||
'companionRemote.remote.playPause' => 'Пускане/пауза',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Предишен',
|
||||
'companionRemote.remote.playPause' => 'Пускане/пауза',
|
||||
'companionRemote.remote.next' => 'Следващ',
|
||||
'companionRemote.remote.seekBack' => 'Назад',
|
||||
'companionRemote.remote.stop' => 'Стоп',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Startsektion';
|
||||
@override String get startupSectionDescription => 'Vælg hvilken sektion Plezy åbner ved start';
|
||||
@override String get liveTvDefaultFavorites => 'Standard til favoritkanaler';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Vis kun favoritkanaler ved åbning af Live TV';
|
||||
@override String get display => 'Skærm';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsDa {
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Fade ydelses-overlayet med afspilningskontrollerne',
|
||||
'settings.showNavBarLabels' => 'Vis navigationsbarlabels',
|
||||
'settings.showNavBarLabelsDescription' => 'Vis tekstlabels under navigationsbarikoner',
|
||||
'settings.startupSection' => 'Startsektion',
|
||||
'settings.startupSectionDescription' => 'Vælg hvilken sektion Plezy åbner ved start',
|
||||
'settings.liveTvDefaultFavorites' => 'Standard til favoritkanaler',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Vis kun favoritkanaler ved åbning af Live TV',
|
||||
'settings.display' => 'Skærm',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsDa {
|
||||
'subtitlingStyling.textColor' => 'Tekstfarve',
|
||||
'subtitlingStyling.borderSize' => 'Kantstørrelse',
|
||||
'subtitlingStyling.borderColor' => 'Kantfarve',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Baggrundsgennemsigtighed',
|
||||
'subtitlingStyling.backgroundColor' => 'Baggrundsfarve',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Baggrundsgennemsigtighed',
|
||||
'subtitlingStyling.backgroundColor' => 'Baggrundsfarve',
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'ASS-tilsidesættelse',
|
||||
'subtitlingStyling.bold' => 'Fed',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsDa {
|
||||
'companionRemote.remote.tabSearch' => 'Søg',
|
||||
'companionRemote.remote.tabDownloads' => 'Downloads',
|
||||
'companionRemote.remote.tabSettings' => 'Indstillinger',
|
||||
'companionRemote.remote.previous' => 'Forrige',
|
||||
'companionRemote.remote.playPause' => 'Afspil/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Forrige',
|
||||
'companionRemote.remote.playPause' => 'Afspil/Pause',
|
||||
'companionRemote.remote.next' => 'Næste',
|
||||
'companionRemote.remote.seekBack' => 'Spol tilbage',
|
||||
'companionRemote.remote.stop' => 'Stop',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Startbereich';
|
||||
@override String get startupSectionDescription => 'Legt fest, welchen Bereich Plezy beim Start öffnet';
|
||||
@override String get liveTvDefaultFavorites => 'Standardmäßig Favoritenkanäle';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Beim Öffnen von Live TV nur Favoritenkanäle anzeigen';
|
||||
@override String get display => 'Anzeige';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsDe {
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Leistungsoverlay mit den Wiedergabesteuerungen ein-/ausblenden',
|
||||
'settings.showNavBarLabels' => 'Navigationsleisten-Beschriftungen anzeigen',
|
||||
'settings.showNavBarLabelsDescription' => 'Textbeschriftungen unter den Symbolen der Navigationsleiste anzeigen',
|
||||
'settings.startupSection' => 'Startbereich',
|
||||
'settings.startupSectionDescription' => 'Legt fest, welchen Bereich Plezy beim Start öffnet',
|
||||
'settings.liveTvDefaultFavorites' => 'Standardmäßig Favoritenkanäle',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Beim Öffnen von Live TV nur Favoritenkanäle anzeigen',
|
||||
'settings.display' => 'Anzeige',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsDe {
|
||||
'subtitlingStyling.textColor' => 'Textfarbe',
|
||||
'subtitlingStyling.borderSize' => 'Rahmengröße',
|
||||
'subtitlingStyling.borderColor' => 'Rahmenfarbe',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Hintergrunddeckkraft',
|
||||
'subtitlingStyling.backgroundColor' => 'Hintergrundfarbe',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Hintergrunddeckkraft',
|
||||
'subtitlingStyling.backgroundColor' => 'Hintergrundfarbe',
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'ASS-Überschreibung',
|
||||
'subtitlingStyling.bold' => 'Fett',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsDe {
|
||||
'companionRemote.remote.tabSearch' => 'Suche',
|
||||
'companionRemote.remote.tabDownloads' => 'Downloads',
|
||||
'companionRemote.remote.tabSettings' => 'Einstellungen',
|
||||
'companionRemote.remote.previous' => 'Zurück',
|
||||
'companionRemote.remote.playPause' => 'Wiedergabe/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Zurück',
|
||||
'companionRemote.remote.playPause' => 'Wiedergabe/Pause',
|
||||
'companionRemote.remote.next' => 'Weiter',
|
||||
'companionRemote.remote.seekBack' => 'Zurückspulen',
|
||||
'companionRemote.remote.stop' => 'Stopp',
|
||||
|
||||
@@ -939,6 +939,12 @@ class TranslationsSettingsEn {
|
||||
/// en: 'Display text labels under navigation bar icons'
|
||||
String get showNavBarLabelsDescription => 'Display text labels under navigation bar icons';
|
||||
|
||||
/// en: 'Startup Section'
|
||||
String get startupSection => 'Startup Section';
|
||||
|
||||
/// en: 'Choose which section Plezy opens to when it starts'
|
||||
String get startupSectionDescription => 'Choose which section Plezy opens to when it starts';
|
||||
|
||||
/// en: 'Default to Favorite Channels'
|
||||
String get liveTvDefaultFavorites => 'Default to Favorite Channels';
|
||||
|
||||
@@ -4725,6 +4731,8 @@ extension on Translations {
|
||||
'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.startupSection' => 'Startup Section',
|
||||
'settings.startupSectionDescription' => 'Choose which section Plezy opens to when it starts',
|
||||
'settings.liveTvDefaultFavorites' => 'Default to Favorite Channels',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Show only favorite channels when opening Live TV',
|
||||
'settings.display' => 'Display',
|
||||
@@ -4969,10 +4977,10 @@ extension on Translations {
|
||||
'subtitlingStyling.textColor' => 'Text Color',
|
||||
'subtitlingStyling.borderSize' => 'Border Size',
|
||||
'subtitlingStyling.borderColor' => 'Border Color',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Background Opacity',
|
||||
'subtitlingStyling.backgroundColor' => 'Background Color',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Background Opacity',
|
||||
'subtitlingStyling.backgroundColor' => 'Background Color',
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'ASS Override',
|
||||
'subtitlingStyling.bold' => 'Bold',
|
||||
@@ -5483,10 +5491,10 @@ extension on Translations {
|
||||
'companionRemote.remote.tabSearch' => 'Search',
|
||||
'companionRemote.remote.tabDownloads' => 'Downloads',
|
||||
'companionRemote.remote.tabSettings' => 'Settings',
|
||||
'companionRemote.remote.previous' => 'Previous',
|
||||
'companionRemote.remote.playPause' => 'Play/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Previous',
|
||||
'companionRemote.remote.playPause' => 'Play/Pause',
|
||||
'companionRemote.remote.next' => 'Next',
|
||||
'companionRemote.remote.seekBack' => 'Seek Back',
|
||||
'companionRemote.remote.stop' => 'Stop',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Sección de inicio';
|
||||
@override String get startupSectionDescription => 'Elige qué sección abre Plezy al iniciarse';
|
||||
@override String get liveTvDefaultFavorites => 'Canales favoritos por defecto';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Mostrar solo canales favoritos al abrir TV en vivo';
|
||||
@override String get display => 'Pantalla';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsEs {
|
||||
'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.startupSection' => 'Sección de inicio',
|
||||
'settings.startupSectionDescription' => 'Elige qué sección abre Plezy al iniciarse',
|
||||
'settings.liveTvDefaultFavorites' => 'Canales favoritos por defecto',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Mostrar solo canales favoritos al abrir TV en vivo',
|
||||
'settings.display' => 'Pantalla',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsEs {
|
||||
'subtitlingStyling.textColor' => 'Color de Texto',
|
||||
'subtitlingStyling.borderSize' => 'Tamaño de Borde',
|
||||
'subtitlingStyling.borderColor' => 'Color de Borde',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacidad de Fondo',
|
||||
'subtitlingStyling.backgroundColor' => 'Color de Fondo',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacidad de Fondo',
|
||||
'subtitlingStyling.backgroundColor' => 'Color de Fondo',
|
||||
'subtitlingStyling.position' => 'Posición',
|
||||
'subtitlingStyling.assOverride' => 'Sobreescritura ASS',
|
||||
'subtitlingStyling.bold' => 'Negrita',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsEs {
|
||||
'companionRemote.remote.tabSearch' => 'Buscar',
|
||||
'companionRemote.remote.tabDownloads' => 'Descargas',
|
||||
'companionRemote.remote.tabSettings' => 'Configuración',
|
||||
'companionRemote.remote.previous' => 'Anterior',
|
||||
'companionRemote.remote.playPause' => 'Reproducir/Pausar',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Anterior',
|
||||
'companionRemote.remote.playPause' => 'Reproducir/Pausar',
|
||||
'companionRemote.remote.next' => 'Siguiente',
|
||||
'companionRemote.remote.seekBack' => 'Retroceder',
|
||||
'companionRemote.remote.stop' => 'Detener',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Section de démarrage';
|
||||
@override String get startupSectionDescription => 'Choisissez la section que Plezy ouvre au démarrage';
|
||||
@override String get liveTvDefaultFavorites => 'Chaînes favorites par défaut';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Afficher uniquement les chaînes favorites à l\'ouverture de la TV en direct';
|
||||
@override String get display => 'Affichage';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsFr {
|
||||
'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.startupSection' => 'Section de démarrage',
|
||||
'settings.startupSectionDescription' => 'Choisissez la section que Plezy ouvre au démarrage',
|
||||
'settings.liveTvDefaultFavorites' => 'Chaînes favorites par défaut',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Afficher uniquement les chaînes favorites à l\'ouverture de la TV en direct',
|
||||
'settings.display' => 'Affichage',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsFr {
|
||||
'subtitlingStyling.textColor' => 'Couleur du texte',
|
||||
'subtitlingStyling.borderSize' => 'Taille de la bordure',
|
||||
'subtitlingStyling.borderColor' => 'Couleur de la bordure',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacité d\'arrière-plan',
|
||||
'subtitlingStyling.backgroundColor' => 'Couleur d\'arrière-plan',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacité d\'arrière-plan',
|
||||
'subtitlingStyling.backgroundColor' => 'Couleur d\'arrière-plan',
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'Remplacement ASS',
|
||||
'subtitlingStyling.bold' => 'Gras',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsFr {
|
||||
'companionRemote.remote.tabSearch' => 'Rechercher',
|
||||
'companionRemote.remote.tabDownloads' => 'Téléchargements',
|
||||
'companionRemote.remote.tabSettings' => 'Paramètres',
|
||||
'companionRemote.remote.previous' => 'Précédent',
|
||||
'companionRemote.remote.playPause' => 'Lecture/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Précédent',
|
||||
'companionRemote.remote.playPause' => 'Lecture/Pause',
|
||||
'companionRemote.remote.next' => 'Suivant',
|
||||
'companionRemote.remote.seekBack' => 'Reculer',
|
||||
'companionRemote.remote.stop' => 'Arrêter',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Sezione di avvio';
|
||||
@override String get startupSectionDescription => 'Scegli quale sezione apre Plezy all\'avvio';
|
||||
@override String get liveTvDefaultFavorites => 'Canali preferiti predefiniti';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Mostra solo i canali preferiti all\'apertura della TV dal vivo';
|
||||
@override String get display => 'Schermo';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsIt {
|
||||
'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.startupSection' => 'Sezione di avvio',
|
||||
'settings.startupSectionDescription' => 'Scegli quale sezione apre Plezy all\'avvio',
|
||||
'settings.liveTvDefaultFavorites' => 'Canali preferiti predefiniti',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Mostra solo i canali preferiti all\'apertura della TV dal vivo',
|
||||
'settings.display' => 'Schermo',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsIt {
|
||||
'subtitlingStyling.textColor' => 'Colore testo',
|
||||
'subtitlingStyling.borderSize' => 'Dimensione bordo',
|
||||
'subtitlingStyling.borderColor' => 'Colore bordo',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacità sfondo',
|
||||
'subtitlingStyling.backgroundColor' => 'Colore sfondo',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacità sfondo',
|
||||
'subtitlingStyling.backgroundColor' => 'Colore sfondo',
|
||||
'subtitlingStyling.position' => 'Posizione',
|
||||
'subtitlingStyling.assOverride' => 'Sovrascrittura ASS',
|
||||
'subtitlingStyling.bold' => 'Grassetto',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsIt {
|
||||
'companionRemote.remote.tabSearch' => 'Cerca',
|
||||
'companionRemote.remote.tabDownloads' => 'Download',
|
||||
'companionRemote.remote.tabSettings' => 'Impostazioni',
|
||||
'companionRemote.remote.previous' => 'Precedente',
|
||||
'companionRemote.remote.playPause' => 'Riproduci/Pausa',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Precedente',
|
||||
'companionRemote.remote.playPause' => 'Riproduci/Pausa',
|
||||
'companionRemote.remote.next' => 'Successivo',
|
||||
'companionRemote.remote.seekBack' => 'Riavvolgi',
|
||||
'companionRemote.remote.stop' => 'Ferma',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
|
||||
@override String get autoHidePerformanceOverlayDescription => '再生コントロールと一緒にパフォーマンスオーバーレイをフェードする';
|
||||
@override String get showNavBarLabels => 'ナビゲーションバーラベルを表示';
|
||||
@override String get showNavBarLabelsDescription => 'ナビゲーションバーアイコンの下にテキストラベルを表示';
|
||||
@override String get startupSection => '起動時のセクション';
|
||||
@override String get startupSectionDescription => '起動時に Plezy が開くセクションを選択します';
|
||||
@override String get liveTvDefaultFavorites => 'お気に入りチャンネルをデフォルトに';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'ライブTV を開いたときにお気に入りチャンネルのみ表示';
|
||||
@override String get display => 'ディスプレイ';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsJa {
|
||||
'settings.autoHidePerformanceOverlayDescription' => '再生コントロールと一緒にパフォーマンスオーバーレイをフェードする',
|
||||
'settings.showNavBarLabels' => 'ナビゲーションバーラベルを表示',
|
||||
'settings.showNavBarLabelsDescription' => 'ナビゲーションバーアイコンの下にテキストラベルを表示',
|
||||
'settings.startupSection' => '起動時のセクション',
|
||||
'settings.startupSectionDescription' => '起動時に Plezy が開くセクションを選択します',
|
||||
'settings.liveTvDefaultFavorites' => 'お気に入りチャンネルをデフォルトに',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'ライブTV を開いたときにお気に入りチャンネルのみ表示',
|
||||
'settings.display' => 'ディスプレイ',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsJa {
|
||||
'subtitlingStyling.textColor' => 'テキストの色',
|
||||
'subtitlingStyling.borderSize' => '枠線サイズ',
|
||||
'subtitlingStyling.borderColor' => '枠線の色',
|
||||
'subtitlingStyling.backgroundOpacity' => '背景の不透明度',
|
||||
'subtitlingStyling.backgroundColor' => '背景色',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => '背景の不透明度',
|
||||
'subtitlingStyling.backgroundColor' => '背景色',
|
||||
'subtitlingStyling.position' => '位置',
|
||||
'subtitlingStyling.assOverride' => 'ASSオーバーライド',
|
||||
'subtitlingStyling.bold' => '太字',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsJa {
|
||||
'companionRemote.remote.tabSearch' => '検索',
|
||||
'companionRemote.remote.tabDownloads' => 'ダウンロード',
|
||||
'companionRemote.remote.tabSettings' => '設定',
|
||||
'companionRemote.remote.previous' => '前へ',
|
||||
'companionRemote.remote.playPause' => '再生/一時停止',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => '前へ',
|
||||
'companionRemote.remote.playPause' => '再生/一時停止',
|
||||
'companionRemote.remote.next' => '次へ',
|
||||
'companionRemote.remote.seekBack' => '巻き戻し',
|
||||
'companionRemote.remote.stop' => '停止',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsKo extends TranslationsSettingsEn {
|
||||
@override String get autoHidePerformanceOverlayDescription => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리';
|
||||
@override String get showNavBarLabels => '내비게이션 바 라벨 표시';
|
||||
@override String get showNavBarLabelsDescription => '내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다';
|
||||
@override String get startupSection => '시작 섹션';
|
||||
@override String get startupSectionDescription => 'Plezy 실행 시 열릴 섹션을 선택합니다';
|
||||
@override String get liveTvDefaultFavorites => '즐겨찾기 채널 기본 설정';
|
||||
@override String get liveTvDefaultFavoritesDescription => '라이브 TV를 열 때 즐겨찾기 채널만 표시';
|
||||
@override String get display => '디스플레이';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsKo {
|
||||
'settings.autoHidePerformanceOverlayDescription' => '재생 컨트롤과 함께 성능 오버레이를 페이드 처리',
|
||||
'settings.showNavBarLabels' => '내비게이션 바 라벨 표시',
|
||||
'settings.showNavBarLabelsDescription' => '내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다',
|
||||
'settings.startupSection' => '시작 섹션',
|
||||
'settings.startupSectionDescription' => 'Plezy 실행 시 열릴 섹션을 선택합니다',
|
||||
'settings.liveTvDefaultFavorites' => '즐겨찾기 채널 기본 설정',
|
||||
'settings.liveTvDefaultFavoritesDescription' => '라이브 TV를 열 때 즐겨찾기 채널만 표시',
|
||||
'settings.display' => '디스플레이',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsKo {
|
||||
'subtitlingStyling.textColor' => '텍스트 색상',
|
||||
'subtitlingStyling.borderSize' => '테두리 크기',
|
||||
'subtitlingStyling.borderColor' => '테두리 색상',
|
||||
'subtitlingStyling.backgroundOpacity' => '배경 불투명도',
|
||||
'subtitlingStyling.backgroundColor' => '배경색',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => '배경 불투명도',
|
||||
'subtitlingStyling.backgroundColor' => '배경색',
|
||||
'subtitlingStyling.position' => '위치',
|
||||
'subtitlingStyling.assOverride' => 'ASS 오버라이드',
|
||||
'subtitlingStyling.bold' => '굵게',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsKo {
|
||||
'companionRemote.remote.tabSearch' => '검색',
|
||||
'companionRemote.remote.tabDownloads' => '다운로드',
|
||||
'companionRemote.remote.tabSettings' => '설정',
|
||||
'companionRemote.remote.previous' => '이전',
|
||||
'companionRemote.remote.playPause' => '재생/일시정지',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => '이전',
|
||||
'companionRemote.remote.playPause' => '재생/일시정지',
|
||||
'companionRemote.remote.next' => '다음',
|
||||
'companionRemote.remote.seekBack' => '되감기',
|
||||
'companionRemote.remote.stop' => '정지',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Oppstartsseksjon';
|
||||
@override String get startupSectionDescription => 'Velg hvilken seksjon Plezy åpner ved oppstart';
|
||||
@override String get liveTvDefaultFavorites => 'Standard til favorittkanaler';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Vis kun favorittkanaler når du åpner Live TV';
|
||||
@override String get display => 'Skjerm';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsNb {
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Fade ytelsesoverlegget med avspillingskontrollene',
|
||||
'settings.showNavBarLabels' => 'Vis navigasjonsfeltlabeler',
|
||||
'settings.showNavBarLabelsDescription' => 'Vis tekstlabeler under navigasjonsfeltikoner',
|
||||
'settings.startupSection' => 'Oppstartsseksjon',
|
||||
'settings.startupSectionDescription' => 'Velg hvilken seksjon Plezy åpner ved oppstart',
|
||||
'settings.liveTvDefaultFavorites' => 'Standard til favorittkanaler',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Vis kun favorittkanaler når du åpner Live TV',
|
||||
'settings.display' => 'Skjerm',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsNb {
|
||||
'subtitlingStyling.textColor' => 'Tekstfarge',
|
||||
'subtitlingStyling.borderSize' => 'Kantstørrelse',
|
||||
'subtitlingStyling.borderColor' => 'Kantfarge',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Bakgrunnsopasitet',
|
||||
'subtitlingStyling.backgroundColor' => 'Bakgrunnsfarge',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Bakgrunnsopasitet',
|
||||
'subtitlingStyling.backgroundColor' => 'Bakgrunnsfarge',
|
||||
'subtitlingStyling.position' => 'Posisjon',
|
||||
'subtitlingStyling.assOverride' => 'ASS-overstyring',
|
||||
'subtitlingStyling.bold' => 'Fet',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsNb {
|
||||
'companionRemote.remote.tabSearch' => 'Søk',
|
||||
'companionRemote.remote.tabDownloads' => 'Nedlastinger',
|
||||
'companionRemote.remote.tabSettings' => 'Innstillinger',
|
||||
'companionRemote.remote.previous' => 'Forrige',
|
||||
'companionRemote.remote.playPause' => 'Spill av/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Forrige',
|
||||
'companionRemote.remote.playPause' => 'Spill av/Pause',
|
||||
'companionRemote.remote.next' => 'Neste',
|
||||
'companionRemote.remote.seekBack' => 'Spol tilbake',
|
||||
'companionRemote.remote.stop' => 'Stopp',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Opstartsectie';
|
||||
@override String get startupSectionDescription => 'Kies welke sectie Plezy opent bij het opstarten';
|
||||
@override String get liveTvDefaultFavorites => 'Standaard favoriete zenders';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Toon alleen favoriete zenders bij het openen van Live TV';
|
||||
@override String get display => 'Weergave';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsNl {
|
||||
'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.startupSection' => 'Opstartsectie',
|
||||
'settings.startupSectionDescription' => 'Kies welke sectie Plezy opent bij het opstarten',
|
||||
'settings.liveTvDefaultFavorites' => 'Standaard favoriete zenders',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Toon alleen favoriete zenders bij het openen van Live TV',
|
||||
'settings.display' => 'Weergave',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsNl {
|
||||
'subtitlingStyling.textColor' => 'Tekstkleur',
|
||||
'subtitlingStyling.borderSize' => 'Rand grootte',
|
||||
'subtitlingStyling.borderColor' => 'Randkleur',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Achtergrond transparantie',
|
||||
'subtitlingStyling.backgroundColor' => 'Achtergrondkleur',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Achtergrond transparantie',
|
||||
'subtitlingStyling.backgroundColor' => 'Achtergrondkleur',
|
||||
'subtitlingStyling.position' => 'Positie',
|
||||
'subtitlingStyling.assOverride' => 'ASS-overschrijving',
|
||||
'subtitlingStyling.bold' => 'Vet',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsNl {
|
||||
'companionRemote.remote.tabSearch' => 'Zoeken',
|
||||
'companionRemote.remote.tabDownloads' => 'Downloads',
|
||||
'companionRemote.remote.tabSettings' => 'Instellingen',
|
||||
'companionRemote.remote.previous' => 'Vorige',
|
||||
'companionRemote.remote.playPause' => 'Afspelen/Pauzeren',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Vorige',
|
||||
'companionRemote.remote.playPause' => 'Afspelen/Pauzeren',
|
||||
'companionRemote.remote.next' => 'Volgende',
|
||||
'companionRemote.remote.seekBack' => 'Terugspoelen',
|
||||
'companionRemote.remote.stop' => 'Stoppen',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Sekcja startowa';
|
||||
@override String get startupSectionDescription => 'Wybierz, którą sekcję Plezy otwiera przy uruchomieniu';
|
||||
@override String get liveTvDefaultFavorites => 'Domyślnie ulubione kanały';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Pokaż tylko ulubione kanały po otwarciu telewizji na żywo';
|
||||
@override String get display => 'Ekran';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsPl {
|
||||
'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.startupSection' => 'Sekcja startowa',
|
||||
'settings.startupSectionDescription' => 'Wybierz, którą sekcję Plezy otwiera przy uruchomieniu',
|
||||
'settings.liveTvDefaultFavorites' => 'Domyślnie ulubione kanały',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Pokaż tylko ulubione kanały po otwarciu telewizji na żywo',
|
||||
'settings.display' => 'Ekran',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsPl {
|
||||
'subtitlingStyling.textColor' => 'Kolor tekstu',
|
||||
'subtitlingStyling.borderSize' => 'Rozmiar obramowania',
|
||||
'subtitlingStyling.borderColor' => 'Kolor obramowania',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Przezroczystość tła',
|
||||
'subtitlingStyling.backgroundColor' => 'Kolor tła',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Przezroczystość tła',
|
||||
'subtitlingStyling.backgroundColor' => 'Kolor tła',
|
||||
'subtitlingStyling.position' => 'Pozycja',
|
||||
'subtitlingStyling.assOverride' => 'Nadpisywanie ASS',
|
||||
'subtitlingStyling.bold' => 'Pogrubienie',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsPl {
|
||||
'companionRemote.remote.tabSearch' => 'Szukaj',
|
||||
'companionRemote.remote.tabDownloads' => 'Pobrania',
|
||||
'companionRemote.remote.tabSettings' => 'Ustawienia',
|
||||
'companionRemote.remote.previous' => 'Poprzedni',
|
||||
'companionRemote.remote.playPause' => 'Odtwórz/Pauza',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Poprzedni',
|
||||
'companionRemote.remote.playPause' => 'Odtwórz/Pauza',
|
||||
'companionRemote.remote.next' => 'Następny',
|
||||
'companionRemote.remote.seekBack' => 'Przewiń wstecz',
|
||||
'companionRemote.remote.stop' => 'Stop',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Seção inicial';
|
||||
@override String get startupSectionDescription => 'Escolha qual seção o Plezy abre ao iniciar';
|
||||
@override String get liveTvDefaultFavorites => 'Canais favoritos por padrão';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Mostrar apenas canais favoritos ao abrir TV ao vivo';
|
||||
@override String get display => 'Tela';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsPt {
|
||||
'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.startupSection' => 'Seção inicial',
|
||||
'settings.startupSectionDescription' => 'Escolha qual seção o Plezy abre ao iniciar',
|
||||
'settings.liveTvDefaultFavorites' => 'Canais favoritos por padrão',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Mostrar apenas canais favoritos ao abrir TV ao vivo',
|
||||
'settings.display' => 'Tela',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsPt {
|
||||
'subtitlingStyling.textColor' => 'Cor do Texto',
|
||||
'subtitlingStyling.borderSize' => 'Tamanho da Borda',
|
||||
'subtitlingStyling.borderColor' => 'Cor da Borda',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacidade do Fundo',
|
||||
'subtitlingStyling.backgroundColor' => 'Cor de Fundo',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacidade do Fundo',
|
||||
'subtitlingStyling.backgroundColor' => 'Cor de Fundo',
|
||||
'subtitlingStyling.position' => 'Posição',
|
||||
'subtitlingStyling.assOverride' => 'Substituição ASS',
|
||||
'subtitlingStyling.bold' => 'Negrito',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsPt {
|
||||
'companionRemote.remote.tabSearch' => 'Buscar',
|
||||
'companionRemote.remote.tabDownloads' => 'Downloads',
|
||||
'companionRemote.remote.tabSettings' => 'Configurações',
|
||||
'companionRemote.remote.previous' => 'Anterior',
|
||||
'companionRemote.remote.playPause' => 'Reproduzir/Pausar',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Anterior',
|
||||
'companionRemote.remote.playPause' => 'Reproduzir/Pausar',
|
||||
'companionRemote.remote.next' => 'Próximo',
|
||||
'companionRemote.remote.seekBack' => 'Retroceder',
|
||||
'companionRemote.remote.stop' => 'Parar',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
|
||||
@override String get autoHidePerformanceOverlayDescription => 'Скрывать оверлей производительности вместе с элементами управления воспроизведением';
|
||||
@override String get showNavBarLabels => 'Показывать подписи панели навигации';
|
||||
@override String get showNavBarLabelsDescription => 'Отображать текстовые подписи под иконками панели навигации';
|
||||
@override String get startupSection => 'Начальный раздел';
|
||||
@override String get startupSectionDescription => 'Выберите, какой раздел Plezy открывает при запуске';
|
||||
@override String get liveTvDefaultFavorites => 'Избранные каналы по умолчанию';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Показывать только избранные каналы при открытии ТВ';
|
||||
@override String get display => 'Экран';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsRu {
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Скрывать оверлей производительности вместе с элементами управления воспроизведением',
|
||||
'settings.showNavBarLabels' => 'Показывать подписи панели навигации',
|
||||
'settings.showNavBarLabelsDescription' => 'Отображать текстовые подписи под иконками панели навигации',
|
||||
'settings.startupSection' => 'Начальный раздел',
|
||||
'settings.startupSectionDescription' => 'Выберите, какой раздел Plezy открывает при запуске',
|
||||
'settings.liveTvDefaultFavorites' => 'Избранные каналы по умолчанию',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Показывать только избранные каналы при открытии ТВ',
|
||||
'settings.display' => 'Экран',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsRu {
|
||||
'subtitlingStyling.textColor' => 'Цвет текста',
|
||||
'subtitlingStyling.borderSize' => 'Размер обводки',
|
||||
'subtitlingStyling.borderColor' => 'Цвет обводки',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Прозрачность фона',
|
||||
'subtitlingStyling.backgroundColor' => 'Цвет фона',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Прозрачность фона',
|
||||
'subtitlingStyling.backgroundColor' => 'Цвет фона',
|
||||
'subtitlingStyling.position' => 'Позиция',
|
||||
'subtitlingStyling.assOverride' => 'Переопределение ASS',
|
||||
'subtitlingStyling.bold' => 'Жирный',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsRu {
|
||||
'companionRemote.remote.tabSearch' => 'Поиск',
|
||||
'companionRemote.remote.tabDownloads' => 'Загрузки',
|
||||
'companionRemote.remote.tabSettings' => 'Настройки',
|
||||
'companionRemote.remote.previous' => 'Предыдущий',
|
||||
'companionRemote.remote.playPause' => 'Воспроизведение/Пауза',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Предыдущий',
|
||||
'companionRemote.remote.playPause' => 'Воспроизведение/Пауза',
|
||||
'companionRemote.remote.next' => 'Следующий',
|
||||
'companionRemote.remote.seekBack' => 'Назад',
|
||||
'companionRemote.remote.stop' => 'Стоп',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
|
||||
@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 startupSection => 'Startsektion';
|
||||
@override String get startupSectionDescription => 'Välj vilken sektion Plezy öppnar vid start';
|
||||
@override String get liveTvDefaultFavorites => 'Standard till favoritkanaler';
|
||||
@override String get liveTvDefaultFavoritesDescription => 'Visa bara favoritkanaler när du öppnar Live TV';
|
||||
@override String get display => 'Skärm';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsSv {
|
||||
'settings.autoHidePerformanceOverlayDescription' => 'Tona prestandaöverlagringen med uppspelningskontrollerna',
|
||||
'settings.showNavBarLabels' => 'Visa navigeringsfältets etiketter',
|
||||
'settings.showNavBarLabelsDescription' => 'Visa textetiketter under navigeringsfältets ikoner',
|
||||
'settings.startupSection' => 'Startsektion',
|
||||
'settings.startupSectionDescription' => 'Välj vilken sektion Plezy öppnar vid start',
|
||||
'settings.liveTvDefaultFavorites' => 'Standard till favoritkanaler',
|
||||
'settings.liveTvDefaultFavoritesDescription' => 'Visa bara favoritkanaler när du öppnar Live TV',
|
||||
'settings.display' => 'Skärm',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsSv {
|
||||
'subtitlingStyling.textColor' => 'Textfärg',
|
||||
'subtitlingStyling.borderSize' => 'Kantstorlek',
|
||||
'subtitlingStyling.borderColor' => 'Kantfärg',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Bakgrundsopacitet',
|
||||
'subtitlingStyling.backgroundColor' => 'Bakgrundsfärg',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => 'Bakgrundsopacitet',
|
||||
'subtitlingStyling.backgroundColor' => 'Bakgrundsfärg',
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'ASS-åsidosättning',
|
||||
'subtitlingStyling.bold' => 'Fet',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsSv {
|
||||
'companionRemote.remote.tabSearch' => 'Sök',
|
||||
'companionRemote.remote.tabDownloads' => 'Nedladdningar',
|
||||
'companionRemote.remote.tabSettings' => 'Inställningar',
|
||||
'companionRemote.remote.previous' => 'Föregående',
|
||||
'companionRemote.remote.playPause' => 'Spela/Pausa',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => 'Föregående',
|
||||
'companionRemote.remote.playPause' => 'Spela/Pausa',
|
||||
'companionRemote.remote.next' => 'Nästa',
|
||||
'companionRemote.remote.seekBack' => 'Spola bakåt',
|
||||
'companionRemote.remote.stop' => 'Stopp',
|
||||
|
||||
@@ -405,6 +405,8 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
|
||||
@override String get autoHidePerformanceOverlayDescription => '性能叠加层随播放控件一起淡入淡出';
|
||||
@override String get showNavBarLabels => '显示导航栏标签';
|
||||
@override String get showNavBarLabelsDescription => '在导航栏图标下方显示文字标签';
|
||||
@override String get startupSection => '启动页面';
|
||||
@override String get startupSectionDescription => '选择 Plezy 启动时打开的页面';
|
||||
@override String get liveTvDefaultFavorites => '默认显示收藏频道';
|
||||
@override String get liveTvDefaultFavoritesDescription => '打开直播电视时仅显示收藏频道';
|
||||
@override String get display => '显示';
|
||||
@@ -2183,6 +2185,8 @@ extension on TranslationsZh {
|
||||
'settings.autoHidePerformanceOverlayDescription' => '性能叠加层随播放控件一起淡入淡出',
|
||||
'settings.showNavBarLabels' => '显示导航栏标签',
|
||||
'settings.showNavBarLabelsDescription' => '在导航栏图标下方显示文字标签',
|
||||
'settings.startupSection' => '启动页面',
|
||||
'settings.startupSectionDescription' => '选择 Plezy 启动时打开的页面',
|
||||
'settings.liveTvDefaultFavorites' => '默认显示收藏频道',
|
||||
'settings.liveTvDefaultFavoritesDescription' => '打开直播电视时仅显示收藏频道',
|
||||
'settings.display' => '显示',
|
||||
@@ -2427,10 +2431,10 @@ extension on TranslationsZh {
|
||||
'subtitlingStyling.textColor' => '文本颜色',
|
||||
'subtitlingStyling.borderSize' => '边框大小',
|
||||
'subtitlingStyling.borderColor' => '边框颜色',
|
||||
'subtitlingStyling.backgroundOpacity' => '背景不透明度',
|
||||
'subtitlingStyling.backgroundColor' => '背景颜色',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.backgroundOpacity' => '背景不透明度',
|
||||
'subtitlingStyling.backgroundColor' => '背景颜色',
|
||||
'subtitlingStyling.position' => '位置',
|
||||
'subtitlingStyling.assOverride' => 'ASS 样式覆盖',
|
||||
'subtitlingStyling.bold' => '粗体',
|
||||
@@ -2941,10 +2945,10 @@ extension on TranslationsZh {
|
||||
'companionRemote.remote.tabSearch' => '搜索',
|
||||
'companionRemote.remote.tabDownloads' => '下载',
|
||||
'companionRemote.remote.tabSettings' => '设置',
|
||||
'companionRemote.remote.previous' => '上一个',
|
||||
'companionRemote.remote.playPause' => '播放/暂停',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.previous' => '上一个',
|
||||
'companionRemote.remote.playPause' => '播放/暂停',
|
||||
'companionRemote.remote.next' => '下一个',
|
||||
'companionRemote.remote.seekBack' => '后退',
|
||||
'companionRemote.remote.stop' => '停止',
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "Tona prestandaöverlagringen med uppspelningskontrollerna",
|
||||
"showNavBarLabels": "Visa navigeringsfältets etiketter",
|
||||
"showNavBarLabelsDescription": "Visa textetiketter under navigeringsfältets ikoner",
|
||||
"startupSection": "Startsektion",
|
||||
"startupSectionDescription": "Välj vilken sektion Plezy öppnar vid start",
|
||||
"liveTvDefaultFavorites": "Standard till favoritkanaler",
|
||||
"liveTvDefaultFavoritesDescription": "Visa bara favoritkanaler när du öppnar Live TV",
|
||||
"display": "Skärm",
|
||||
|
||||
@@ -276,6 +276,8 @@
|
||||
"autoHidePerformanceOverlayDescription": "性能叠加层随播放控件一起淡入淡出",
|
||||
"showNavBarLabels": "显示导航栏标签",
|
||||
"showNavBarLabelsDescription": "在导航栏图标下方显示文字标签",
|
||||
"startupSection": "启动页面",
|
||||
"startupSectionDescription": "选择 Plezy 启动时打开的页面",
|
||||
"liveTvDefaultFavorites": "默认显示收藏频道",
|
||||
"liveTvDefaultFavoritesDescription": "打开直播电视时仅显示收藏频道",
|
||||
"display": "显示",
|
||||
|
||||
@@ -36,6 +36,26 @@ class NavigationTab {
|
||||
return true;
|
||||
}).toList();
|
||||
}
|
||||
|
||||
/// Resolve which tab the app should open to on launch.
|
||||
///
|
||||
/// Offline mode prefers Downloads when available. Online, honours the user's
|
||||
/// [preferredStartup] section when it is currently visible, otherwise falls
|
||||
/// back to the first visible tab (Home).
|
||||
static NavigationTabId resolveDefaultTab({
|
||||
required bool isOffline,
|
||||
required bool hasLiveTv,
|
||||
required NavigationTabId? preferredStartup,
|
||||
}) {
|
||||
final tabs = getVisibleTabs(isOffline: isOffline, hasLiveTv: hasLiveTv);
|
||||
if (isOffline && tabs.any((t) => t.id == NavigationTabId.downloads)) {
|
||||
return NavigationTabId.downloads;
|
||||
}
|
||||
if (preferredStartup != null && tabs.any((t) => t.id == preferredStartup)) {
|
||||
return preferredStartup;
|
||||
}
|
||||
return tabs.first.id;
|
||||
}
|
||||
}
|
||||
|
||||
// Label getters (must be top-level for const constructor)
|
||||
|
||||
@@ -233,6 +233,11 @@ class _MainScreenState extends State<MainScreen>
|
||||
/// Last selected online tab (restored when coming back online after an offline fallback)
|
||||
NavigationTabId? _lastOnlineTabId;
|
||||
|
||||
/// A preferred startup section (e.g. Live TV) that wasn't visible yet at cold
|
||||
/// start because servers bind asynchronously. Applied once it becomes
|
||||
/// available (see [_handleLiveTvChanged]); cleared on any explicit selection.
|
||||
NavigationTabId? _pendingStartupTab;
|
||||
|
||||
/// Whether we auto-switched to Downloads because the previous tab was unavailable offline
|
||||
bool _autoSwitchedToDownloads = false;
|
||||
|
||||
@@ -331,6 +336,12 @@ class _MainScreenState extends State<MainScreen>
|
||||
_currentTab = _defaultTabForMode(_isOffline);
|
||||
_lastOnlineTabId = _isOffline ? null : NavigationTabId.discover;
|
||||
_autoSwitchedToDownloads = _isOffline && _currentTab == NavigationTabId.downloads;
|
||||
// If the preferred startup section isn't visible yet (e.g. Live TV before
|
||||
// servers finish binding), remember it and switch once it becomes available.
|
||||
final preferredStartup = SettingsService.instanceOrNull?.read(SettingsService.startupSection);
|
||||
_pendingStartupTab = (!_isOffline && preferredStartup != null && preferredStartup != _currentTab)
|
||||
? preferredStartup
|
||||
: null;
|
||||
_screens = _buildScreens(_isOffline);
|
||||
|
||||
// Set up Watch Together callbacks immediately (must be synchronous to catch early messages)
|
||||
@@ -917,14 +928,11 @@ class _MainScreenState extends State<MainScreen>
|
||||
return _defaultTabForMode(isOffline);
|
||||
}
|
||||
|
||||
NavigationTabId _defaultTabForMode(bool isOffline) {
|
||||
final tabs = _getVisibleTabs(isOffline);
|
||||
if (isOffline) {
|
||||
final downloads = tabs.where((t) => t.id == NavigationTabId.downloads).firstOrNull;
|
||||
if (downloads != null) return downloads.id;
|
||||
}
|
||||
return tabs.first.id;
|
||||
}
|
||||
NavigationTabId _defaultTabForMode(bool isOffline) => NavigationTab.resolveDefaultTab(
|
||||
isOffline: isOffline,
|
||||
hasLiveTv: _hasLiveTv,
|
||||
preferredStartup: SettingsService.instanceOrNull?.read(SettingsService.startupSection),
|
||||
);
|
||||
|
||||
void _triggerReconnect() {
|
||||
if (_isReconnecting) return;
|
||||
@@ -971,6 +979,14 @@ class _MainScreenState extends State<MainScreen>
|
||||
_currentTab = _normalizeTabForMode(_currentTab, _isOffline);
|
||||
});
|
||||
_updateTvosMenuPassthrough();
|
||||
|
||||
// A preferred startup section (only Live TV can be deferred) just became
|
||||
// available — switch to it via _selectTab so it gets the usual visibility
|
||||
// and focus handling. _selectTab clears _pendingStartupTab.
|
||||
final pending = _pendingStartupTab;
|
||||
if (pending != null && _getVisibleTabs(_isOffline).any((t) => t.id == pending)) {
|
||||
_selectTab(pending);
|
||||
}
|
||||
}
|
||||
|
||||
void _handleOfflineStatusChanged() {
|
||||
@@ -1355,6 +1371,8 @@ class _MainScreenState extends State<MainScreen>
|
||||
final previousTab = _currentTab;
|
||||
setState(() {
|
||||
_currentTab = tab;
|
||||
// An explicit selection cancels any deferred startup-section switch.
|
||||
_pendingStartupTab = null;
|
||||
if (!_isOffline) {
|
||||
_lastOnlineTabId = tab;
|
||||
} else if (previousTab != tab) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:provider/provider.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../providers/theme_provider.dart';
|
||||
import '../../profiles/active_profile_provider.dart';
|
||||
import '../../navigation/navigation_tabs.dart';
|
||||
import '../../services/settings_service.dart' hide ThemeMode;
|
||||
import '../../services/settings_service.dart' as settings show ThemeMode;
|
||||
import '../../focus/focusable_slider.dart';
|
||||
@@ -76,6 +77,7 @@ class AppearanceSettingsScreen extends StatelessWidget {
|
||||
),
|
||||
|
||||
SettingsSectionHeader(t.settings.navigation),
|
||||
_startupSectionSelector(),
|
||||
if (Platform.isAndroid)
|
||||
SettingSwitchTile(
|
||||
pref: SettingsService.forceTvMode,
|
||||
@@ -250,6 +252,27 @@ class AppearanceSettingsScreen extends StatelessWidget {
|
||||
encode: (v) => v,
|
||||
);
|
||||
|
||||
// Sections offered as a startup destination, in display order. Live TV is
|
||||
// always listed; if no server provides it, startup falls back to Home.
|
||||
static const _startupSectionOptions = [
|
||||
NavigationTabId.discover,
|
||||
NavigationTabId.libraries,
|
||||
NavigationTabId.liveTv,
|
||||
NavigationTabId.search,
|
||||
];
|
||||
|
||||
String _startupSectionLabel(NavigationTabId id) => allNavigationTabs.firstWhere((t) => t.id == id).getLabel();
|
||||
|
||||
Widget _startupSectionSelector() => SettingSelectionTile<NavigationTabId, NavigationTabId>(
|
||||
pref: SettingsService.startupSection,
|
||||
icon: Symbols.start_rounded,
|
||||
title: t.settings.startupSection,
|
||||
subtitleBuilder: _startupSectionLabel,
|
||||
options: _startupSectionOptions.map((id) => DialogOption(value: id, title: _startupSectionLabel(id))).toList(),
|
||||
decode: (v) => v,
|
||||
encode: (v) => v,
|
||||
);
|
||||
|
||||
Widget _requireProfileSelection() {
|
||||
return Consumer<ActiveProfileProvider>(
|
||||
builder: (context, activeProvider, _) {
|
||||
|
||||
@@ -14,6 +14,7 @@ import 'base_shared_preferences_service.dart';
|
||||
export 'base_shared_preferences_service.dart'
|
||||
show Pref, BoolPref, IntPref, DoublePref, StringPref, NullableStringPref, StringListPref, EnumPref, JsonPref;
|
||||
import '../models/transcode_quality_preset.dart';
|
||||
import '../navigation/navigation_tabs.dart';
|
||||
import '../utils/platform_detector.dart';
|
||||
import 'trackers/tracker_constants.dart';
|
||||
|
||||
@@ -344,6 +345,11 @@ class SettingsService extends BaseSharedPreferencesService {
|
||||
);
|
||||
static const autoPlayNextEpisode = BoolPref('auto_play_next_episode', defaultValue: true);
|
||||
static const useExoPlayer = BoolPref('use_exoplayer', defaultValue: true);
|
||||
static const startupSection = EnumPref<NavigationTabId>(
|
||||
'startup_section',
|
||||
values: NavigationTabId.values,
|
||||
defaultValue: NavigationTabId.discover,
|
||||
);
|
||||
static const alwaysKeepSidebarOpen = BoolPref('always_keep_sidebar_open');
|
||||
static const showUnwatchedCount = BoolPref('show_unwatched_count', defaultValue: true);
|
||||
static const showEpisodeNumberOnCards = BoolPref('show_episode_number_on_cards', defaultValue: true);
|
||||
@@ -729,6 +735,7 @@ class SettingsService extends BaseSharedPreferencesService {
|
||||
defaultBoxFitMode,
|
||||
autoPlayNextEpisode,
|
||||
useExoPlayer,
|
||||
startupSection,
|
||||
alwaysKeepSidebarOpen,
|
||||
showUnwatchedCount,
|
||||
showEpisodeNumberOnCards,
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:plezy/navigation/navigation_tabs.dart';
|
||||
|
||||
void main() {
|
||||
group('NavigationTab.resolveDefaultTab', () {
|
||||
test('offline prefers Downloads when available', () {
|
||||
expect(
|
||||
NavigationTab.resolveDefaultTab(isOffline: true, hasLiveTv: false, preferredStartup: null),
|
||||
NavigationTabId.downloads,
|
||||
);
|
||||
});
|
||||
|
||||
test('offline ignores an online-only preferred section', () {
|
||||
expect(
|
||||
NavigationTab.resolveDefaultTab(isOffline: true, hasLiveTv: true, preferredStartup: NavigationTabId.liveTv),
|
||||
NavigationTabId.downloads,
|
||||
);
|
||||
});
|
||||
|
||||
test('online honours the preferred section when it is visible', () {
|
||||
expect(
|
||||
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: true, preferredStartup: NavigationTabId.liveTv),
|
||||
NavigationTabId.liveTv,
|
||||
);
|
||||
expect(
|
||||
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: false, preferredStartup: NavigationTabId.search),
|
||||
NavigationTabId.search,
|
||||
);
|
||||
});
|
||||
|
||||
test('online falls back to Home when preferred Live TV is unavailable', () {
|
||||
expect(
|
||||
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: false, preferredStartup: NavigationTabId.liveTv),
|
||||
NavigationTabId.discover,
|
||||
);
|
||||
});
|
||||
|
||||
test('online defaults to Home when no preference is set', () {
|
||||
expect(
|
||||
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: true, preferredStartup: null),
|
||||
NavigationTabId.discover,
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user