From 6b6d6ffc1cce25366cdddda60e9beb01499b5237 Mon Sep 17 00:00:00 2001 From: tobigr Date: Sun, 21 Dec 2025 17:08:51 +0100 Subject: [PATCH 1/4] Fix removing unwatched streams from playlist when using "remove watched" The bug is caused by a wanted but forgotten inconsistency in the database. A stream can be listed in the watch history (StreamHistoryEntity) while having no corresponding playback state (StreamStateEntity) containing the matching playback position. This is caused by the fact that NewPipe does not consider a watch time of less than five seconds to be worthy to be put into the StreamStateEntity because the video was most likely played by error. Those videos are, however, counted and stored in the watch history. --- .../local/playlist/LocalPlaylistFragment.java | 55 ++++++++----------- 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java index f5562549cf5..5d6d12fe309 100644 --- a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java @@ -448,39 +448,28 @@ public void removeWatchedStreams(final boolean removePartiallyWatched) { .getIsPlaylistThumbnailPermanent(playlistId); boolean thumbnailVideoRemoved = false; - if (removePartiallyWatched) { - for (final var playlistItem : playlist) { - final int indexInHistory = Collections.binarySearch(historyStreamIds, - playlistItem.getStreamId()); - - if (indexInHistory < 0) { - itemsToKeep.add(playlistItem); - } else if (!isThumbnailPermanent && !thumbnailVideoRemoved - && playlistManager.getPlaylistThumbnailStreamId(playlistId) - == playlistItem.getStreamEntity().getUid()) { - thumbnailVideoRemoved = true; - } - } - } else { - final var streamStates = recordManager - .loadLocalStreamStateBatch(playlist).blockingGet(); - - for (int i = 0; i < playlist.size(); i++) { - final var playlistItem = playlist.get(i); - final var streamStateEntity = streamStates.get(i); - - final int indexInHistory = Collections.binarySearch(historyStreamIds, - playlistItem.getStreamId()); - final long duration = playlistItem.toStreamInfoItem().getDuration(); - - if (indexInHistory < 0 || (streamStateEntity != null - && !streamStateEntity.isFinished(duration))) { - itemsToKeep.add(playlistItem); - } else if (!isThumbnailPermanent && !thumbnailVideoRemoved - && playlistManager.getPlaylistThumbnailStreamId(playlistId) - == playlistItem.getStreamEntity().getUid()) { - thumbnailVideoRemoved = true; - } + final var streamStates = recordManager + .loadLocalStreamStateBatch(playlist).blockingGet(); + + for (int i = 0; i < playlist.size(); i++) { + final var playlistItem = playlist.get(i); + final var streamStateEntity = streamStates.get(i); + final int indexInHistory = Collections.binarySearch(historyStreamIds, + playlistItem.getStreamId()); + final long duration = playlistItem.toStreamInfoItem().getDuration(); + + if (indexInHistory < 0 // stream is not in history + // stream is in history but the streamStateEntity is null + // if the stream was played for less than 5 seconds, see + // StreamStateEntity#PLAYBACK_SAVE_THRESHOLD_START_MILLISECONDS + || streamStateEntity == null + || (!streamStateEntity.isFinished(duration) + && !removePartiallyWatched)) { + itemsToKeep.add(playlistItem); + } else if (!isThumbnailPermanent && !thumbnailVideoRemoved + && playlistManager.getPlaylistThumbnailStreamId(playlistId) + == playlistItem.getStreamEntity().getUid()) { + thumbnailVideoRemoved = true; } } From d78d5a4cd9d4412b205e9e608fd59091431e7afa Mon Sep 17 00:00:00 2001 From: tobigr Date: Sun, 21 Dec 2025 20:40:35 +0100 Subject: [PATCH 2/4] Use checkbox to remove partially watched videos --- .../local/playlist/LocalPlaylistFragment.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java index 5d6d12fe309..24c6c807b7a 100644 --- a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java @@ -22,6 +22,7 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import android.widget.LinearLayout; import android.widget.Toast; import androidx.annotation.NonNull; @@ -55,6 +56,7 @@ import org.schabi.newpipe.local.history.HistoryRecordManager; import org.schabi.newpipe.player.playqueue.PlayQueue; import org.schabi.newpipe.player.playqueue.SinglePlayQueue; +import org.schabi.newpipe.util.DeviceUtils; import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.OnClickGesture; @@ -366,16 +368,29 @@ public boolean onOptionsItemSelected(final MenuItem item) { createRenameDialog(); } else if (item.getItemId() == R.id.menu_item_remove_watched) { if (!isRewritingPlaylist) { + final android.widget.CheckBox removePartiallyWatchedCheckbox = + new android.widget.CheckBox(requireContext()); + removePartiallyWatchedCheckbox.setText( + R.string.remove_watched_popup_yes_and_partially_watched_videos); + + // Wrap the checkbox in a container with dialog-like horizontal padding + // so it aligns with the dialog title/message on the start side. + final LinearLayout checkboxContainer = new LinearLayout(requireContext()); + checkboxContainer.setOrientation(LinearLayout.VERTICAL); + final int padding = DeviceUtils.dpToPx(20, requireContext()); + checkboxContainer.setPadding(padding, padding, padding, 0); + checkboxContainer.addView(removePartiallyWatchedCheckbox, + new android.widget.LinearLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.WRAP_CONTENT)); + new AlertDialog.Builder(requireContext()) .setMessage(R.string.remove_watched_popup_warning) .setTitle(R.string.remove_watched_popup_title) - .setPositiveButton(R.string.ok, (d, id) -> - removeWatchedStreams(false)) - .setNeutralButton( - R.string.remove_watched_popup_yes_and_partially_watched_videos, - (d, id) -> removeWatchedStreams(true)) - .setNegativeButton(R.string.cancel, - (d, id) -> d.cancel()) + .setView(checkboxContainer) + .setPositiveButton(R.string.yes, (d, id) -> + removeWatchedStreams(removePartiallyWatchedCheckbox.isChecked())) + .setNegativeButton(R.string.cancel, (d, id) -> d.cancel()) .show(); } } else if (item.getItemId() == R.id.menu_item_remove_duplicates) { From 6cefb4ba133ac3e519ff2d80b5755b5edf672666 Mon Sep 17 00:00:00 2001 From: tobigr Date: Sun, 21 Dec 2025 20:42:35 +0100 Subject: [PATCH 3/4] "Removed watched videos" changed to "Remove watched streams" Playlists can also contain audio-only items. Therefore, the term "stream" is used. --- .../newpipe/local/playlist/LocalPlaylistFragment.java | 2 +- app/src/main/res/values-ar-rLY/strings.xml | 2 +- app/src/main/res/values-ar/strings.xml | 2 +- app/src/main/res/values-az/strings.xml | 2 +- app/src/main/res/values-b+ast/strings.xml | 2 +- app/src/main/res/values-b+uz+Latn/strings.xml | 2 +- app/src/main/res/values-be/strings.xml | 2 +- app/src/main/res/values-bg/strings.xml | 2 +- app/src/main/res/values-bn/strings.xml | 2 +- app/src/main/res/values-bs/strings.xml | 2 +- app/src/main/res/values-ca/strings.xml | 2 +- app/src/main/res/values-ckb/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-da/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-eo/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-et/strings.xml | 2 +- app/src/main/res/values-eu/strings.xml | 2 +- app/src/main/res/values-fa/strings.xml | 2 +- app/src/main/res/values-fi/strings.xml | 2 +- app/src/main/res/values-fil/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-gl/strings.xml | 2 +- app/src/main/res/values-he/strings.xml | 2 +- app/src/main/res/values-hi/strings.xml | 2 +- app/src/main/res/values-hr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-ia/strings.xml | 2 +- app/src/main/res/values-in/strings.xml | 2 +- app/src/main/res/values-is/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ka/strings.xml | 2 +- app/src/main/res/values-kmr/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 2 +- app/src/main/res/values-ku/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-lv/strings.xml | 2 +- app/src/main/res/values-mk/strings.xml | 2 +- app/src/main/res/values-ml/strings.xml | 2 +- app/src/main/res/values-nb-rNO/strings.xml | 2 +- app/src/main/res/values-ne/strings.xml | 2 +- app/src/main/res/values-nl-rBE/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-nqo/strings.xml | 2 +- app/src/main/res/values-or/strings.xml | 2 +- app/src/main/res/values-pa/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt-rPT/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ro/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-ryu/strings.xml | 2 +- app/src/main/res/values-sat/strings.xml | 2 +- app/src/main/res/values-sc/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-so/strings.xml | 2 +- app/src/main/res/values-sq/strings.xml | 2 +- app/src/main/res/values-sr/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-ta/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values-vi/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values-zh-rHK/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 8 ++++---- 71 files changed, 74 insertions(+), 74 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java index 24c6c807b7a..f6e3151d4ce 100644 --- a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java @@ -371,7 +371,7 @@ public boolean onOptionsItemSelected(final MenuItem item) { final android.widget.CheckBox removePartiallyWatchedCheckbox = new android.widget.CheckBox(requireContext()); removePartiallyWatchedCheckbox.setText( - R.string.remove_watched_popup_yes_and_partially_watched_videos); + R.string.remove_watched_popup_partially_watched_streams); // Wrap the checkbox in a container with dialog-like horizontal padding // so it aligns with the dialog title/message on the start side. diff --git a/app/src/main/res/values-ar-rLY/strings.xml b/app/src/main/res/values-ar-rLY/strings.xml index 35e6cb5e790..4cf7e20ddfc 100644 --- a/app/src/main/res/values-ar-rLY/strings.xml +++ b/app/src/main/res/values-ar-rLY/strings.xml @@ -124,7 +124,7 @@ %s مُشاهِد عرض تلميح عند الضغط على زر استخدام المشغل الخلفي أو النافذة المنبثقة في صفحة تفاصيل الفديو - نعم، ومقاطع الفيديو التي تمت مشاهدتها جزئيًا + نعم، ومقاطع الفيديو التي تمت مشاهدتها جزئيًا انتهى وقت الاتصال غير معروف تشغيل تلقائي diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 895314ad5eb..20d42dc61c1 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -547,7 +547,7 @@ هذا الفيديو مقيد بالفئة العمرية. \n \nقم بتشغيل \"%1$s\" في الإعدادات إذا كنت تريد رؤيته. - نعم، ومقاطع الفيديو التي تمت مشاهدتها جزئيًا + نعم، ومقاطع الفيديو التي تمت مشاهدتها جزئيًا ستتم إزالة مقاطع الفيديو التي تمت مشاهدتها قبل وبعد إضافتها إلى قائمة التشغيل. \nهل أنت واثق؟ لا يمكن التراجع عن هذا! إزالة مقاطع الفيديو التي تمت مشاهدتها؟ diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 6f14202e18a..e1d36f321cf 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -652,7 +652,7 @@ Oynatma Sürəti Nizamlamaları Ayır (pozuntuya səbəb ola bilər) Xətanı göstər - Bəli və qismən baxılmış videolar + Bəli və qismən baxılmış videolar %1$s endirməsi silindi %1$s endirmə silindi diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml index 81b212f800e..f89bb1ad75c 100644 --- a/app/src/main/res/values-b+ast/strings.xml +++ b/app/src/main/res/values-b+ast/strings.xml @@ -312,7 +312,7 @@ Últimu anovamientu del feed: %s Grupos de canales Pola mor de les torgues d\'ExoPlayer la duración afitóse en %d segundos - Sí, y tamién los vistos parcialmente + Sí, y tamién los vistos parcialmente Van desaniciase los vídeos que se vieren enantes y dempués d\'amestase a la llista de reproducción. \n¿De xuru\? ¡Esto nun pue desfacese! ¿Desaniciar los vídeos vistos\? diff --git a/app/src/main/res/values-b+uz+Latn/strings.xml b/app/src/main/res/values-b+uz+Latn/strings.xml index 2be37ea7c93..be009d792c0 100644 --- a/app/src/main/res/values-b+uz+Latn/strings.xml +++ b/app/src/main/res/values-b+uz+Latn/strings.xml @@ -384,7 +384,7 @@ %d sekondlar ExoPlayer cheklovlari tufayli qidiruv davomiyligi %d soniya qilib belgilandi - Ha, va qisman videolarni tomosha qildim + Ha, va qisman videolarni tomosha qildim Pleylistga qo\'shilishdan oldin va keyin ko\'rilgan videolar o\'chiriladi. \nIshonchingiz komilmi\? Buni qaytarib bo\'lmaydi! Ko\'rilgan videolar olib tashlansinmi\? diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 8732e45d975..f363a4e4465 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -617,7 +617,7 @@ Пры кожным спампоўванні вам будзе прапанавана выбраць месца захавання Загрузка канала… Выдаліць прагледжаныя відэа\? - Так, часткова прагледжаныя відэа таксама + Так, часткова прагледжаныя відэа таксама Працэнт Відэа, якія прагледжаны перад дадаваннем і пасля дадавання ў спіс прайгравання, будуць выдалены. \nВы ўпэўнены? Гэта дзеянне немагчыма скасаваць! Паказвае варыянт збою пры выкарыстанні плэера diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 69f8a8e9b0e..79e308f3d79 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -502,7 +502,7 @@ Съдържанието е достъпно само за хора, които са си платили, затова не може да бъде гледано или изтеглено с NewPipe. Това видео е достъпно за абонати на YouTube Music Premium, затова не може да бъде гледано или изтеглено с NewPipe. Премахни изгледаните видеа\? - Да, както и само частично изгледаните видеа + Да, както и само частично изгледаните видеа Брой на абонати не е наличен Инстанцията вече съществува Файлът е преместен или изтрит diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 8d767a17324..0190f50ce08 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -337,7 +337,7 @@ অপুনরুদ্ধারযোগ্য প্লেয়ার ত্রুটি ঘটেছে ইন্সট্যান্সটি যাচাই করা যায়নি রিক্যাপচা কুকিগুলো পরিষ্কার করা হয়েছে - হ্যাঁ, এবং আংশিকভাবে দেখা ভিডিও + হ্যাঁ, এবং আংশিকভাবে দেখা ভিডিও ব্যবস্থা দ্বারা ক্রিয়া অস্বীকার করা হয়েছে স্বয়ংক্রিয়ভাবে প্লেব্যাক শুরু করো %s — তে একটি পপ-আপে প্লে শুরু করো diff --git a/app/src/main/res/values-bs/strings.xml b/app/src/main/res/values-bs/strings.xml index ff0b7003a7f..ee4fc3317b0 100644 --- a/app/src/main/res/values-bs/strings.xml +++ b/app/src/main/res/values-bs/strings.xml @@ -579,7 +579,7 @@ Ukloniti duplikate? Želite li ukloniti sve duplikatne tokove na ovoj listi za reprodukciju? Videozapisi koji su pregledani prije i poslije dodavanja na listu za reprodukciju bit će uklonjeni.\nJeste li sigurni? Ovo se ne može poništiti! - Da, i djelimično odgledani videozapisi + Da, i djelimično odgledani videozapisi Zbog ograničenja ExoPlayera, trajanje pretraživanja je postavljeno na %d sekundi Šta je novo Stranica grupe kanala diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 31183d15b7d..b8fe195eac8 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -508,7 +508,7 @@ %d segons A causa de les limitacions d\'ExoPlayer, la durada de cerca és de %d segons - Sí, i també els vídeos vistos parcialment + Sí, i també els vídeos vistos parcialment Els vídeos que ja heu vist tant abans com després d\'haver estat afegits a la llista de reproducció seran suprimits. \nN\'esteu segurs\? Aquesta acció no pot desfer-se! Esborrar els vídeos ja vistos\? diff --git a/app/src/main/res/values-ckb/strings.xml b/app/src/main/res/values-ckb/strings.xml index f0ddfb6e952..6bb843e04e1 100644 --- a/app/src/main/res/values-ckb/strings.xml +++ b/app/src/main/res/values-ckb/strings.xml @@ -350,7 +350,7 @@ په‌نجه‌ڕاگرتن له‌سه‌ری بۆ نۆبه‌ت نه‌بوون زۆرترین ژمارەی هەوڵدان پێش پاشگەزبوونەوە لە دابەزاندنەکە هەڵه‌ - بەڵێ، لەگەڵ ڤیدیۆ سەیر کراوەکانەوە + بەڵێ، لەگەڵ ڤیدیۆ سەیر کراوەکانەوە دەستپێکردنی لێدان لە پەنجەرەوه‌ نابەدڵه‌كان مێژوو diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 853b8c1cbe6..5c6a6b2515f 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -517,7 +517,7 @@ Toto video má věkové omezení. \n \nPokud jej chcete vidět, povolte „%1$s“ v nastavení. - Ano, i zčásti zhlédnutá videa + Ano, i zčásti zhlédnutá videa Odstranit zhlédnutá videa? Odstranit zhlédnutá Videa, která jste zhlédli před a po jejich přidání do playlistu, budou odstraněna. diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 78f08ee855a..8021bd64ca5 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -630,7 +630,7 @@ Ingen app på din enhed kan åbne dette Ingen ledig plads på enheden App-sprog - Ja, og delvist sete videoer + Ja, og delvist sete videoer Fejl ved indlæsning af feed Kunne ikke indlæse feed for \'%s\'. Vis \"Crash afspilleren\" diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 627e755f61d..3651ffbd55c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -518,7 +518,7 @@ \nAktiviere in den Einstellungen „%1$s“, falls du diese sehen möchtest. Videos, die vor und nach dem Hinzufügen zur Wiedergabeliste angeschaut wurden, werden entfernt. \nBist du sicher\? Dies kann nicht rückgängig gemacht werden! - Ja, und teilweise gesehene Videos + Ja, und teilweise gesehene Videos Gesehene entfernen Gesehene Videos entfernen\? Originalzeit vor Elementen anzeigen diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 02bf75b30f6..22f8ef4471a 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -524,7 +524,7 @@ %d δευτερόλεπτα Λόγω περιορισμών του ExoPlayer, η διάρκεια αναζήτησης ορίστηκε στα %d δευτερόλεπτα - Ναι. Και τα μερικώς θεαθέντα βίντεο + Ναι. Και τα μερικώς θεαθέντα βίντεο Τα βίντεο που εθεάθησαν πριν και αφού προστέθηκαν στη λίστα αναπαραγωγής θα απομακρυνθούν \nΕίστε σίγουρος; Δεν μπορεί να αναιρεθεί! Απομάκρυνση θεαθέντων βίντεο; diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 3dde6961882..cc42c042660 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -612,5 +612,5 @@ Filmetoj Filmetoj kiuj spektiĝis antaŭ aŭ post sia aldoniĝo al la ludlisto foriĝus.. \nĈu vi certas? Ĉi tio nemalfareblus! Restarigi implicitajn agordojn - Jes, kaj ankaŭ parte spektitajn filmetojn + Jes, kaj ankaŭ parte spektitajn filmetojn diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 72d1f58b506..5a6b1bd20b3 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -512,7 +512,7 @@ Álbumes Canciones Este vídeo tiene restricción de edad. \n \nHabilitar \"%1$s\" en los ajustes si quieres verlo. - Sí, y también vídeos vistos parcialmente + Sí, y también vídeos vistos parcialmente Los vídeos que ya se hayan visto luego de añadidos a la lista de reproducción, serán quitados. \n¿Estás seguro\? ¡Esta acción no se puede deshacer! ¿Quitar vídeos ya vistos\? diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 05f4cf505a9..dfebedacb8c 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -532,7 +532,7 @@ Sellega eemaldame vaadatud videod ja esitusloendisse lisatud videod. \nKas sa oled kindel\? Seda tegevust ei saa hiljem tagasi pöörata! - Jah, sealhulgas videod, mille vaatmine jäi pooleli + Jah, sealhulgas videod, mille vaatmine jäi pooleli Kas eemaldame vaadatud videod\? Eemalda vaadatud videod Kasuta süsteemi keelt diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 5c963d6b75d..71e71b7e542 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -512,7 +512,7 @@ %s-k sortua Kanalaren avatar-earen miniatura Erakutsi agrupatuta ez dauden harpidetzak bakarrik - Bai, partzialki ikusitako bideoak ere bai + Bai, partzialki ikusitako bideoak ere bai Jada ikusi eta gero erreprodukzio zerrendara gehitu diren bideoak ezabatuak izango dira. \nJarraitu nahi duzu\? Ekintza hau ezin da desegin! Ikusitako bideoak ezabatu\? diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 403fb4c11c0..58ce1d63ad3 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -449,7 +449,7 @@ %d ثانیه %d ثانیه - بله، و ویدیوهای ناقص دیده شده + بله، و ویدیوهای ناقص دیده شده برداشتن ویدیوهای دیده شده؟ پاک کردن دیده شده‌ها پیش‌فرض دستگاه diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 22c1fab120b..4764f69d5b8 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -395,7 +395,7 @@ Aiemmin katsotut ja soittolistaan lisätyt videot poistetaan. \nOletko varma\? Tätä ei voi peruuttaa! Poistetaanko katsotut videot\? - Kyllä ja osittain katsotut videot + Kyllä ja osittain katsotut videot Pysäytä Tyhjennä lataushistoria Sulje diff --git a/app/src/main/res/values-fil/strings.xml b/app/src/main/res/values-fil/strings.xml index 5dfcbd2ce18..abb13644a86 100644 --- a/app/src/main/res/values-fil/strings.xml +++ b/app/src/main/res/values-fil/strings.xml @@ -249,7 +249,7 @@ Mga track Mga gumagamit Hangganan ng Edad - Oo, pati na rin ang mga napanood nang video + Oo, pati na rin ang mga napanood nang video Kusa (tema ng device) Tanggalin ang kabuuan ng watch history? Walang mga stream na maaaring i-download diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index e587a301d62..86fc2087abb 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -521,7 +521,7 @@ \n \nActivez « %1$s » dans les paramètres si vous voulez la voir. Supprimer les vidéos visionnées - Oui ainsi que les vidéos partiellement visionnées + Oui ainsi que les vidéos partiellement visionnées Les vidéos qui ont été visionnées avant et après avoir été ajoutées à la playlist seront supprimées. \nÊtes-vous certain(e) ? Cette action est irréversible ! Supprimer les vidéos visionnées \? Miniature de l\'avatar de la chaine diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index aacaf9288c4..20519e53bdd 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -387,7 +387,7 @@ %d segundos Debido ás restricións de ExoPlayer, a duración da busca estableceuse en %d segundos - Si, e visualizou parcialmente estes vídeos + Si, e visualizou parcialmente estes vídeos Eliminaranse os vídeos vistos antes e despois de seren engadidos á lista de reprodución. \nEstás seguro\? Isto non se pode desfacer.! Borrar todos os vídeos vistos\? diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index c35281207b9..e85e9809b2c 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -527,7 +527,7 @@ סרטון זה מוגבל לצפייה מגיל מסוים. \n \nיש להפעיל את „%1$s” בהגדרות כדי לצפות בו. - כן, לרבות סרטונים שהפסקתי באמצע + כן, לרבות סרטונים שהפסקתי באמצע סרטונים שלאחר שצפית בהם מופיע לרשימת הנגינה יוסרו. \nלהמשיך\? זאת פעולה בלתי הפיכה! הסרת נצפו diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index dd23cfc08f2..92b179d9945 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -584,7 +584,7 @@ डिस्क से सभी डाउनलोड की गई फ़ाइलें मिटाएं\? एंड्रॉइड 10 से शुरू होकर केवल \'स्टोरेज एक्सेस फ्रेमवर्क\' समर्थित है एक इंस्टेंस चुनें - हां, और आंशिक रूप से देखे गए वीडियो भी + हां, और आंशिक रूप से देखे गए वीडियो भी फ़ीड लोड हो रही है… फ़ीड अपडेट चरणसीमा फ़ीड लोड करने में त्रुटि हूई diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 0eafb29309c..95043ca32f1 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -502,7 +502,7 @@ Obrada feeda u tijeku … Zadnje aktualiziranje feeda: %s Grupe kanala - Da, i djelomično pogledana videa + Da, i djelomično pogledana videa Odaberi jednu instancu Aplikacija će te pitati kamo spremati preuzimanja. \nUključi sustavksi birač mapa (SAF) ako želiš preuzeti na eksternu SD karticu diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index d114a2d337c..a691132efd4 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -620,7 +620,7 @@ Címkék Adatvédelem Gyors mód letiltása - Igen, és távolítsa el a részben megnézett videókat is + Igen, és távolítsa el a részben megnézett videókat is A videók, melyeket már megnézett miután a lejátszási listához adta őket, el lesznek távolítva. \nBiztos benne\? Ez nem vonható vissza! A szolgáltatásokból származó eredeti szövegek láthatók lesznek a közvetítési elemeken diff --git a/app/src/main/res/values-ia/strings.xml b/app/src/main/res/values-ia/strings.xml index d0bc29057bd..11571ce2d86 100644 --- a/app/src/main/res/values-ia/strings.xml +++ b/app/src/main/res/values-ia/strings.xml @@ -165,7 +165,7 @@ Reimplaciar tu chronologia, subscriptiones e (optionalmente) configurationes currente Le videos jam observate ante e post de esser addite al lista de reproduction essera removite. \nSecur que tu vole\? Isto non pote disfacer se! - Si, e le videos partialmente observate + Si, e le videos partialmente observate Deler le videos observate\? Deler le videos observate diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index bb9286dab3c..f2bf9f53dfc 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -486,7 +486,7 @@ Konten ini belum didukung oleh NewPipe. \n \nSemoga akan didukung pada versi berikutnya. - Iya, dan video yang ditonton sebagian + Iya, dan video yang ditonton sebagian Video yang sudah ditonton sebelum dan sesudah ditambahkan ke daftar putar akan dibuang. \nApakah Anda yakin\? Ini tidak bisa diurungkan! Batal bisukan diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index 387bce955b6..52d22d795e0 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -675,7 +675,7 @@ Fjöldi tilrauna áður en hætt er við niðurhal Myndskeiðum sem skoðuð voru áður eða eftir að þeim var bætt við spilunarlistann verður eytt. \nErtu viss? Það er ekki hægt að afturkalla þetta! - Já og skoðuð að hluta + Já og skoðuð að hluta Nota RSS ef tiltækt Hjartað af höfunda Slökkt er á tilkynningum diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index f73e7437ab6..7b8fcc0c83d 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -517,7 +517,7 @@ Questo video ha restrizioni di età. \n \nAttivare «%1$s» nelle Impostazioni per poterlo vedere. - Sì, anche quelli visualizzati parzialmente + Sì, anche quelli visualizzati parzialmente I video che sono stati visti prima e dopo essere stati aggiunti alla playlist verranno rimossi. \nProcedere\? L\'azione è irreversibile! Rimuovere i video già visti\? diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 3274062b571..57ba676dc69 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -499,7 +499,7 @@ \n閲覧したい場合、設定から \"%1$s\" を有効化してください。 プレイリストに追加される前も追加された後も視聴した動画はプレイリストから削除されます。 \nよろしいですか?この操作は元に戻せません! - はい、部分的に視聴した動画も削除します + はい、部分的に視聴した動画も削除します 視聴済みの動画を削除しますか? 視聴済みを削除 サービスのオリジナルのテキストが生放送に表示されます diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml index 819517ba489..68435d2184c 100644 --- a/app/src/main/res/values-ka/strings.xml +++ b/app/src/main/res/values-ka/strings.xml @@ -483,7 +483,7 @@ სისტემის ნაგულისხმევი ნანახის ამოღება წაშალოთ ნანახი ვიდეოები\? - დიახ, და ნაწილობრივ ნანახი ვიდეოები + დიახ, და ნაწილობრივ ნანახი ვიდეოები ExoPlayer-ის შეზღუდვების გამო ძიების ხანგრძლივობა დაყენდა %d წამზე %d წამი diff --git a/app/src/main/res/values-kmr/strings.xml b/app/src/main/res/values-kmr/strings.xml index 24bc5574e43..bb19054d55e 100644 --- a/app/src/main/res/values-kmr/strings.xml +++ b/app/src/main/res/values-kmr/strings.xml @@ -355,7 +355,7 @@ %d çirkeyan Ji ber astengiyên ExoPlayer dema lêgerînê li %d çirkeyan hate saz kirin - Erê, û bi qismî vîdyoyan temaşe kir + Erê, û bi qismî vîdyoyan temaşe kir Vîdyoyên ku berî û piştî ku li lîsteya lîsteyê hatine zêdekirin hatine temaşekirin, dê werin rakirin. \nPiştrastin\? Ev nayê betal kirin! Vîdyoyên temaşekirî rakin\? diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 39f854d35c5..a25ca6f9618 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -589,7 +589,7 @@ %s 다운로드 완료 앱 언어 - 예, 부분적으로 본 비디오 + 예, 부분적으로 본 비디오 카테고리 %s에 의해 아래에서 선호하는 어두운 테마를 선택할 수 있습니다 diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index 3dc51fcc815..16f708a1448 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -499,7 +499,7 @@ هونەرمەندەکان ئەلبوومەکان گۆرانییەکان - بەڵێ، لەگەڵ ڤیدیۆ تەماشاکراوەکانەوە + بەڵێ، لەگەڵ ڤیدیۆ تەماشاکراوەکانەوە ئەو ڤیدیۆیانەی پێشتر سەیرت کردوون و دواتر زیادت کردوون بۆ لیستەلێدان دەسڕێنەوە. \nئایا دڵنیایت؟ ئەمە ناگەڕێنرێتەوە! ڤیدیۆ تەماشاکراوەکان بسڕێنەوە؟ diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 20419fef69b..bafefac6b92 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -409,7 +409,7 @@ Užmegzti saugaus ryšio nepavyko Riboti raišką naudojant mobilius duomenis Automatiškai atkurti — %s - Taip ir iš dalies žiūrėtus vaizdo įrašus + Taip ir iš dalies žiūrėtus vaizdo įrašus Atstatyti parsiuntimo nepavyko Pertraukti matuojamuose tinkluose Sumažinti iki iššokančio lango grotuvo diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index 0eb6e4201ae..d1a3e1d50cb 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -338,7 +338,7 @@ %d sekundes ExoPlayer ierobežojumu dēļ meklēšanas ilgums tika iestatīts uz %d sekundēm - Jā, un daļēji skatītos videoklipus + Jā, un daļēji skatītos videoklipus Videoklipi, kas ir skatīti pirms un pēc pievienošanas atskaņošanas sarakstam, tiks noņemti. \nVai tu esi pārliecināts\? To nevar atsaukt! Vai noņemt skatītos videoklipus\? diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 3a8fa2f072f..5ce379216a0 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -406,7 +406,7 @@ Премести ги основниот селектор на јазичиња најдолу Позиција на основните јазичиња Прикажи информации за каналот - Да, како и делумно изгледаните видеа + Да, како и делумно изгледаните видеа Аудио снимка треба да е веќе присутна во овој стрим %s слушател diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 5a449025e08..8688b670a67 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -461,7 +461,7 @@ %d സെക്കൻഡുകൾ എക്സോപ്ലെയർ പരിമിതികൾ കാരണം തിരയൽ ദൈർഘ്യം %d സെക്കൻഡിലേക്ക് സജ്ജമാക്കി - അതെ, അതിന്റെകൂടെ ഭാഗികമായി കണ്ട വീഡിയോകളും + അതെ, അതിന്റെകൂടെ ഭാഗികമായി കണ്ട വീഡിയോകളും പ്ലേലിസ്റ്റിലേക്ക് ചേർക്കുന്നതിന് മുമ്പും ശേഷവും കണ്ട വീഡിയോകൾ നീക്കംചെയ്യും. \nനിങ്ങൾക്ക് ഉറപ്പാണോ\? ഇത് പഴയപടിയാക്കാൻ കഴിയില്ല! കണ്ട വീഡിയോകൾ നീക്കംചെയ്യണോ\? diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index d5edc2060a8..4e1ad1fe25b 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -488,7 +488,7 @@ Artister Album Sanger - Ja, og delvist sette videoer + Ja, og delvist sette videoer Fjern sette videoer\? Fjern sette Opprettet av %s diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index b40145aa680..7af9f463427 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -514,7 +514,7 @@ यो सामग्री अझै NewPipeमा समर्थित छैन। \n… \nआशा छ कि भविष्यको संस्करणमा समर्थित हुनेछ। - हो र आंशिक रूपमा हेरिएको भिडियोहरू + हो र आंशिक रूपमा हेरिएको भिडियोहरू सूचना पाटी रंगिन बनाउनु केहि छैन Buffering हुँदै diff --git a/app/src/main/res/values-nl-rBE/strings.xml b/app/src/main/res/values-nl-rBE/strings.xml index 02d772023a6..a8afb6a8fd9 100644 --- a/app/src/main/res/values-nl-rBE/strings.xml +++ b/app/src/main/res/values-nl-rBE/strings.xml @@ -440,7 +440,7 @@ %d seconden Door beperkingen van ExoPlayer is de zoekduur ingesteld op %d seconden - Ja, en deels bekeken video\'s + Ja, en deels bekeken video\'s Video\'s die zijn bekeken voor, en na, ze werden toegevoegd aan de afspeellijst worden verwijderd. \nBent u zeker\? Dit kan niet ongedaan gemaakt worden! Verwijder bekeken video\'s\? diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 4c8a28745bc..7f3e342acb7 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -502,7 +502,7 @@ Deze inhoud wordt nog niet ondersteund door NewPipe. \n \nHopelijk zal dit bij een toekomstige versie ondersteund worden. - Ja, en deels bekeken video\'s + Ja, en deels bekeken video\'s Video\'s die zijn bekeken voor, en na ze werden toegevoegd aan de afspeellijst worden verwijderd. \nWeet u dit zeker\? Deze actie kan niet ongedaan gemaakt worden! Bekeken video\'s verwijderen\? diff --git a/app/src/main/res/values-nqo/strings.xml b/app/src/main/res/values-nqo/strings.xml index caf8509e3a7..06b2e21dd41 100644 --- a/app/src/main/res/values-nqo/strings.xml +++ b/app/src/main/res/values-nqo/strings.xml @@ -594,7 +594,7 @@ ߞߊ߬ ߖߌ߬ߦߊ߬ߖߟߎ߬ ߦߋߣߍ߲ ߠߎ߫ ߖߏ߬ߛߌ߫ ߦߋߡߍ߲ߕߊ ߟߎ߫ ߖߏ߬ߛߌ߬ߕߐ߫ ߟߋ߬߸ ߡߍ߲ ߠߎ߬ ߡߊߝߍߣߍ߲ߣߍ߲߫ ߊ߬ߟߎ߫ ߝߊ߬ߙߊ ߢߍ߫ ߥߊߟߴߊ߬ߟߎ߫ ߝߊ߬ߙߊ ߞߐ߫ ߕߏߟߏ߲߫ ߛߙߍߘߍ ߟߊ߫. \nߌ ߟߊߣߍ߲߫ ߊ߬ ߟߊ߫ ؟ ߊ߬ ߕߍߣߊ߬ ߛߋ߫ ߟߊ߫ ߟߊߛߊ߬ߦߌ߬ ߟߊ߫߹ - ߐ߬ߤߐ߲߫߸ ߊ߬ߣߌ߫ ߘߏ߫ ߡߊߝߍߣߍ߲ߣߍ߲߫ ߖߌ߬ߦߊ߬ߖߟߎ ߡߍ߲ ߠߎ߬ ߘߐ߫ + ߐ߬ߤߐ߲߫߸ ߊ߬ߣߌ߫ ߘߏ߫ ߡߊߝߍߣߍ߲ߣߍ߲߫ ߖߌ߬ߦߊ߬ߖߟߎ ߡߍ߲ ߠߎ߬ ߘߐ߫ ߞߵߊ߬ ߓߍ߲߬ ExoPlayer ߟߊ߫ ߛߙߊߕߌ߫ ߛߌ߰ߣߍ߲ ߠߎ߫ ߡߊ߬߸ ߓߐߒߣߐ߬ߘߐ ߛߋ߲߬ߕߊ ߓߘߊ߬ ߞߍ߫ ߝߌ߬ߟߊ߲߬ %d ߘߌ߫ ߡߌ߬ߛߍ߲߬ %d diff --git a/app/src/main/res/values-or/strings.xml b/app/src/main/res/values-or/strings.xml index 81184d52672..d4830fac919 100644 --- a/app/src/main/res/values-or/strings.xml +++ b/app/src/main/res/values-or/strings.xml @@ -595,7 +595,7 @@ ଏହି ନାମ ସହିତ ଏକ ଡାଉନଲୋଡ୍ ଫାଇଲ୍ ପୂର୍ବରୁ ବିଦ୍ୟମାନ ଅଛି ଡାଉନଲୋଡ୍ ହୋଇଥିବା ଫାଇଲଗୁଡିକ ଡିଲିଟ୍ କରନ୍ତୁ ସିଷ୍ଟମ୍ ଫୋଲ୍ଡର୍ ପିକର୍ (SAF) ବ୍ୟବହାର କରନ୍ତୁ - ହଁ, ଏବଂ ଆଂଶିକ ଦେଖାଯାଇଥିବା ଭିଡିଓଗୁଡିକ + ହଁ, ଏବଂ ଆଂଶିକ ଦେଖାଯାଇଥିବା ଭିଡିଓଗୁଡିକ ଗୋଷ୍ଠୀ ନାମ ଖାଲି ଅଛି ଉପଲବ୍ଧ ଥିବାବେଳେ ଉତ୍ସର୍ଗୀକୃତ ଫିଡରୁ ଆଣ ତାଲିକା diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml index 8b5969c0c92..5362010589f 100644 --- a/app/src/main/res/values-pa/strings.xml +++ b/app/src/main/res/values-pa/strings.xml @@ -511,7 +511,7 @@ %d ਸਕਿੰਟ %d ਸਕਿੰਟ - ਹਾਂ, ਅਤੇ ਅੱਧ-ਪਚੱਧੀਆਂ ਵੇਖੀਆਂ ਹੋਈਆਂ ਵੀ + ਹਾਂ, ਅਤੇ ਅੱਧ-ਪਚੱਧੀਆਂ ਵੇਖੀਆਂ ਹੋਈਆਂ ਵੀ ਪਲੇਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਿਲ, ਪਹਿਲਾਂ ਚਾਹੇ ਬਾਅਦ ਵਿੱਚ ਵੇਖੇ ਜਾ ਚੁੱਕੇ ਵੀਡੀਓ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ। \nਕੀ ਵਾਕਿਆ ਹੀ ਤੁਸੀਂ ਇਹਨਾਂ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ? ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਵਾਪਸ ਨਹੀਂ ਮੋੜਿਆ ਜਾ ਸਕਣਾ! ਵੇਖੇ ਹੋਏ ਵੀਡੀਓ ਹਟਾ ਦੇਈਏ\? diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 3eee59c461e..b7ea0602405 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -522,7 +522,7 @@ To wideo jest objęte ograniczeniem wiekowym. \n \nWłącz „%1$s” w ustawieniach, jeśli chcesz je zobaczyć. - Tak, i częściowo obejrzane wideo + Tak, i częściowo obejrzane wideo Wideo, które zostały obejrzane przed i po dodaniu do playlisty, zostaną usunięte. \nCzy na pewno\? Tego nie da się cofnąć! Czy usunąć obejrzane wideo\? diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index a0ec8127e7f..08184fbb67a 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -517,7 +517,7 @@ Este vídeo tem restrição de idade. \n \nAtive \"%1$s\" nas configurações se quiser vê-lo. - Sim, e vídeos parcialmente assistidos + Sim, e vídeos parcialmente assistidos Os vídeos que foram assistidos antes e depois de terem sidos adicionados à playlist serão removidos. \nTem certeza? Esta ação não pode ser desfeita! Remover vídeos assistidos? diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 1ec01b0d77f..a204e19730a 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -228,7 +228,7 @@ Limite de atualização da fonte OK Não foi possível atualizar a subscrição - Sim e também os vídeos parcialmente vistos + Sim e também os vídeos parcialmente vistos Ainda não há listas de reprodução favoritas %s ouvinte diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index da54067e71e..b33f9a2d301 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -519,7 +519,7 @@ \nPara o poder ver, tem que ativar \"%1$s\" nas definições. Os vídeos que tenham sido vistos antes e depois de serem adicionados à lista de reprodução serão removidos. \nTem a certeza\? Esta ação não pode ser revertida! - Sim e também os vídeos parcialmente vistos + Sim e também os vídeos parcialmente vistos Remover vídeos visualizados\? Remover visualizados Os textos originais dos serviços serão visíveis nos itens do vídeo diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 1b7210e58a6..4a3ab8beb46 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -432,7 +432,7 @@ %d de secunde Datorită constrângerilor ExoPlayer, durata de căutare a fost setată la %d secunde - Da, și videoclipuri vizionate parțial + Da, și videoclipuri vizionate parțial Videoclipurile care au fost vizionate înainte și după ce au fost adăugate la lista de redare vor fi eliminate. \nSunteți sigur\? Acest lucru nu poate fi anulat! Eliminați videoclipurile vizionate\? diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e3ca674a250..bb804219280 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -525,7 +525,7 @@ Исполнители Альбомы Удалить просмотренные - Да, и частично просмотренные + Да, и частично просмотренные Видео, просмотренные до или после добавления в плейлист, будут удалены. \nПродолжить\? Не может быть отменено! Удалить просмотренные видео\? diff --git a/app/src/main/res/values-ryu/strings.xml b/app/src/main/res/values-ryu/strings.xml index e9baa11dac6..fdd266f7af7 100644 --- a/app/src/main/res/values-ryu/strings.xml +++ b/app/src/main/res/values-ryu/strings.xml @@ -509,7 +509,7 @@ \nいちらんさるいばあい、しっていから \"%1$s\" ゆーいるこうかしみそーれー。 プレイリストんかいちいからさりーるめーんちいからさったるあとぅんしちょうさんちゃーしがはプレイリストからさくじょさりやびーん。 \nゆたさいびーが?くぬあしっさーむとぅんかいむどぅしやびらん! - はい、ぶぶんてぃちーがしちょうさんちゃーしがんさちゅるじょさびーん + はい、ぶぶんてぃちーがしちょうさんちゃーしがんさちゅるじょさびーん しちょうじみぬちゃーしがさちゅるじょさびーが? しちょうじみさちゅるじょ サービスぬオリジナルぬテキストぬやーまほうあぬんかいひょうじさりやびーん diff --git a/app/src/main/res/values-sat/strings.xml b/app/src/main/res/values-sat/strings.xml index 717283e8350..88e9cfca1f6 100644 --- a/app/src/main/res/values-sat/strings.xml +++ b/app/src/main/res/values-sat/strings.xml @@ -313,7 +313,7 @@ ᱧᱮᱞᱚᱜ ᱟᱠᱟᱱ ᱥᱟᱯᱲᱟᱣ ᱢᱮ ᱧᱮᱞ ᱟᱠᱟᱱ ᱵᱷᱤᱰᱤᱭᱳ ᱠᱚ ᱪᱷᱩᱴᱟᱹᱣ? ᱫᱩᱯᱞᱟᱹᱲ ᱠᱚ ᱦᱮᱡ ᱢᱮ - ᱭ, ᱟᱨ ᱵᱷᱤᱰᱤᱭᱳ ᱠᱚ ᱡᱟᱦᱟᱸ ᱞᱮᱠᱟ ᱧᱮᱞᱚᱜᱼᱟ + ᱭ, ᱟᱨ ᱵᱷᱤᱰᱤᱭᱳ ᱠᱚ ᱡᱟᱦᱟᱸ ᱞᱮᱠᱟ ᱧᱮᱞᱚᱜᱼᱟ ᱪᱟᱱᱮᱞ ᱜᱨᱩᱯ ᱯᱷᱤᱰ ᱢᱩᱪᱟᱹᱫ ᱵᱚᱫᱚᱞᱟᱠᱟᱱ: %s ᱵᱟᱝ ᱞᱚᱰ ᱟᱠᱟᱱᱟ: %d diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml index 091001ae63b..099b3308d93 100644 --- a/app/src/main/res/values-sc/strings.xml +++ b/app/src/main/res/values-sc/strings.xml @@ -284,7 +284,7 @@ %d segundu Pro more de sos lìmites de ExoPlayer sa longària de s\'iscostiamentu lestru est istada impostada a %d segundos - Eja, e fintzas sos vìdeos pompiados in parte + Eja, e fintzas sos vìdeos pompiados in parte Sos vìdeos pompiados in antis e a pustis de los àere annànghidos a s\'iscalita ant a èssere bogados. \n Seguru ses\? Custu no est reversìbile! Bogare sos elementos pompiados\? diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index b41d9fff973..b06add8c109 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -509,7 +509,7 @@ Tento obsah ešte nie je podporovaný v NwPipe. \n \nMožno v budúcnosti sa to zmení. - Áno aj čiastočne pozreté videá + Áno aj čiastočne pozreté videá Pozreté videá, ktoré ste pozreli pred a po ich pridaní do playlistu, budú odstránené. \nSte si istí ich odstránením z playlistu? Táto operácia je nezvratná! Odstrániť pozreté videá\? Odstrániť pozreté diff --git a/app/src/main/res/values-so/strings.xml b/app/src/main/res/values-so/strings.xml index 860a607f5d9..b972c104d85 100644 --- a/app/src/main/res/values-so/strings.xml +++ b/app/src/main/res/values-so/strings.xml @@ -490,7 +490,7 @@ %d ilbiriqsi Ayadooy ugu wacantahay xayiraad xaga ExoPlayer-ka ah xadka dhaaf-dhaafinta waa %d ilbiriqsi - Haa, sidoo kale ku dar muuqaalada qayb laga daawaday + Haa, sidoo kale ku dar muuqaalada qayb laga daawaday Muuqaalada la daawaday kahor iyo kadib markii xulka lagu daray waa la saari doonaa. \nMa hubtaa\? Arrinkan dib looma soocelin karo! Saar muuqaalada la daawaday\? diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml index 4b9c2ac3664..48bcb4bf1b5 100644 --- a/app/src/main/res/values-sq/strings.xml +++ b/app/src/main/res/values-sq/strings.xml @@ -506,7 +506,7 @@ Zgjidhni dosjen e shkarkimit për skedarët video Skedarët video të shkarkuara ruhen këtu Nuk u gjend lexues për stream (ju mund të instaloni VLC për ta lexuar). - Po, dhe videot e shikuara pjesërisht + Po, dhe videot e shikuara pjesërisht Videot që janë shikuar më parë dhe pasi janë shtuar në listën e luajtjes do të hiqen. \nA jeni të sigurt\? Kjo nuk mund të zhbëhet! Dëshironi t\'i hiqni videot e para\? diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 02711dac2fe..a1fc299c693 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -205,7 +205,7 @@ Приказ коментара Искључите да бисте сакрили коментаре Због ограничења ExoPlayer-а, премотавање је постављено на %d секунди - Да, и делимично одгледани видео снимци + Да, и делимично одгледани видео снимци Видео снимци који су одгледани пре и после додавања на плејлисту биће уклоњени. \nЈесте ли сигурни\? Ово се не може поништити! Уклонити одгледане видео снимке\? diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 7893eae1918..f20044b6516 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -473,7 +473,7 @@ %d sekunder På grund av ExoPlayer-begränsningar sattes söktiden till %d sekunder - Ja, och delvis tittade videor + Ja, och delvis tittade videor Videor som har spelats före och efter att de har lagts till i spellistan kommer att tas bort. \nÄr du säker\? Detta kan inte ångras! Ta bort tittade videor\? diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index f1d388393c7..b7534ccc0ea 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -509,7 +509,7 @@ ச்ட்ரீம்களைக் காட்டு/மறைக்க இந்த உள்ளடக்கம் உங்கள் நாட்டில் கிடைக்கவில்லை. திருப்பித் தரவும் - ஆம், மற்றும் ஓரளவு பார்த்த வீடியோக்கள் + ஆம், மற்றும் ஓரளவு பார்த்த வீடியோக்கள் கடைசியாக புதுப்பிக்கப்பட்டது: %s %s கேட்பவர் diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 947d0bcf934..6948fcc958d 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -508,7 +508,7 @@ \nGörmek istiyorsanız ayarlarda \"%1$s\" seçeneğini açın. Oynatma listesine eklendikten önce ve sonra izlenen videolar kaldırılacak. \nEmin misiniz\? Bu geri döndürülemez! - Evet ve kısmen izlenmiş videolar + Evet ve kısmen izlenmiş videolar İzlenen videoları kaldır\? İzleneni kaldır Akış ögelerinde hizmetlerden alınan özgün metinler görünecektir diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 58e62c0d841..6c362492393 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -509,7 +509,7 @@ Не завантажено: %d Останнє оновлення: %s Через обмеження ExoPlayer точність перемотування становить %d секунд - Так, а також частково переглянуті відео + Так, а також частково переглянуті відео Відео, які Ви переглядали до та після додавання в добірку, вилучатимуться. \nВи впевнені\? Це незворотна дія! Видалити переглянуті відео\? diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 29dcb8c4d08..f27f5a2480d 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -422,7 +422,7 @@ %d giây - Có, và video đã xem một phần + Có, và video đã xem một phần Những video đã xem trước và sau khi thêm vào danh sách phát sẽ bị loại bỏ. \nBạn có chắc không? Điều này không thể được hoàn tác! Xóa các video đã xem? diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 0a8c8a94498..d42a0072a62 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -500,7 +500,7 @@ 由 %s 由 %s 创建 频道的头像缩略图 - 是的,包括没看完的视频 + 是的,包括没看完的视频 已经看过且在之后被加入播放列表的视频将被删除。 \n您确定吗?操作不能被撤消! 移除看过的视频? diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 24f457c2595..ee95d075115 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -538,7 +538,7 @@ 令個 app 閃退 顯示一則錯誤橫條 建立一則出現錯誤通知 - 好,包括埋睇過但未睇晒嘅影片 + 好,包括埋睇過但未睇晒嘅影片 礙於 ExoPlayer 所限,快轉長度經已改為 %d 秒 影片雜湊通知 排咗去隊尾 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 2ceb296b0e4..d69f4e5a8ea 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -479,7 +479,7 @@ 此影片設有年齡限制。 \n \n如果您想要觀看,請在設定中開啟「%1$s」。 - 是的,包括已部份觀看的影片 + 是的,包括已部份觀看的影片 已觀看過的影片在加入播放清單後將被移除。\n您確定嗎?此動作無法復原! 移除已觀看的影片? 移除已觀看的影片 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 147c88938a9..1a2a5b6f198 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -667,13 +667,13 @@ App language System default Remove watched - Remove watched videos? + Remove watched streams? Remove duplicates Remove duplicates? Do you want to remove all duplicate streams in this playlist? - Videos that have been watched before and after being added to the playlist will be removed. -\nAre you sure\? This cannot be undone! - Yes, and partially watched videos + Streams that have been watched before and after being added to the playlist will be removed. +\nAre you sure\? + Remove partially watched streams Due to ExoPlayer constraints the seek duration was set to %d seconds From 3ab4f143f84f02a9988979e99415bf3f30cf910a Mon Sep 17 00:00:00 2001 From: tobigr Date: Sun, 21 Dec 2025 21:25:04 +0100 Subject: [PATCH 4/4] Extract dialog creation into its own method --- .../local/playlist/LocalPlaylistFragment.java | 57 +++++++++++-------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java index f6e3151d4ce..5444158a798 100644 --- a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java @@ -1,5 +1,7 @@ package org.schabi.newpipe.local.playlist; +import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; +import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static org.schabi.newpipe.error.ErrorUtil.showUiErrorSnackbar; import static org.schabi.newpipe.ktx.ViewUtils.animate; import static org.schabi.newpipe.local.playlist.ExportPlaylistKt.export; @@ -23,6 +25,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; import android.widget.Toast; import androidx.annotation.NonNull; @@ -368,30 +371,7 @@ public boolean onOptionsItemSelected(final MenuItem item) { createRenameDialog(); } else if (item.getItemId() == R.id.menu_item_remove_watched) { if (!isRewritingPlaylist) { - final android.widget.CheckBox removePartiallyWatchedCheckbox = - new android.widget.CheckBox(requireContext()); - removePartiallyWatchedCheckbox.setText( - R.string.remove_watched_popup_partially_watched_streams); - - // Wrap the checkbox in a container with dialog-like horizontal padding - // so it aligns with the dialog title/message on the start side. - final LinearLayout checkboxContainer = new LinearLayout(requireContext()); - checkboxContainer.setOrientation(LinearLayout.VERTICAL); - final int padding = DeviceUtils.dpToPx(20, requireContext()); - checkboxContainer.setPadding(padding, padding, padding, 0); - checkboxContainer.addView(removePartiallyWatchedCheckbox, - new android.widget.LinearLayout.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.WRAP_CONTENT)); - - new AlertDialog.Builder(requireContext()) - .setMessage(R.string.remove_watched_popup_warning) - .setTitle(R.string.remove_watched_popup_title) - .setView(checkboxContainer) - .setPositiveButton(R.string.yes, (d, id) -> - removeWatchedStreams(removePartiallyWatchedCheckbox.isChecked())) - .setNegativeButton(R.string.cancel, (d, id) -> d.cancel()) - .show(); + openRemoveWatchedConfirmationDialog(); } } else if (item.getItemId() == R.id.menu_item_remove_duplicates) { if (!isRewritingPlaylist) { @@ -900,6 +880,35 @@ private void createShareConfirmationDialog() { .show(); } + /** + * Opens a confirmation dialog to remove watched streams from the playlist. + * The user can also choose to remove partially watched streams. + */ + private void openRemoveWatchedConfirmationDialog() { + final android.widget.CheckBox removePartiallyWatchedCheckbox = + new android.widget.CheckBox(requireContext()); + removePartiallyWatchedCheckbox.setText( + R.string.remove_watched_popup_partially_watched_streams); + + // Wrap the checkbox in a container with dialog-like horizontal padding + // so it aligns with the dialog title and message on the start side. + final LinearLayout checkboxContainer = new LinearLayout(requireContext()); + checkboxContainer.setOrientation(LinearLayout.VERTICAL); + final int padding = DeviceUtils.dpToPx(20, requireContext()); + checkboxContainer.setPadding(padding, padding, padding, 0); + checkboxContainer.addView(removePartiallyWatchedCheckbox, + new LayoutParams(MATCH_PARENT, WRAP_CONTENT)); + + new AlertDialog.Builder(requireContext()) + .setMessage(R.string.remove_watched_popup_warning) + .setTitle(R.string.remove_watched_popup_title) + .setView(checkboxContainer) + .setPositiveButton(R.string.yes, (d, id) -> + removeWatchedStreams(removePartiallyWatchedCheckbox.isChecked())) + .setNegativeButton(R.string.cancel, (d, id) -> d.cancel()) + .show(); + } + public void setTabsPagerAdapter( @Nullable final MainFragment.SelectedTabsPagerAdapter tabsPagerAdapter) { this.tabsPagerAdapter = tabsPagerAdapter;