mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-12 20:16:15 -08:00
feat(stalker): full Live TV channel list for complete search, count badges, and all-channels grid (#1209)
Load the complete ITV channel list once per portal (Ministra get_all_channels with a paged crawl fallback) and use it for: full local search across every channel, per-genre category count badges, an all-channels paginated grid on Live TV entry, and eager bulk EPG so row previews appear without playing a channel. Censored (adult) genres absent from get_all_channels fall back to the legacy paged flow and show no badge. Includes mock-server support, unit + E2E coverage, and architecture docs.
This commit is contained in:
1 parent
e53adcbeaf
commit
b3e130aa65
56 files changed
+3044
-63
No files matched your search
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "هذا المحتوى غير متاح على هذا الخادم",
|
||||
"PLAYBACK_ERROR": "فشل الحصول على رابط التشغيل",
|
||||
"LOADING_SEASONS": "جارٍ تحميل المواسم...",
|
||||
"LOADING_ALL_CHANNELS": "جارٍ تحميل قائمة القنوات الكاملة…",
|
||||
"REFRESH_CHANNEL_LIST": "تحديث قائمة القنوات",
|
||||
"NO_CHANNELS_IN_CATEGORY": "لا توجد قنوات في هذه الفئة",
|
||||
"ITEM": "عنصر",
|
||||
"ITEMS": "عناصر",
|
||||
"NO_EPISODES": "لا توجد حلقات متاحة",
|
||||
"ALL_RADIO": "كل الراديو"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "هاد المحتوى ما متوفرش على هاد السيرفر",
|
||||
"PLAYBACK_ERROR": "فشل جلب رابط التشغيل",
|
||||
"LOADING_SEASONS": "جاري تشريج المواسم...",
|
||||
"LOADING_ALL_CHANNELS": "كيتم تحميل لائحة القنوات كاملة…",
|
||||
"REFRESH_CHANNEL_LIST": "تحديث لائحة القنوات",
|
||||
"NO_CHANNELS_IN_CATEGORY": "ماكاينش قنوات فهاد الصنف",
|
||||
"ITEM": "عنصر",
|
||||
"ITEMS": "عناصر",
|
||||
"NO_EPISODES": "ما كاينش حلقات متوفرة",
|
||||
"ALL_RADIO": "All radio"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Гэты кантэнт недаступны на дадзеным серверы",
|
||||
"PLAYBACK_ERROR": "Не ўдалося атрымаць URL для прайгравання",
|
||||
"LOADING_SEASONS": "Загрузка сезонаў...",
|
||||
"LOADING_ALL_CHANNELS": "Загрузка поўнага спісу каналаў…",
|
||||
"REFRESH_CHANNEL_LIST": "Абнавіць спіс каналаў",
|
||||
"NO_CHANNELS_IN_CATEGORY": "У гэтай катэгорыі няма каналаў",
|
||||
"ITEM": "элемент",
|
||||
"ITEMS": "элементаў",
|
||||
"NO_EPISODES": "Няма даступных эпізодаў",
|
||||
"ALL_RADIO": "Усе радыё"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Dieser Inhalt ist auf diesem Server nicht verfügbar",
|
||||
"PLAYBACK_ERROR": "Wiedergabe-URL konnte nicht abgerufen werden",
|
||||
"LOADING_SEASONS": "Staffeln werden geladen …",
|
||||
"LOADING_ALL_CHANNELS": "Vollständige Senderliste wird geladen…",
|
||||
"REFRESH_CHANNEL_LIST": "Senderliste aktualisieren",
|
||||
"NO_CHANNELS_IN_CATEGORY": "Keine Sender in dieser Kategorie",
|
||||
"ITEM": "Element",
|
||||
"ITEMS": "Elemente",
|
||||
"NO_EPISODES": "Keine Episoden verfügbar",
|
||||
"ALL_RADIO": "Alle Radiosender"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Αυτό το περιεχόμενο δεν είναι διαθέσιμο σε αυτόν τον διακομιστή",
|
||||
"PLAYBACK_ERROR": "Αποτυχία λήψης διεύθυνσης URL αναπαραγωγής",
|
||||
"LOADING_SEASONS": "Φόρτωση σεζόν...",
|
||||
"LOADING_ALL_CHANNELS": "Φόρτωση πλήρους λίστας καναλιών…",
|
||||
"REFRESH_CHANNEL_LIST": "Ανανέωση λίστας καναλιών",
|
||||
"NO_CHANNELS_IN_CATEGORY": "Δεν υπάρχουν κανάλια σε αυτήν την κατηγορία",
|
||||
"ITEM": "στοιχείο",
|
||||
"ITEMS": "στοιχεία",
|
||||
"NO_EPISODES": "Δεν υπάρχουν διαθέσιμα επεισόδια",
|
||||
"ALL_RADIO": "Όλα τα ραδιόφωνα"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "This content is not available on this server",
|
||||
"PLAYBACK_ERROR": "Failed to get playback URL",
|
||||
"LOADING_SEASONS": "Loading seasons...",
|
||||
"LOADING_ALL_CHANNELS": "Loading full channel list…",
|
||||
"REFRESH_CHANNEL_LIST": "Refresh channel list",
|
||||
"NO_CHANNELS_IN_CATEGORY": "No channels in this category",
|
||||
"ITEM": "item",
|
||||
"ITEMS": "items",
|
||||
"NO_EPISODES": "No episodes available",
|
||||
"ALL_RADIO": "All radio"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Este contenido no está disponible en este servidor",
|
||||
"PLAYBACK_ERROR": "No se pudo obtener la URL de reproducción",
|
||||
"LOADING_SEASONS": "Cargando temporadas…",
|
||||
"LOADING_ALL_CHANNELS": "Cargando la lista completa de canales…",
|
||||
"REFRESH_CHANNEL_LIST": "Actualizar lista de canales",
|
||||
"NO_CHANNELS_IN_CATEGORY": "No hay canales en esta categoría",
|
||||
"ITEM": "elemento",
|
||||
"ITEMS": "elementos",
|
||||
"NO_EPISODES": "No hay episodios disponibles",
|
||||
"ALL_RADIO": "Todas las radios"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Ce contenu n'est pas disponible sur ce serveur",
|
||||
"PLAYBACK_ERROR": "Échec de l'obtention de l'URL de lecture",
|
||||
"LOADING_SEASONS": "Chargement des saisons…",
|
||||
"LOADING_ALL_CHANNELS": "Chargement de la liste complète des chaînes…",
|
||||
"REFRESH_CHANNEL_LIST": "Actualiser la liste des chaînes",
|
||||
"NO_CHANNELS_IN_CATEGORY": "Aucune chaîne dans cette catégorie",
|
||||
"ITEM": "élément",
|
||||
"ITEMS": "éléments",
|
||||
"NO_EPISODES": "Aucun épisode disponible",
|
||||
"ALL_RADIO": "Toutes les radios"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Questo contenuto non è disponibile su questo server",
|
||||
"PLAYBACK_ERROR": "Impossibile ottenere l'URL di riproduzione",
|
||||
"LOADING_SEASONS": "Caricamento stagioni...",
|
||||
"LOADING_ALL_CHANNELS": "Caricamento dell'elenco completo dei canali…",
|
||||
"REFRESH_CHANNEL_LIST": "Aggiorna elenco canali",
|
||||
"NO_CHANNELS_IN_CATEGORY": "Nessun canale in questa categoria",
|
||||
"ITEM": "elemento",
|
||||
"ITEMS": "elementi",
|
||||
"NO_EPISODES": "Nessun episodio disponibile",
|
||||
"ALL_RADIO": "Tutte le radio"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "このコンテンツはこのサーバーでは利用できません",
|
||||
"PLAYBACK_ERROR": "再生URLの取得に失敗しました",
|
||||
"LOADING_SEASONS": "シーズンを読み込み中...",
|
||||
"LOADING_ALL_CHANNELS": "全チャンネルリストを読み込み中…",
|
||||
"REFRESH_CHANNEL_LIST": "チャンネルリストを更新",
|
||||
"NO_CHANNELS_IN_CATEGORY": "このカテゴリーにチャンネルがありません",
|
||||
"ITEM": "件",
|
||||
"ITEMS": "件",
|
||||
"NO_EPISODES": "利用可能なエピソードはありません",
|
||||
"ALL_RADIO": "すべてのラジオ"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "이 서버에서는 이 콘텐츠를 사용할 수 없습니다",
|
||||
"PLAYBACK_ERROR": "재생 URL을 가져오지 못했습니다",
|
||||
"LOADING_SEASONS": "시즌을 불러오는 중...",
|
||||
"LOADING_ALL_CHANNELS": "전체 채널 목록 불러오는 중…",
|
||||
"REFRESH_CHANNEL_LIST": "채널 목록 새로고침",
|
||||
"NO_CHANNELS_IN_CATEGORY": "이 카테고리에 채널이 없습니다",
|
||||
"ITEM": "개",
|
||||
"ITEMS": "개",
|
||||
"NO_EPISODES": "사용 가능한 에피소드가 없습니다",
|
||||
"ALL_RADIO": "모든 라디오"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Deze inhoud is niet beschikbaar op deze server",
|
||||
"PLAYBACK_ERROR": "Ophalen van afspeel-URL mislukt",
|
||||
"LOADING_SEASONS": "Seizoenen laden...",
|
||||
"LOADING_ALL_CHANNELS": "Volledige zenderlijst wordt geladen…",
|
||||
"REFRESH_CHANNEL_LIST": "Zenderlijst vernieuwen",
|
||||
"NO_CHANNELS_IN_CATEGORY": "Geen zenders in deze categorie",
|
||||
"ITEM": "item",
|
||||
"ITEMS": "items",
|
||||
"NO_EPISODES": "Geen afleveringen beschikbaar",
|
||||
"ALL_RADIO": "Alle radio"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Ta treść jest niedostępna na tym serwerze",
|
||||
"PLAYBACK_ERROR": "Nie udało się uzyskać URL odtwarzania",
|
||||
"LOADING_SEASONS": "Ładowanie sezonów...",
|
||||
"LOADING_ALL_CHANNELS": "Ładowanie pełnej listy kanałów…",
|
||||
"REFRESH_CHANNEL_LIST": "Odśwież listę kanałów",
|
||||
"NO_CHANNELS_IN_CATEGORY": "Brak kanałów w tej kategorii",
|
||||
"ITEM": "pozycja",
|
||||
"ITEMS": "pozycji",
|
||||
"NO_EPISODES": "Brak dostępnych odcinków",
|
||||
"ALL_RADIO": "Wszystkie radia"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Este conteúdo não está disponível neste servidor",
|
||||
"PLAYBACK_ERROR": "Falha ao obter URL de reprodução",
|
||||
"LOADING_SEASONS": "Carregando temporadas...",
|
||||
"LOADING_ALL_CHANNELS": "A carregar a lista completa de canais…",
|
||||
"REFRESH_CHANNEL_LIST": "Atualizar lista de canais",
|
||||
"NO_CHANNELS_IN_CATEGORY": "Nenhum canal nesta categoria",
|
||||
"ITEM": "item",
|
||||
"ITEMS": "itens",
|
||||
"NO_EPISODES": "Nenhum episódio disponível",
|
||||
"ALL_RADIO": "Todas as rádios"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Этот контент недоступен на этом сервере",
|
||||
"PLAYBACK_ERROR": "Не удалось получить URL для воспроизведения",
|
||||
"LOADING_SEASONS": "Загрузка сезонов…",
|
||||
"LOADING_ALL_CHANNELS": "Загрузка полного списка каналов…",
|
||||
"REFRESH_CHANNEL_LIST": "Обновить список каналов",
|
||||
"NO_CHANNELS_IN_CATEGORY": "В этой категории нет каналов",
|
||||
"ITEM": "элемент",
|
||||
"ITEMS": "элементов",
|
||||
"NO_EPISODES": "Нет доступных эпизодов",
|
||||
"ALL_RADIO": "Все радио"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "Bu içerik bu sunucuda mevcut değil",
|
||||
"PLAYBACK_ERROR": "Oynatma URL'si alınamadı",
|
||||
"LOADING_SEASONS": "Sezonlar yükleniyor...",
|
||||
"LOADING_ALL_CHANNELS": "Tüm kanal listesi yükleniyor…",
|
||||
"REFRESH_CHANNEL_LIST": "Kanal listesini yenile",
|
||||
"NO_CHANNELS_IN_CATEGORY": "Bu kategoride kanal yok",
|
||||
"ITEM": "öğe",
|
||||
"ITEMS": "öğe",
|
||||
"NO_EPISODES": "Bölüm mevcut değil",
|
||||
"ALL_RADIO": "Tüm radyolar"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "此服务器上没有此内容",
|
||||
"PLAYBACK_ERROR": "获取播放 URL 失败",
|
||||
"LOADING_SEASONS": "正在加载季…",
|
||||
"LOADING_ALL_CHANNELS": "正在加载完整频道列表…",
|
||||
"REFRESH_CHANNEL_LIST": "刷新频道列表",
|
||||
"NO_CHANNELS_IN_CATEGORY": "此分类中没有频道",
|
||||
"ITEM": "项",
|
||||
"ITEMS": "项",
|
||||
"NO_EPISODES": "没有可用的剧集",
|
||||
"ALL_RADIO": "所有广播"
|
||||
},
|
||||
|
||||
@@ -968,6 +968,11 @@
|
||||
"CONTENT_NOT_AVAILABLE": "此伺服器上未提供此內容",
|
||||
"PLAYBACK_ERROR": "無法取得播放網址",
|
||||
"LOADING_SEASONS": "正在載入季數...",
|
||||
"LOADING_ALL_CHANNELS": "正在載入完整頻道清單…",
|
||||
"REFRESH_CHANNEL_LIST": "重新整理頻道清單",
|
||||
"NO_CHANNELS_IN_CATEGORY": "此分類中沒有頻道",
|
||||
"ITEM": "項",
|
||||
"ITEMS": "項",
|
||||
"NO_EPISODES": "沒有可用的集數",
|
||||
"ALL_RADIO": "所有廣播"
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user