feat(portals): rework the VOD sources popup and action row (#1359)

* feat(portals): rework the VOD sources popup and action row

The Sources popup now anchors above its button and always fits on screen:
the overlay caps it to the space beside the chip, only the source list
scrolls so the header, search, filter chips and footer stay visible, and
it flips below the button when the space above is too small. Filter chips
(All / Available / HD+ / language) compose with the playlist search, and
"Available" runs check-all itself when nothing has been checked yet.

Expanded copy rows no longer repeat the playlist domain: each copy shows
its parsed language chip, the provider's raw stream title, and only the
tags that differ from the parent copy.

Availability checks run at most four at a time and settled verdicts are
remembered per movie and source for ten minutes, so reopening a movie no
longer re-contacts every foreign portal.

Favorites and Download become icon-only buttons with real state: a filled
heart when favorited, and a download icon that turns into a progress ring
and then a checkmark that reveals the finished file.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(portals): match the movie detail's icon-only favorite button

The Xtream movie detail's favorite control is now an icon-only button, so
the shared "add this detail to favorites" helpers no longer found it by
class. They are used against series and Stalker details too, which still
render the labeled variant, so they now select by accessible name — the
icon button carries the same label in aria-label.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(portals): keep provider playback for a downloaded movie

Once a movie is downloaded the primary button plays the local file, and
the sources popover only exists when another playlist carries the same
film. The icon-only rework left those as the only two paths, so a
downloaded movie in a single-playlist library had no way at all to stream
the provider's copy — the labeled action that used to do it was gone.

Restores it as an icon button beside the downloaded checkmark, under the
same condition the old one used.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Fable 5 authored and GitHub committed 2026-08-02 22:27:24 +02:00
1 parent 83f6a270a5
commit 0010dd7351
66 files changed
+2583 -347

No files matched your search

+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "التصفية حسب قائمة التشغيل",
"NO_MATCHES": "لا توجد قوائم تشغيل تطابق هذا الفلتر",
"COPIES": "{{count}} نسخ في قائمة التشغيل هذه",
"MORE_SOURCES": "+{{count}} أخرى في قائمة المصادر"
"MORE_SOURCES": "+{{count}} أخرى في قائمة المصادر",
"FILTER_ALL": "الكل",
"FILTER_AVAILABLE": "متاح",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "كل اللغات",
"SAME_AS_ABOVE": "كما في الأعلى",
"SHOWING_OF_TOTAL": "{{visible}} من {{total}}"
}
},
"INFORMATION": "معلومات",
@@ -1071,6 +1077,10 @@
"PAUSE": "إيقاف مؤقت",
"RESUME": "استئناف",
"CANCEL": "إلغاء",
"DOWNLOADED_REVEAL": "تم التنزيل — عرض في المجلد",
"DOWNLOADING_PERCENT": "جارٍ التنزيل… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "إلغاء التنزيل",
"CANCEL_CONFIRM_MESSAGE": "هل تريد إيقاف هذا التنزيل؟ سيتم حذف الملف الذي تم تنزيله جزئيًا.",
"RETRY": "إعادة المحاولة",
"REMOVE": "إزالة",
"PLAY": "تشغيل",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "فلتر بقائمة التشغيل",
"NO_MATCHES": "ما كاينش قوائم تشغيل مطابقة لهاد الفلتر",
"COPIES": "{{count}} ديال النسخ ف هاد قائمة التشغيل",
"MORE_SOURCES": "+{{count}} أخرى ف لائحة المصادر"
"MORE_SOURCES": "+{{count}} أخرى ف لائحة المصادر",
"FILTER_ALL": "الكل",
"FILTER_AVAILABLE": "متوفر",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "كل اللغات",
"SAME_AS_ABOVE": "بحال اللي الفوق",
"SHOWING_OF_TOTAL": "{{visible}} من {{total}}"
}
},
"INFORMATION": "معلومات",
@@ -1071,6 +1077,10 @@
"PAUSE": "وقّف مؤقتاً",
"RESUME": "كمّل",
"CANCEL": "إلغاء",
"DOWNLOADED_REVEAL": "تحمّل — وري في المجلد",
"DOWNLOADING_PERCENT": "جاري التحميل… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "إلغاء التحميل",
"CANCEL_CONFIRM_MESSAGE": "بغيتي توقف هاد التحميل؟ الملف اللي تحمّل شي جزء منه غادي يتمسح.",
"RETRY": "حاول مرة أخرى",
"REMOVE": "حيد",
"PLAY": "شغل",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Фільтраваць па плэйлісце",
"NO_MATCHES": "Ніводны плэйліст не адпавядае гэтаму фільтру",
"COPIES": "{{count}} копій у гэтым плэйлісце",
"MORE_SOURCES": "+{{count}} у спісе крыніц"
"MORE_SOURCES": "+{{count}} у спісе крыніц",
"FILTER_ALL": "Усе",
"FILTER_AVAILABLE": "Даступныя",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Усе мовы",
"SAME_AS_ABOVE": "як радком вышэй",
"SHOWING_OF_TOTAL": "{{visible}} з {{total}}"
}
},
"INFORMATION": "Інфармацыя",
@@ -1071,6 +1077,10 @@
"PAUSE": "Паўза",
"RESUME": "Узнавіць",
"CANCEL": "Скасаваць",
"DOWNLOADED_REVEAL": "Спампавана — паказаць у папцы",
"DOWNLOADING_PERCENT": "Спампоўваецца… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Скасаваць спампоўванне",
"CANCEL_CONFIRM_MESSAGE": "Спыніць гэтае спампоўванне? Часткова спампаваны файл будзе выдалены.",
"RETRY": "Паўтарыць",
"REMOVE": "Выдаліць",
"PLAY": "Прайграць",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Nach Playlist filtern",
"NO_MATCHES": "Keine Playlists entsprechen dem Filter",
"COPIES": "{{count}} Kopien in dieser Playlist",
"MORE_SOURCES": "+{{count}} weitere unter „Quellen“"
"MORE_SOURCES": "+{{count}} weitere unter „Quellen“",
"FILTER_ALL": "Alle",
"FILTER_AVAILABLE": "Verfügbar",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Alle Sprachen",
"SAME_AS_ABOVE": "wie oben",
"SHOWING_OF_TOTAL": "{{visible}} von {{total}}"
}
},
"INFORMATION": "Information",
@@ -1071,6 +1077,10 @@
"PAUSE": "Pausieren",
"RESUME": "Fortsetzen",
"CANCEL": "Abbrechen",
"DOWNLOADED_REVEAL": "Heruntergeladen — im Ordner anzeigen",
"DOWNLOADING_PERCENT": "Wird heruntergeladen… {{percent}} %",
"CANCEL_CONFIRM_TITLE": "Download abbrechen",
"CANCEL_CONFIRM_MESSAGE": "Diesen Download beenden? Die teilweise heruntergeladene Datei wird verworfen.",
"RETRY": "Wiederholen",
"REMOVE": "Entfernen",
"PLAY": "Abspielen",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Φιλτράρισμα κατά λίστα αναπαραγωγής",
"NO_MATCHES": "Δεν βρέθηκαν αντίστοιχες λίστες αναπαραγωγής",
"COPIES": "{{count}} αντίγραφα σε αυτήν τη λίστα",
"MORE_SOURCES": "+{{count}} ακόμη στη λίστα πηγών"
"MORE_SOURCES": "+{{count}} ακόμη στη λίστα πηγών",
"FILTER_ALL": "Όλα",
"FILTER_AVAILABLE": "Διαθέσιμα",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Όλες οι γλώσσες",
"SAME_AS_ABOVE": "ίδιο με το παραπάνω",
"SHOWING_OF_TOTAL": "{{visible}} από {{total}}"
}
},
"INFORMATION": "Πληροφορίες",
@@ -1071,6 +1077,10 @@
"PAUSE": "Παύση",
"RESUME": "Συνέχιση",
"CANCEL": "Ακύρωση",
"DOWNLOADED_REVEAL": "Λήφθηκε — εμφάνιση στον φάκελο",
"DOWNLOADING_PERCENT": "Λήψη… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Ακύρωση λήψης",
"CANCEL_CONFIRM_MESSAGE": "Διακοπή αυτής της λήψης; Το μερικώς ληφθέν αρχείο θα διαγραφεί.",
"RETRY": "Επανάληψη",
"REMOVE": "Αφαίρεση",
"PLAY": "Αναπαραγωγή",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Filter by playlist",
"NO_MATCHES": "No playlists match that filter",
"COPIES": "{{count}} copies in this playlist",
"MORE_SOURCES": "+{{count}} more in the sources list"
"MORE_SOURCES": "+{{count}} more in the sources list",
"FILTER_ALL": "All",
"FILTER_AVAILABLE": "Available",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "All languages",
"SAME_AS_ABOVE": "same as above",
"SHOWING_OF_TOTAL": "{{visible}} of {{total}}"
}
},
"INFORMATION": "Information",
@@ -1071,6 +1077,10 @@
"PAUSE": "Pause",
"RESUME": "Resume",
"CANCEL": "Cancel",
"DOWNLOADED_REVEAL": "Downloaded — show in folder",
"DOWNLOADING_PERCENT": "Downloading… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Cancel download",
"CANCEL_CONFIRM_MESSAGE": "Stop this download? The partially downloaded file will be discarded.",
"RETRY": "Retry",
"REMOVE": "Remove",
"PLAY": "Play",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Filtrar por lista",
"NO_MATCHES": "Ninguna lista coincide con ese filtro",
"COPIES": "{{count}} copias en esta lista",
"MORE_SOURCES": "+{{count}} más en la lista de fuentes"
"MORE_SOURCES": "+{{count}} más en la lista de fuentes",
"FILTER_ALL": "Todas",
"FILTER_AVAILABLE": "Disponibles",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Todos los idiomas",
"SAME_AS_ABOVE": "igual que la anterior",
"SHOWING_OF_TOTAL": "{{visible}} de {{total}}"
}
},
"INFORMATION": "Información",
@@ -1071,6 +1077,10 @@
"PAUSE": "Pausar",
"RESUME": "Reanudar",
"CANCEL": "Cancelar",
"DOWNLOADED_REVEAL": "Descargado — mostrar en carpeta",
"DOWNLOADING_PERCENT": "Descargando… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Cancelar descarga",
"CANCEL_CONFIRM_MESSAGE": "¿Detener esta descarga? El archivo descargado parcialmente se descartará.",
"RETRY": "Reintentar",
"REMOVE": "Eliminar",
"PLAY": "Reproducir",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Filtrer par liste de lecture",
"NO_MATCHES": "Aucune liste de lecture ne correspond à ce filtre",
"COPIES": "{{count}} copies dans cette liste de lecture",
"MORE_SOURCES": "+{{count}} dans la liste des sources"
"MORE_SOURCES": "+{{count}} dans la liste des sources",
"FILTER_ALL": "Toutes",
"FILTER_AVAILABLE": "Disponibles",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Toutes les langues",
"SAME_AS_ABOVE": "identique à la ligne au-dessus",
"SHOWING_OF_TOTAL": "{{visible}} sur {{total}}"
}
},
"INFORMATION": "Information",
@@ -1071,6 +1077,10 @@
"PAUSE": "Mettre en pause",
"RESUME": "Reprendre",
"CANCEL": "Annuler",
"DOWNLOADED_REVEAL": "Téléchargé — afficher dans le dossier",
"DOWNLOADING_PERCENT": "Téléchargement… {{percent}} %",
"CANCEL_CONFIRM_TITLE": "Annuler le téléchargement",
"CANCEL_CONFIRM_MESSAGE": "Arrêter ce téléchargement ? Le fichier partiellement téléchargé sera supprimé.",
"RETRY": "Réessayer",
"REMOVE": "Supprimer",
"PLAY": "Lire",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Szűrés lejátszási lista alapján",
"NO_MATCHES": "Nincs a szűrőnek megfelelő lejátszási lista",
"COPIES": "{{count}} másolat ebben a listában",
"MORE_SOURCES": "+{{count}} további a forráslistában"
"MORE_SOURCES": "+{{count}} további a forráslistában",
"FILTER_ALL": "Összes",
"FILTER_AVAILABLE": "Elérhető",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Minden nyelv",
"SAME_AS_ABOVE": "ugyanaz, mint fent",
"SHOWING_OF_TOTAL": "{{visible}} / {{total}}"
}
},
"INFORMATION": "Információk",
@@ -1071,6 +1077,10 @@
"PAUSE": "Pause",
"RESUME": "Resume",
"CANCEL": "Mégse",
"DOWNLOADED_REVEAL": "Letöltve — megjelenítés a mappában",
"DOWNLOADING_PERCENT": "Letöltés… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Letöltés megszakítása",
"CANCEL_CONFIRM_MESSAGE": "Leállítja ezt a letöltést? A részben letöltött fájl törlődik.",
"RETRY": "Újrapróbálkozás",
"REMOVE": "Eltávolítás",
"PLAY": "Lejátszás",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Filtra per playlist",
"NO_MATCHES": "Nessuna playlist corrisponde al filtro",
"COPIES": "{{count}} copie in questa playlist",
"MORE_SOURCES": "+{{count}} nell'elenco sorgenti"
"MORE_SOURCES": "+{{count}} nell'elenco sorgenti",
"FILTER_ALL": "Tutte",
"FILTER_AVAILABLE": "Disponibili",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Tutte le lingue",
"SAME_AS_ABOVE": "uguale alla riga sopra",
"SHOWING_OF_TOTAL": "{{visible}} di {{total}}"
}
},
"INFORMATION": "Informazioni",
@@ -1071,6 +1077,10 @@
"PAUSE": "Pausa",
"RESUME": "Riprendi",
"CANCEL": "Annulla",
"DOWNLOADED_REVEAL": "Scaricato — mostra nella cartella",
"DOWNLOADING_PERCENT": "Download in corso… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Annulla download",
"CANCEL_CONFIRM_MESSAGE": "Interrompere questo download? Il file scaricato parzialmente verrà eliminato.",
"RETRY": "Riprova",
"REMOVE": "Rimuovi",
"PLAY": "Riproduci",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "プレイリストでフィルター",
"NO_MATCHES": "このフィルターに一致するプレイリストはありません",
"COPIES": "このプレイリスト内に{{count}}件",
"MORE_SOURCES": "他 {{count}} 件はソース一覧から"
"MORE_SOURCES": "他 {{count}} 件はソース一覧から",
"FILTER_ALL": "すべて",
"FILTER_AVAILABLE": "利用可能",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "すべての言語",
"SAME_AS_ABOVE": "上と同じ",
"SHOWING_OF_TOTAL": "{{total}}件中{{visible}}件"
}
},
"INFORMATION": "情報",
@@ -1071,6 +1077,10 @@
"PAUSE": "一時停止",
"RESUME": "再開",
"CANCEL": "キャンセル",
"DOWNLOADED_REVEAL": "ダウンロード済み — フォルダで表示",
"DOWNLOADING_PERCENT": "ダウンロード中… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "ダウンロードをキャンセル",
"CANCEL_CONFIRM_MESSAGE": "このダウンロードを中止しますか?部分的にダウンロードされたファイルは破棄されます。",
"RETRY": "再試行",
"REMOVE": "削除",
"PLAY": "再生",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "재생목록으로 필터",
"NO_MATCHES": "이 필터에 해당하는 재생목록이 없습니다",
"COPIES": "이 재생목록에 소스 {{count}}개",
"MORE_SOURCES": "소스 목록에 {{count}}개 더 있음"
"MORE_SOURCES": "소스 목록에 {{count}}개 더 있음",
"FILTER_ALL": "전체",
"FILTER_AVAILABLE": "사용 가능",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "모든 언어",
"SAME_AS_ABOVE": "위와 동일",
"SHOWING_OF_TOTAL": "{{total}}개 중 {{visible}}개"
}
},
"INFORMATION": "정보",
@@ -1071,6 +1077,10 @@
"PAUSE": "일시정지",
"RESUME": "재개",
"CANCEL": "취소",
"DOWNLOADED_REVEAL": "다운로드 완료 — 폴더에서 보기",
"DOWNLOADING_PERCENT": "다운로드 중… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "다운로드 취소",
"CANCEL_CONFIRM_MESSAGE": "이 다운로드를 중단하시겠습니까? 일부만 다운로드된 파일은 삭제됩니다.",
"RETRY": "다시 시도",
"REMOVE": "제거",
"PLAY": "재생",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Filter op afspeellijst",
"NO_MATCHES": "Geen afspeellijsten komen overeen met dit filter",
"COPIES": "{{count}} kopieën in deze afspeellijst",
"MORE_SOURCES": "+{{count}} meer in de bronnenlijst"
"MORE_SOURCES": "+{{count}} meer in de bronnenlijst",
"FILTER_ALL": "Alle",
"FILTER_AVAILABLE": "Beschikbaar",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Alle talen",
"SAME_AS_ABOVE": "zelfde als hierboven",
"SHOWING_OF_TOTAL": "{{visible}} van {{total}}"
}
},
"INFORMATION": "Informatie",
@@ -1071,6 +1077,10 @@
"PAUSE": "Pauzeren",
"RESUME": "Hervatten",
"CANCEL": "Annuleren",
"DOWNLOADED_REVEAL": "Gedownload — toon in map",
"DOWNLOADING_PERCENT": "Downloaden… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Download annuleren",
"CANCEL_CONFIRM_MESSAGE": "Deze download stoppen? Het gedeeltelijk gedownloade bestand wordt verwijderd.",
"RETRY": "Opnieuw proberen",
"REMOVE": "Verwijderen",
"PLAY": "Afspelen",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Filtruj według listy odtwarzania",
"NO_MATCHES": "Nie znaleziono pasujących list odtwarzania",
"COPIES": "{{count}} kopii na tej liście",
"MORE_SOURCES": "+{{count}} na liście źródeł"
"MORE_SOURCES": "+{{count}} na liście źródeł",
"FILTER_ALL": "Wszystkie",
"FILTER_AVAILABLE": "Dostępne",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Wszystkie języki",
"SAME_AS_ABOVE": "tak samo jak wyżej",
"SHOWING_OF_TOTAL": "{{visible}} z {{total}}"
}
},
"INFORMATION": "Informacje",
@@ -1071,6 +1077,10 @@
"PAUSE": "Wstrzymaj",
"RESUME": "Wznów",
"CANCEL": "Anuluj",
"DOWNLOADED_REVEAL": "Pobrano — pokaż w folderze",
"DOWNLOADING_PERCENT": "Pobieranie… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Anuluj pobieranie",
"CANCEL_CONFIRM_MESSAGE": "Zatrzymać to pobieranie? Częściowo pobrany plik zostanie usunięty.",
"RETRY": "Spróbuj ponownie",
"REMOVE": "Usuń",
"PLAY": "Odtwórz",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Filtrar por playlist",
"NO_MATCHES": "Nenhuma playlist corresponde a este filtro",
"COPIES": "{{count}} cópias nesta playlist",
"MORE_SOURCES": "+{{count}} na lista de fontes"
"MORE_SOURCES": "+{{count}} na lista de fontes",
"FILTER_ALL": "Todas",
"FILTER_AVAILABLE": "Disponíveis",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Todos os idiomas",
"SAME_AS_ABOVE": "igual à linha acima",
"SHOWING_OF_TOTAL": "{{visible}} de {{total}}"
}
},
"INFORMATION": "Informação",
@@ -1071,6 +1077,10 @@
"PAUSE": "Pausar",
"RESUME": "Retomar",
"CANCEL": "Cancelar",
"DOWNLOADED_REVEAL": "Baixado — mostrar na pasta",
"DOWNLOADING_PERCENT": "Baixando… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Cancelar download",
"CANCEL_CONFIRM_MESSAGE": "Parar este download? O arquivo baixado parcialmente será descartado.",
"RETRY": "Tentar novamente",
"REMOVE": "Remover",
"PLAY": "Reproduzir",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Фильтровать по плейлисту",
"NO_MATCHES": "Ни один плейлист не соответствует фильтру",
"COPIES": "Копий в этом плейлисте: {{count}}",
"MORE_SOURCES": "+{{count}} в списке источников"
"MORE_SOURCES": "+{{count}} в списке источников",
"FILTER_ALL": "Все",
"FILTER_AVAILABLE": "Доступные",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Все языки",
"SAME_AS_ABOVE": "как строкой выше",
"SHOWING_OF_TOTAL": "{{visible}} из {{total}}"
}
},
"INFORMATION": "Инфо",
@@ -1071,6 +1077,10 @@
"PAUSE": "Пауза",
"RESUME": "Возобновить",
"CANCEL": "Отмена",
"DOWNLOADED_REVEAL": "Скачано — показать в папке",
"DOWNLOADING_PERCENT": "Скачивается… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "Отменить скачивание",
"CANCEL_CONFIRM_MESSAGE": "Остановить это скачивание? Частично скачанный файл будет удалён.",
"RETRY": "Повторить",
"REMOVE": "Удалить",
"PLAY": "Воспроизвести",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "Oynatma listesine göre filtrele",
"NO_MATCHES": "Bu filtreyle eşleşen oynatma listesi yok",
"COPIES": "Bu oynatma listesinde {{count}} kopya",
"MORE_SOURCES": "Kaynak listesinde +{{count}} daha"
"MORE_SOURCES": "Kaynak listesinde +{{count}} daha",
"FILTER_ALL": "Tümü",
"FILTER_AVAILABLE": "Kullanılabilir",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "Tüm diller",
"SAME_AS_ABOVE": "üsttekiyle aynı",
"SHOWING_OF_TOTAL": "{{visible}} / {{total}}"
}
},
"INFORMATION": "Bilgi",
@@ -1071,6 +1077,10 @@
"PAUSE": "Duraklat",
"RESUME": "Devam et",
"CANCEL": "İptal",
"DOWNLOADED_REVEAL": "İndirildi — klasörde göster",
"DOWNLOADING_PERCENT": "İndiriliyor… %{{percent}}",
"CANCEL_CONFIRM_TITLE": "İndirmeyi iptal et",
"CANCEL_CONFIRM_MESSAGE": "Bu indirme durdurulsun mu? Kısmen indirilen dosya silinecek.",
"RETRY": "Tekrar Dene",
"REMOVE": "Kaldır",
"PLAY": "Oynat",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "按播放列表筛选",
"NO_MATCHES": "未找到匹配的播放列表",
"COPIES": "此播放列表中有 {{count}} 个版本",
"MORE_SOURCES": "其余 {{count}} 个在播放源列表中"
"MORE_SOURCES": "其余 {{count}} 个在播放源列表中",
"FILTER_ALL": "全部",
"FILTER_AVAILABLE": "可用",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "所有语言",
"SAME_AS_ABOVE": "与上行相同",
"SHOWING_OF_TOTAL": "{{visible}} / {{total}}"
}
},
"INFORMATION": "信息",
@@ -1071,6 +1077,10 @@
"PAUSE": "暂停",
"RESUME": "继续",
"CANCEL": "取消",
"DOWNLOADED_REVEAL": "已下载 — 在文件夹中显示",
"DOWNLOADING_PERCENT": "下载中… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "取消下载",
"CANCEL_CONFIRM_MESSAGE": "停止此下载?已下载的部分文件将被删除。",
"RETRY": "重试",
"REMOVE": "移除",
"PLAY": "播放",
+11 -1
View File
@@ -1040,7 +1040,13 @@
"FILTER_PLACEHOLDER": "依播放清單篩選",
"NO_MATCHES": "沒有符合篩選條件的播放清單",
"COPIES": "此播放清單中的 {{count}} 個版本",
"MORE_SOURCES": "播放來源清單中另有 {{count}} 個"
"MORE_SOURCES": "播放來源清單中另有 {{count}} 個",
"FILTER_ALL": "全部",
"FILTER_AVAILABLE": "可用",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "所有語言",
"SAME_AS_ABOVE": "與上行相同",
"SHOWING_OF_TOTAL": "{{visible}} / {{total}}"
}
},
"INFORMATION": "資訊",
@@ -1071,6 +1077,10 @@
"PAUSE": "暫停",
"RESUME": "繼續",
"CANCEL": "取消",
"DOWNLOADED_REVEAL": "已下載 — 在資料夾中顯示",
"DOWNLOADING_PERCENT": "下載中… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "取消下載",
"CANCEL_CONFIRM_MESSAGE": "停止此下載?已下載的部分檔案將被刪除。",
"RETRY": "重試",
"REMOVE": "移除",
"PLAY": "播放",