From 30e33d59e885195bbc67530c937371cfca41bef0 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Tue, 22 Jul 2025 16:03:37 +0200 Subject: [PATCH 01/23] Use correct fix for nextPage being null while creating error report in SearchFragment.handleNextItems() --- .../newpipe/fragments/list/search/SearchFragment.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java index fc95312ea..6916ca826 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java @@ -1089,8 +1089,9 @@ public class SearchFragment extends BaseListFragment result) { showListFooter(false); infoListAdapter.addInfoItemList(result.getItems()); - nextPage = result.getNextPage(); + // nextPage should not be null here because it refers to the page + // which results are handled here, but we check it anyway if (!result.getErrors().isEmpty() && nextPage != null) { showSnackBarError(new ErrorInfo(result.getErrors(), UserAction.SEARCHED, "\"" + searchString + "\" → pageUrl: " + nextPage.getUrl() + ", " @@ -1098,6 +1099,10 @@ public class SearchFragment extends BaseListFragment Date: Thu, 17 Jul 2025 10:32:31 +0200 Subject: [PATCH 02/23] Release v0.28.0 (1005) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a629f65eb..54bd86a72 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -23,9 +23,9 @@ android { if (System.properties.containsKey('versionCodeOverride')) { versionCode System.getProperty('versionCodeOverride') as Integer } else { - versionCode 1004 + versionCode 1005 } - versionName "0.27.7" + versionName "0.28.0" if (System.properties.containsKey('versionNameSuffix')) { versionNameSuffix System.getProperty('versionNameSuffix') } From 9f526e8e8f649482292ee766d3d3988f4ddb7ebe Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Thu, 24 Jul 2025 07:56:08 +0530 Subject: [PATCH 03/23] Fix short count formatting for Android versions below 7.0 --- .../org/schabi/newpipe/util/Localization.java | 18 +++++++++++------- app/src/main/res/values-ar-rLY/strings.xml | 3 --- app/src/main/res/values-ar/strings.xml | 3 --- app/src/main/res/values-az/strings.xml | 3 --- app/src/main/res/values-b+ast/strings.xml | 3 --- app/src/main/res/values-b+uz+Latn/strings.xml | 3 --- app/src/main/res/values-be/strings.xml | 3 --- app/src/main/res/values-ber/strings.xml | 3 --- app/src/main/res/values-bg/strings.xml | 3 --- app/src/main/res/values-bn-rBD/strings.xml | 3 --- app/src/main/res/values-bn/strings.xml | 3 --- app/src/main/res/values-ca/strings.xml | 3 --- app/src/main/res/values-ckb/strings.xml | 3 --- app/src/main/res/values-cs/strings.xml | 3 --- app/src/main/res/values-da/strings.xml | 3 --- app/src/main/res/values-de/strings.xml | 3 --- app/src/main/res/values-el/strings.xml | 3 --- app/src/main/res/values-eo/strings.xml | 3 --- app/src/main/res/values-es/strings.xml | 3 --- app/src/main/res/values-et/strings.xml | 3 --- app/src/main/res/values-eu/strings.xml | 3 --- app/src/main/res/values-fa/strings.xml | 3 --- app/src/main/res/values-fi/strings.xml | 3 --- app/src/main/res/values-fr/strings.xml | 3 --- app/src/main/res/values-gl/strings.xml | 3 --- app/src/main/res/values-he/strings.xml | 3 --- app/src/main/res/values-hi/strings.xml | 3 --- app/src/main/res/values-hr/strings.xml | 3 --- app/src/main/res/values-hu/strings.xml | 3 --- app/src/main/res/values-in/strings.xml | 3 --- app/src/main/res/values-is/strings.xml | 3 --- app/src/main/res/values-it/strings.xml | 3 --- app/src/main/res/values-ja/strings.xml | 3 --- app/src/main/res/values-ka/strings.xml | 3 --- app/src/main/res/values-kab/strings.xml | 2 -- app/src/main/res/values-kmr/strings.xml | 3 --- app/src/main/res/values-ko/strings.xml | 3 --- app/src/main/res/values-ku/strings.xml | 3 --- app/src/main/res/values-lt/strings.xml | 3 --- app/src/main/res/values-lv/strings.xml | 3 --- app/src/main/res/values-mk/strings.xml | 3 --- app/src/main/res/values-ml/strings.xml | 3 --- app/src/main/res/values-mr/strings.xml | 3 --- app/src/main/res/values-ms/strings.xml | 3 --- app/src/main/res/values-nb-rNO/strings.xml | 3 --- app/src/main/res/values-ne/strings.xml | 3 --- app/src/main/res/values-nl-rBE/strings.xml | 3 --- app/src/main/res/values-nl/strings.xml | 3 --- app/src/main/res/values-nqo/strings.xml | 3 --- app/src/main/res/values-or/strings.xml | 3 --- app/src/main/res/values-pa/strings.xml | 3 --- app/src/main/res/values-pl/strings.xml | 5 +---- app/src/main/res/values-pt-rBR/strings.xml | 3 --- app/src/main/res/values-pt-rPT/strings.xml | 3 --- app/src/main/res/values-pt/strings.xml | 3 --- app/src/main/res/values-ro/strings.xml | 3 --- app/src/main/res/values-ru/strings.xml | 3 --- app/src/main/res/values-ryu/strings.xml | 3 --- app/src/main/res/values-sat/strings.xml | 3 --- app/src/main/res/values-sc/strings.xml | 3 --- app/src/main/res/values-sk/strings.xml | 3 --- app/src/main/res/values-sl/strings.xml | 3 --- app/src/main/res/values-so/strings.xml | 3 --- app/src/main/res/values-sq/strings.xml | 3 --- app/src/main/res/values-sr/strings.xml | 3 --- app/src/main/res/values-sv/strings.xml | 3 --- app/src/main/res/values-ta/strings.xml | 3 --- app/src/main/res/values-te/strings.xml | 3 --- app/src/main/res/values-th/strings.xml | 3 --- app/src/main/res/values-tr/strings.xml | 3 --- app/src/main/res/values-tzm/strings.xml | 1 - app/src/main/res/values-uk/strings.xml | 3 --- app/src/main/res/values-und/strings.xml | 1 - app/src/main/res/values-ur/strings.xml | 3 --- app/src/main/res/values-vi/strings.xml | 3 --- app/src/main/res/values-zh-rCN/strings.xml | 3 --- app/src/main/res/values-zh-rHK/strings.xml | 3 --- app/src/main/res/values-zh-rTW/strings.xml | 3 --- app/src/main/res/values/strings.xml | 6 +++--- 79 files changed, 15 insertions(+), 237 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index 2bd4664ae..d47cb918e 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -191,14 +191,14 @@ public final class Localization { final double value = (double) count; if (count >= 1000000000) { - return localizeNumber(round(value / 1000000000)) - + context.getString(R.string.short_billion); + return context.getString(R.string.short_billion, + localizeNumber(round(value / 1000000000))); } else if (count >= 1000000) { - return localizeNumber(round(value / 1000000)) - + context.getString(R.string.short_million); + return context.getString(R.string.short_million, + localizeNumber(round(value / 1000000))); } else if (count >= 1000) { - return localizeNumber(round(value / 1000)) - + context.getString(R.string.short_thousand); + return context.getString(R.string.short_thousand, + localizeNumber(round(value / 1000, 0))); } else { return localizeNumber(value); } @@ -417,7 +417,11 @@ public final class Localization { } private static double round(final double value) { - return new BigDecimal(value).setScale(1, RoundingMode.HALF_UP).doubleValue(); + return round(value, 1); + } + + private static double round(final double value, final int scale) { + return new BigDecimal(value).setScale(scale, RoundingMode.HALF_UP).doubleValue(); } private static String getQuantity(@NonNull final Context context, diff --git a/app/src/main/res/values-ar-rLY/strings.xml b/app/src/main/res/values-ar-rLY/strings.xml index 0ab5fe741..7f881a9c2 100644 --- a/app/src/main/res/values-ar-rLY/strings.xml +++ b/app/src/main/res/values-ar-rLY/strings.xml @@ -75,13 +75,11 @@ الملفات المحملة لا يوجد مثل هذا الملف/مصدر المحتوى الأكثر إعجابًا - بليون تعذر تحميل موجز \'%s\'. ؟ التحقق من وجود تحديثات مثيلات خوادم پيرتيوب +100 فيديو - ألف مثيل الخادم موجود بالفعل طلب تأكيد قبل مسح قائمة الانتظار المشتركون @@ -649,7 +647,6 @@ تسريع إلى الأمام/-ترجيع وقت البحث تم رفضها من قبل النظام ليس هناك تعليقات - مليون جاري التحقق من وجود تحديثات… المحتوى اسأل عن مكان التنزيل diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index fff1dd3a9..9b6c1a414 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -116,9 +116,6 @@ لا شيء هنا سوى الصراصير الصوت إعادة المحاولة - ألف - مليون - بليون ليس هناك مشترِكون %s مشارك diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 682dda98f..78cb6c013 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -297,9 +297,6 @@ Bəyən Bəyənmə Yenidən sıralamaq üçün sürüklə - min - Mln - Mlrd Xidməti dəyiş, hazırda seçilmiş: Abunəçi yoxdur Baxış yoxdur diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml index 51b4fdec0..81b212f80 100644 --- a/app/src/main/res/values-b+ast/strings.xml +++ b/app/src/main/res/values-b+ast/strings.xml @@ -43,9 +43,6 @@ Tarrezmes Formatu de videu predetermináu Prietu - mil - mill. - mil mill. Precísase esti permisu p\'abrir \nnel mou ventanu Retu de reCAPTCHA 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 b556da756..2be37ea7c 100644 --- a/app/src/main/res/values-b+uz+Latn/strings.xml +++ b/app/src/main/res/values-b+uz+Latn/strings.xml @@ -267,9 +267,6 @@ Obunachilar yo\'q Hozirda tanlangan xizmatni yoqish: - B - M - k Qayta Audio Video diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 22f963def..968aafaba 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -159,9 +159,6 @@ Відэа Аўдыя Паспрабаваць зноў - тыс. - млн - млрд Няма падпісчыкаў %s падпісчык diff --git a/app/src/main/res/values-ber/strings.xml b/app/src/main/res/values-ber/strings.xml index 3912381fc..39247f49b 100644 --- a/app/src/main/res/values-ber/strings.xml +++ b/app/src/main/res/values-ber/strings.xml @@ -45,9 +45,6 @@ ∞ ⵉⴼⵉⴷⵢⵓⵜⵏ 100+ ⵉⴼⵉⴷⵢⵓⵜⵏ - - - ⴰⵎⵙⵍⴰⵢ ⴰⴼⵉⴷⵢⵓ ⵉⵔⵉⵜⵏ diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index c6d4d76ce..e57413b9d 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -183,9 +183,6 @@ Името на файла не може да бъде празно Възникна грешка: %1$s Не са налични източници за изтегляне - хил. - млн. - млрд. Няма абонати Създай Откажи diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml index ddc32e418..2b0ffe918 100644 --- a/app/src/main/res/values-bn-rBD/strings.xml +++ b/app/src/main/res/values-bn-rBD/strings.xml @@ -82,9 +82,6 @@ ভিডিও অডিও পুনরায় চেষ্টা করো - হা - M - বি শুরু বিরতি diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 715c9146e..5721f12ee 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -104,9 +104,6 @@ কোন ভিডিও নেই কোন ভিউ নেই কোন সাবস্ক্রাইবার নেই - B - M - K পুনরায় চেষ্টা করো অডিও ভিডিও diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 123a5ef67..819c9ff0b 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -231,9 +231,6 @@ S\'està recuperant el reproductor després de l\'error Bé, és lamentable. Arrossegueu per reordenar la llista - mil - milions - mil milions Inicia Feu un toc aquí per a més detalls Defineix una carpeta de baixades més endavant als paràmetres diff --git a/app/src/main/res/values-ckb/strings.xml b/app/src/main/res/values-ckb/strings.xml index 649e6e73c..7c23d1d1d 100644 --- a/app/src/main/res/values-ckb/strings.xml +++ b/app/src/main/res/values-ckb/strings.xml @@ -25,7 +25,6 @@ ژمارەی بەژداری نادیارە ناتوانرێت لەسەر ئەو فایله‌وه‌ جێگیر بکرێت په‌ڕه‌ هەڵبژێرە - ملیۆن +١٠٠ ڤیدیۆیان لێده‌ر هاوردە @@ -46,7 +45,6 @@ ئەمە لەسەر ڕێکخستنەکانی ئێستات جێگیر دەبێت. پەیامەکانی نیوپایپ نیوپایپ لەلایەن چەند خۆبەخشێکەوە دروستکراوە کە کاته‌كانی خۆیان پێ بەخشیووە تاکو باشترین خزمەتگوزاریت پێشکەش بکەن. هیچ نەبێت بە کڕینی کوپێک قاوە یارمەتی گەشەپێدەرەکانمان بدە بۆ ئەوەی کاتی زیاتر تەرخان بکەین بۆ بەرەوپێشبردنی نیوپایپ. - ملیار گەڕانی پێشنیارکراوەکان خێرا فایل سڕایەوە @@ -373,7 +371,6 @@ ناتوانرێت داببه‌زێنرێت ناتوانرێت بە ڕاژەكه‌وە پەیوەست ببیت لێدانی ڤیدیۆ، مه‌ودا: - هەزار زۆرترین بەدڵ سڕینەوە جۆری بنەڕەتی ڤیدیۆ diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index ea531408f..6ff8296e6 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -83,9 +83,7 @@ Určete prosím složku pro stahování později v nastavení Co:\\nŽádost:\\nJazyk obsahu:\\nZemě obsahu:\\nJazyk aplikace:\\nSlužba:\\nČas GMT:\\nBalíček:\\nVerze:\\nVerze OS: Vše - tis. Otevřít ve vyskakovacím okně - mil. Toto oprávnění je vyžadováno \npro otevření ve vyskakovacím okně Odstraňuje zvuk v některých rozlišeních @@ -124,7 +122,6 @@ Oznámení pro NewPipe přehrávač Žádné výsledky Je tu sranda jak v márnici - mld. Žádní odběratelé %s odběratel diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index cecdcc4fe..db464ca61 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -305,9 +305,6 @@ Stop Hændelser Ikke andet end fårekyllinger her - t - mio. - mia. %s abonnent %s abonnenter diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 309709f47..a741d743a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -69,9 +69,6 @@ Fehlerbericht Löschen Prüfsumme - Tsd. - Mio. - Mrd. Dateiname Fehler Bitte warten … diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 67a24bd4f..f66f24d46 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -41,7 +41,6 @@ Μικρογραφία εικόνας προφίλ του χρήστη Like Dislike - δισ/ρια Άνοιγμα σε αναδυόμενο παράθυρο Εγγραφή Εγγεγραμμένος @@ -169,8 +168,6 @@ Δεν υπάρχει τίποτα εδώ Σύρετε για ταξινόμηση Προσπάθεια εκ νέου - χιλ. - εκ/ρια Κανένας συνδρομητής %s συνδρομητής diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 1da4d536c..408035e00 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -261,9 +261,6 @@ %s spekto %s spektoj - k - M - Mrd Pri NewPipe Eksteraj permesiloj © %1$s de %2$s sub %3$s diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 610d900ec..a1ee4f092 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -81,9 +81,6 @@ Qué:\\nSolicitud:\\nIdioma del contenido:\\nPaís del contenido:\\nIdioma de la aplicación:\\nServicio:\\nMarca de tiempo:\\nPaquete:\\nVersión:\\nVersión del SO: Negro Todo - k - M - MM Abrir en modo emergente Se necesita este permiso \npara abrir en modo emergente diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 9f9c7207c..170c54060 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -154,9 +154,6 @@ Video Audio Proovi uuesti - tuh - mln - mld Tellijaid pole %s tellija diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 16054d9ae..20a7148eb 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -84,9 +84,6 @@ Bideoa Audioa Saiatu berriro - k - M - MM Hasi Pausatu Ezabatu diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 3bba8efb8..8b8fdd281 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -148,9 +148,6 @@ خطایی رخ داد: %1$s جریانی برای بارگیری در دسترس نیست بدون نتیجه - K - M - B %s مشترک %s مشترک diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 20734dd26..0c092284c 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -102,9 +102,6 @@ Video Ääni Toista uudelleen - t. - milj. - bilj. Ei tilaajia %s tilaaja diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c3fe5cf58..934a5a877 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -87,8 +87,6 @@ Lecture en mode flottant Désactivés Quoi :\\nRequest :\\nContent Language :\\nContent Country :\\nApp Language :\\nService :\\nGMT Time :\\nPackage :\\nVersion :\\nOS version : - k - M Cette autorisation est nécessaire pour \nutiliser le mode flottant Arrière-plan @@ -100,7 +98,6 @@ Mémoriser les propriétés de la fenêtre flottante Mémoriser les dernières taille et position de la fenêtre flottante Effacer - G Le son peut être absent à certaines définitions Suggestions de recherche Sélectionner les suggestions à afficher lors d’une recherche diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index d345b9385..3d98682be 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -158,9 +158,6 @@ Vídeo Audio Tentar de novo - k - M - B Ningún subscrito %s subscrito diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index bd560f07b..f17abc60d 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -112,9 +112,6 @@ סרטון שמע ניסיון חוזר - אלפ. - מיל. - מיליארד אין מנויים מנוי אחד diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 37282a0da..7fff20f52 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -126,9 +126,6 @@ वीडियो ऑडियो फिर से कोशिश करें - हज़ार - मिलियन - अरब कोई सब्सक्राइबर नहीं %s सब्सक्राइबर diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index c4cd60c0b..414fdf185 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -97,9 +97,6 @@ Video Audio Pokušaj ponovo - tis. - mil - mlrd. Počni Pauziraj Izbriši diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 14c55b772..d2b84fd2f 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -166,9 +166,6 @@ Nincs letölthető adatfolyam Nincs itt semmi pár tücskön kívül Húzza az átrendezéshez - e - m - M Nincs feliratkozó %s feliratkozó diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 19f867d7c..dba4b2daf 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -82,9 +82,6 @@ Meminta kode reCAPTCHA Hitam Semua - r - J - T Buka pada mode sembulan Izin ini dibutuhkan untuk \nmembuka di mode sembul diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index e7ce69e41..5a97af1ac 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -97,7 +97,6 @@ Hljóðstillingar Spila í bakgrunni Þegar hlekkur er opnaður — %s - þús. Líkar ekki við Reyna aftur Lýsing @@ -217,7 +216,6 @@ Athugasemd þín (á ensku): Engar niðurstöður Myndskeið - ma. Engin áhorf %s áhorf @@ -352,7 +350,6 @@ Flokkur Merki NewPipe er þróað af sjálfboðaliðum sem eyða frítíma sínum í að færa þér bestu notendaupplifunina. Gefðu til baka til að hjálpa forriturum að gera NewPipe enn betri á meðan þeir njóta kaffibolla. - millj. Slökktu á til að fela lýsingu og viðbótarupplýsingar myndskeiðs Villa kom upp: %1$s Þraut reCAPTCHA diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 4c087f4de..383017ba9 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -82,9 +82,6 @@ Risoluzione reCAPTCHA Nero Tutto - k - M - Mrd È richiesta la risoluzione del reCAPTCHA Apri in modalità popup Riproduzione in modalità popup diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 25c1d9fe9..9e8ec1c88 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -83,9 +83,6 @@ reCAPTCHA を要求しました ブラック すべて - k - M - B ポップアップモードで開く ポップアップモードで開くには \n権限の許可が必要です diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml index 4fc00c0b3..45804fcfa 100644 --- a/app/src/main/res/values-ka/strings.xml +++ b/app/src/main/res/values-ka/strings.xml @@ -237,9 +237,6 @@ ვიდეო აუდიო ხელახლა სცადეთ - ათასი - მლნ - ბლნ სერვისის გადართვა, ამჟამად არჩეულია: გამოწერები არ არის diff --git a/app/src/main/res/values-kab/strings.xml b/app/src/main/res/values-kab/strings.xml index 97476fc46..0ded7974c 100644 --- a/app/src/main/res/values-kab/strings.xml +++ b/app/src/main/res/values-kab/strings.xml @@ -82,7 +82,6 @@ Sider Asfaylu udhim Ttu - A Kter Ih Amazray @@ -128,7 +127,6 @@ Snifel isem Asider ur yeddi ara Tamwalit - o Aɣawas n deffir Amazray yesteɛfay diff --git a/app/src/main/res/values-kmr/strings.xml b/app/src/main/res/values-kmr/strings.xml index b5e5235d5..24bc5574e 100644 --- a/app/src/main/res/values-kmr/strings.xml +++ b/app/src/main/res/values-kmr/strings.xml @@ -49,9 +49,6 @@ Ne abone Karûbarê veguheztinê, niha hatî hilbijartin: - B - M - k Dîsa biceribîne Deng Vîdyo diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index cfc328a20..016be8743 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -116,9 +116,6 @@ 무엇:\\n요청:\\n콘텐츠 언어:\\n콘텐츠 국가:\\n앱 언어:\\n서비스:\\nGMT 시간:\\n패키지:\\n버전:\\nOS 버전: 결과 없음 구독할 항목을 추가하세요 - - 백만 - 십억 구독자 없음 구독자 %s명 diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index 2f3934fff..3dc51fcc8 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -133,9 +133,6 @@ ڤیدیۆ دەنگ هەوڵدانەوە - هەزار - ملیۆن - بلیۆن هیچ بەشداربوویەک نییە %s بەشداربوو diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index feb11a01c..3324b423c 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -139,9 +139,6 @@ Atstatoma po grotuvo klaidos Nėra rezultatų Čia nieko nėra išskyrus svirplius - Tūkst. - Mln. - Mlrd. Nėra prenumeratorių Nėra peržiūrų diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index 2d1c60256..13e163f72 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -136,9 +136,6 @@ Nav abonamentu Izvēlaties pakalpojumu, šobrīd izvēlēts: - B - M - k Atkārtot Audio Video diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 1d3183b10..c131e1fd7 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -146,9 +146,6 @@ Видео Звук Пробај повторно - илјади - M - милијарди Нема зачленети %s зачленет diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 39ce5e57f..adba80891 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -183,9 +183,6 @@ സബ്ക്രൈബേഴ്സ് ഇല്ല സേവനം മാറ്റുക, ഇപ്പോൾ തിരഞ്ഞെടുത്തത്: - B - k - M വീണ്ടും ശ്രമിക്കുക ഓഡിയോ വീഡിയോ diff --git a/app/src/main/res/values-mr/strings.xml b/app/src/main/res/values-mr/strings.xml index 304858d84..7a6b2eda4 100644 --- a/app/src/main/res/values-mr/strings.xml +++ b/app/src/main/res/values-mr/strings.xml @@ -138,11 +138,8 @@ डेबग अपडेट थेट - प्लेलिस्ट - फाईल - के परवाना चेकसम इतिहास diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml index bb0527655..e70e61a74 100644 --- a/app/src/main/res/values-ms/strings.xml +++ b/app/src/main/res/values-ms/strings.xml @@ -171,9 +171,6 @@ Video Audio Cuba semula - K - J - B Tiada pelanggan %s pelanggan diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index c2311585a..027e6fe39 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -89,9 +89,6 @@ Spiller av i oppsprettsmodus Alle Avskrudd - k - M - Mrd. Denne tilgangen trengs for \nåpning i oppsprettsmodus reCAPTCHA-oppgave forespurt diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index dd570b82e..b40145aa6 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -176,9 +176,6 @@ भिडियो अडियो पुन: प्रयास - हजार - करोड - अर्ब कुनै सदस्यहरू छैनन् %s सदस्य diff --git a/app/src/main/res/values-nl-rBE/strings.xml b/app/src/main/res/values-nl-rBE/strings.xml index a78b96585..3b3277307 100644 --- a/app/src/main/res/values-nl-rBE/strings.xml +++ b/app/src/main/res/values-nl-rBE/strings.xml @@ -147,9 +147,6 @@ Video Geluid Opnieuw proberen - k - M - mld. Geen abonnees %s abonnee diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 0c16a5c9b..75822036b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -84,9 +84,6 @@ reCAPTCHA-uitdaging gevraagd Openen in pop-upmodus Alles - dznd. - mln. - mld. Deze machtiging is vereist om te \nopenen in pop-upmodus Speelt af in pop-upmodus diff --git a/app/src/main/res/values-nqo/strings.xml b/app/src/main/res/values-nqo/strings.xml index 016ce1ba2..739193302 100644 --- a/app/src/main/res/values-nqo/strings.xml +++ b/app/src/main/res/values-nqo/strings.xml @@ -178,9 +178,6 @@ ߞߐߝߟߌ߫ ߕߍ߫ ߦߋ߲߬ ߡߍ߲ߕߊ ߞߵߊ߬ ߡߊߛߊ߬ߦߌ߬ - ߥߊ߯ - ߞߋ߲߬ - ߥߟߡ ߞߊ߬ ߥߏ߬ߦߏ߫ ߣߊ߬ߕߊ ߝߙߊ߬ ߕߎ߲߰ߠߌ߲ ߠߊ߫ ߞߍ߲ߖߘߍߡߊߓߟߏ ߡߊ߬ ߞߊ߬ ߕߎ߲߰ߠߌ߲ ߘߐߞߊ߬ߙߊ߲ ߓߟߏߕߎ߰ (ߞߊߣߊ߬ ߡߊߛߊ߬ߦߌ߬) ߥߏ߬ߦߏ߫ ߢߐ߲߰ߘߐ ߟߎ߫ ߟߊ߫ ߕߏߟߏ߲ߟߊ߲߫ ߥߊ߲߬ߥߊ߲ ߣߎߡߊ߲߫ ߕߟߊ ߖߍ߰ߙߍ ߛߎߥߊ߲ߘߌ߫ diff --git a/app/src/main/res/values-or/strings.xml b/app/src/main/res/values-or/strings.xml index cf9ebdb97..519c8aa22 100644 --- a/app/src/main/res/values-or/strings.xml +++ b/app/src/main/res/values-or/strings.xml @@ -438,7 +438,6 @@ ନାପସନ୍ଦ ମନ୍ତବ୍ୟ ଗୁଡିକ ବର୍ଣ୍ଣନା - ନିୟୁତ ସମାଧାନ ପ୍ଲେବେକ୍ ସ୍ପିଡ୍ ନିୟନ୍ତ୍ରଣ ଟେମ୍ପୋ @@ -528,7 +527,6 @@ ସମ୍ବନ୍ଧୀୟ ଆଇଟମ୍ ଗୁଡ଼ିକ ପୁନଃ ସଯାଇବାକୁ ଡ୍ରାଗ୍ କରନ୍ତୁ ବିରାମ - ଵୃନ୍ଦ କୌଣସି ଗ୍ରାହକ ନାହାଁନ୍ତି ସୃଷ୍ଟି କରନ୍ତୁ ବିବରଣୀ ପାଇଁ ଟ୍ୟାପ୍ କରନ୍ତୁ @@ -609,7 +607,6 @@ ବହିଃ-ଚାଳକ ପାଇଁ ଗୁଣବତ୍ତା ଚୟନ କରନ୍ତୁ ପିନ୍ ହୋଇଥିବା ମନ୍ତବ୍ୟ ୱେବସାଇଟ୍ ଖୋଲନ୍ତୁ - ହଜାର ସୂଚନା ପାଇବା… %s ଗ୍ରାହକ diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml index ad14e7d05..a1d144cb2 100644 --- a/app/src/main/res/values-pa/strings.xml +++ b/app/src/main/res/values-pa/strings.xml @@ -153,9 +153,6 @@ ਵੀਡੀਓ ਆਡੀਓ ਦੋਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ - ਹਜ਼ਾਰ - ਮਿਲੀਅਨ - ਅਰਬ ਕੋਈ ਸਬਸਕ੍ਰਾਈਬਰ ਨਹੀਂ %s ਸਬਸਕ੍ਰਾਈਬਰ diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index dc3f88cec..f56ee344d 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -96,10 +96,7 @@ Wszystkie Wyłączone Wyczyść - tys. - mln - mld - To pozwolenie jest wymagane, aby + To pozwolenie jest wymagane, aby \notworzyć w trybie okienkowym Otwórz w trybie okienkowym Tryb okienkowy diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index d13cbcfe3..3c7bc9498 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -90,9 +90,6 @@ Reproduzindo em modo Popup Todos Desativado - mil - mi - bi Essa permissão é necessária \npara abrir em modo Popup Limpar diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 6ceec006e..0d78bd3db 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -229,7 +229,6 @@ OK Não foi possível atualizar a subscrição Sim e também os vídeos parcialmente vistos - M Ainda não há listas de reprodução favoritas %s ouvinte @@ -423,8 +422,6 @@ Importado Automático Substitui o seu histórico, subscrições, listas de reprodução e (opcionalmente) definições - k - MM Remover marcador Útil ao trocar para dados móveis, mas algumas transferências não podem ser suspensas Toque longo para colocar na fila diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 13a536895..b44cd7a21 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -82,9 +82,6 @@ Abrir no modo popup Preto Tudo - K - M - MM Esta permissão é necessária \npara o modo popup Desafio reCAPTCHA diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index eb4e75c28..628e75f16 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -92,9 +92,6 @@ Dezactivat Aplicația/UI s-a oprit Ce:\\nSolicitare:\\nLimba conținutului:\\nȚara conținutului:\\nLimba aplicației:\\nServiciu:\\nOra GMT:\\nPachet:\\nVersiune:\\nVersiune SO: - k - mil. - mld. Elimină sunetul audio la anumite rezoluții Fundal Pop-up diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a512b6fa8..d32375a97 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -94,9 +94,6 @@ Выберите отображаемые предложения поиска Отключено Убирает звук в некоторых разрешениях - млн - млрд - тыс. Разрешение всплывающего окна Помнить последние размер и позицию всплывающего окна Предложения поиска diff --git a/app/src/main/res/values-ryu/strings.xml b/app/src/main/res/values-ryu/strings.xml index 1bc89420c..9041fc462 100644 --- a/app/src/main/res/values-ryu/strings.xml +++ b/app/src/main/res/values-ryu/strings.xml @@ -83,9 +83,6 @@ reCAPTCHAようきゅうさびたん ブラック まじり - k - M - B ポップアップモードっしふぃらちゅん ポップアップモードっしふぃらちゅんがー \nきんぎんぬきょかがふぃちようでぃす diff --git a/app/src/main/res/values-sat/strings.xml b/app/src/main/res/values-sat/strings.xml index a3ed7c405..6e6615a84 100644 --- a/app/src/main/res/values-sat/strings.xml +++ b/app/src/main/res/values-sat/strings.xml @@ -216,8 +216,6 @@ ᱡᱟᱦᱟᱱ ᱡᱤᱱᱤᱥ ᱱᱚᱣᱟ ᱨᱮᱫᱚ ᱡᱟᱹᱥᱛᱤ ᱡᱟᱹᱥᱛᱤ ᱠᱨᱤᱠᱮᱴ ᱢᱮᱱᱟᱜᱼᱟ ᱾ ᱵᱷᱤᱰᱤᱭᱳ - k - M ᱥᱮᱞᱮᱫᱤᱭᱟᱹ ᱠᱚᱣᱟᱜ ᱞᱮᱠᱷᱟ ᱵᱟᱭ ᱦᱟᱹᱴᱤᱧ ᱟᱠᱟᱱᱟ ᱵᱟᱱᱩᱜ ᱧᱮᱞ ᱵᱷᱤᱰᱤᱭᱳ ᱵᱟᱹᱱᱩᱜᱼᱟ @@ -478,7 +476,6 @@ ᱱᱟᱣᱟ ᱟᱹᱨᱡᱤ ᱞᱟᱹᱜᱤᱫ ᱟᱹᱪᱩᱨ ᱢᱮ ᱚᱰᱤᱭᱳ ᱟᱨᱦᱚᱸ ᱯᱟᱲᱦᱟᱣ ᱢᱮ - ᱵᱤ ᱱᱤᱛᱚᱜ ᱵᱟᱪᱷᱟᱣ ᱟᱠᱟᱱ ᱴᱳᱜᱞ ᱥᱮᱵᱟ: ᱚᱵᱷᱤᱱᱮᱛᱟᱨ ᱵᱟᱹᱱᱩᱜᱼᱟ ᱚᱠᱚᱭ ᱦᱚᱸ ᱵᱟᱝ ᱧᱮᱞᱚᱜ ᱠᱟᱱᱟ diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml index 0c42f1ef0..cb51c3f4d 100644 --- a/app/src/main/res/values-sc/strings.xml +++ b/app/src/main/res/values-sc/strings.xml @@ -165,9 +165,6 @@ Perunu iscritu Allughe/istuda su servìtziu. Ischertadu como: - Mrd - Mlln - mìg Torra a proare Àudio Vìdeu diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index ad2dacfd6..d4ac57e1e 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -82,9 +82,6 @@ Výzva reCAPTCHA Čierna Všetko - k - M - B Požiadavka reCAPTCHA Otvoriť vo vyskakovacom okne Tieto práva sú potrebné pre diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index cd41b43ba..3705554bb 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -83,9 +83,6 @@ Predmet:\\nZahteva:\\nJezik vsebine:\\nDržava vsebine:\\nJezik aplikacije:\\nStoritev:\\nČas v GMT:\\nPaket:\\nRazličica:\\nRazličica OS: Črna Vse - k - mio - mrd Odpri v pojavnem načinu To dovoljenje je potrebno za odpiranje \nv pojavnem načinu diff --git a/app/src/main/res/values-so/strings.xml b/app/src/main/res/values-so/strings.xml index 6b4de7353..772e03b41 100644 --- a/app/src/main/res/values-so/strings.xml +++ b/app/src/main/res/values-so/strings.xml @@ -242,9 +242,6 @@ Dad rukuntay ma jiraan Furo adeega, hada waxaa dooran: - B - K - M ku celi Dhagaysi Muuqaal diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml index 162ba5ada..9aac66de7 100644 --- a/app/src/main/res/values-sq/strings.xml +++ b/app/src/main/res/values-sq/strings.xml @@ -295,9 +295,6 @@ Nuk ka abonues Aktivizoje shërbimin, momentalisht e zgjedhur: - B - M - k Riprovo Audio Video diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 99b9e971f..3c82e5612 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -83,9 +83,6 @@ Решите „reCAPTCHA“ задатак Црна Све - хиљ. - мил. - млрд. Отвори у искачућем облику Ова дозвола је потребна за \nотварање у искачућем режиму diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 3beab4181..8aab4a67f 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -112,9 +112,6 @@ Video Ljud Försök igen - t - mn - md Inga prenumeranter %s prenumerant diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 906249376..7221ab74d 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -245,7 +245,6 @@ உம் அபிமான பியர்டியூப் நிகழ்வுகளைத் தேர்ந்தெடு உள்ளடக்க இயல்பிருப்பு மொழி இயக்குதலைத் மறுதொடர் - நி நிகழ்வு ஏற்கனவே உள்ளது யூடியூபின் \"கட்டுப்பாடு பயன்முறை\"ஐ இயக்கு பாடல்கள் @@ -260,8 +259,6 @@ என்ன:\\nகோரிக்கை:\\nஉள்ளடக்க மொழி:\\nஉள்ளடக்க நாடு:\\nசெயலி மொழி:\\nசேவை:\\nGMT நேரம்:\\nசிப்பம்:\\nபதிப்பு:\\nOS பதிப்பு: காணொளியை இயக்கு, காலவளவு: கருத்தளிப்புகள் - - ப.ல இயக்கியைச் சிதை பட்டியல்களில் இயக்கக குறியட நிலைகாட்டிகளைக் காட்டு துணையியக்கியில் காணொளிகளை துவக்காதே, ஆனால் தானாக சுழற்றல் பூட்டப்பட்டிருந்தால் நேரடியாக முழுதிரைக்குத் திரும்பு. முழுதிரையை வெளியேறி நீங்கள் இன்னும் துணையியக்கியை அணுகலாம் diff --git a/app/src/main/res/values-te/strings.xml b/app/src/main/res/values-te/strings.xml index c537495ba..b95e04c0c 100644 --- a/app/src/main/res/values-te/strings.xml +++ b/app/src/main/res/values-te/strings.xml @@ -77,9 +77,6 @@ వీడియో ఆడియో మళ్ళీ ప్రయత్నించు - కి - ఎం - బిలియన్ సభ్యులు లేరు %s సభ్యుడు diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index bcbbca0a4..c2cb4669e 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -165,9 +165,6 @@ วิดีโอ เสียง ลองอีกครั้ง - พัน - ล้าน - พันล้าน ไม่มีสมาชิกที่สมัครรับ %s บอกรับ diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index a26016f1a..79bbea486 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -88,9 +88,6 @@ Devre dışı Yorumunuz (İngilizce): Ayrıntılar: - b - M - M Bu izin, açılır pencere kipinde \naçmak için gereklidir reCAPTCHA formu diff --git a/app/src/main/res/values-tzm/strings.xml b/app/src/main/res/values-tzm/strings.xml index 31d89bdd5..b6539d568 100644 --- a/app/src/main/res/values-tzm/strings.xml +++ b/app/src/main/res/values-tzm/strings.xml @@ -113,7 +113,6 @@ Kkes Senulfu Senti - ifḍ Als-arem Imesli Avidyu diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 32e03bea0..c47d2f1fd 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -65,9 +65,6 @@ Відео Аудіо Повторити спробу - тис - млн - млрд Почати Пауза Видалити diff --git a/app/src/main/res/values-und/strings.xml b/app/src/main/res/values-und/strings.xml index 94e4f9dd6..0bd3bf442 100644 --- a/app/src/main/res/values-und/strings.xml +++ b/app/src/main/res/values-und/strings.xml @@ -70,7 +70,6 @@ ویڈیو آڈیو فیر کرو - ہزار بݨاؤ بارے لائیسنس diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 1a434ab63..bb95e2811 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -146,9 +146,6 @@ ویڈیو آڈیو دوبارہ کوشش کریں - ہزار - دہ لاکھ - ارب کوئی صارفین نہیں %s صارف diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index e1073e7af..e8f4ec3f9 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -82,9 +82,6 @@ Video Âm thanh Thử lại - nghìn - triệu - tỉ Bắt đầu Dừng Xóa diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 3c9c79457..9c6c8a9b9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -71,8 +71,6 @@ %s 次观看 - - 百万 开始 暂停 删除 @@ -153,7 +151,6 @@ 详细信息: 播放视频,时长: 视频上传者的头像缩略图 - 十亿 NewPipe 正在下载 请稍后在设置中设定下载目录 使用悬浮窗模式 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 6b5529992..1f258c1db 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -87,8 +87,6 @@ 全部嘢 App/界面閃退 經過:\\n請求:\\n內容語言:\\n內容國家:\\nApp 語言:\\n服務:\\nGMT 時間:\\n封裝:\\n版本:\\nOS 版本: - - 百萬 reCAPTCHA 考驗 以浮面模式開啟 \n有呢個權限至得 @@ -103,7 +101,6 @@ 不適用 抹走 最佳解像度 - 十億 關於 NewPipe 第三方版權協議 © %1$s %2$s 版權所有,根據 %3$s 嘅條款授權 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index b9ca2d3ce..be46b83a1 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -82,9 +82,6 @@ 影片 音訊 重試 - - 百萬 - 十億 開始 暫停 刪除 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6ab2fc7a5..ff23f1c2b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -287,9 +287,9 @@ Video Audio Retry - k - M - B + %sK + %sM + %sB Toggle service, currently selected: No subscribers From a9ce2e960561ca0687ebf54d21a1c904a8ed3bca Mon Sep 17 00:00:00 2001 From: TobiGr Date: Sun, 27 Jul 2025 09:39:53 +0200 Subject: [PATCH 04/23] Update USER_AGENT to Firefox 140 ESR --- app/src/main/java/org/schabi/newpipe/DownloaderImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java index 5159fbfdc..6ccc2437a 100644 --- a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java +++ b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java @@ -29,7 +29,7 @@ import okhttp3.ResponseBody; public final class DownloaderImpl extends Downloader { public static final String USER_AGENT = - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0"; + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0"; public static final String YOUTUBE_RESTRICTED_MODE_COOKIE_KEY = "youtube_restricted_mode_key"; public static final String YOUTUBE_RESTRICTED_MODE_COOKIE = "PREF=f2=8000000"; From 9f11db8e06385a726105bc63032320e80954a2fe Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Mon, 28 Jul 2025 09:02:52 +0530 Subject: [PATCH 05/23] Improve scale display --- .../org/schabi/newpipe/util/Localization.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index d47cb918e..da4edeca6 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -191,14 +191,20 @@ public final class Localization { final double value = (double) count; if (count >= 1000000000) { + final double shortenedValue = value / 1000000000; + final int scale = shortenedValue >= 100 ? 0 : 1; return context.getString(R.string.short_billion, - localizeNumber(round(value / 1000000000))); + localizeNumber(round(shortenedValue, scale))); } else if (count >= 1000000) { + final double shortenedValue = value / 1000000; + final int scale = shortenedValue >= 100 ? 0 : 1; return context.getString(R.string.short_million, - localizeNumber(round(value / 1000000))); + localizeNumber(round(shortenedValue, scale))); } else if (count >= 1000) { + final double shortenedValue = value / 1000; + final int scale = shortenedValue >= 100 ? 0 : 1; return context.getString(R.string.short_thousand, - localizeNumber(round(value / 1000, 0))); + localizeNumber(round(shortenedValue, scale))); } else { return localizeNumber(value); } @@ -416,10 +422,6 @@ public final class Localization { } } - private static double round(final double value) { - return round(value, 1); - } - private static double round(final double value, final int scale) { return new BigDecimal(value).setScale(scale, RoundingMode.HALF_UP).doubleValue(); } From 9ba30887f9f58f8cd545996a14e0117b815b68fc Mon Sep 17 00:00:00 2001 From: Stypox Date: Mon, 28 Jul 2025 14:43:46 +0200 Subject: [PATCH 06/23] Improve null checking further in SearchFragment.handleNextItems --- .../fragments/list/search/SearchFragment.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java index 6916ca826..cea06b942 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java @@ -1090,14 +1090,19 @@ public class SearchFragment extends BaseListFragment Date: Sat, 26 Jul 2025 15:43:36 +0200 Subject: [PATCH 07/23] Use regions --- .../newpipe/player/helper/PlayerHelper.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java b/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java index a110a80d6..791346d66 100644 --- a/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java +++ b/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java @@ -89,9 +89,7 @@ public final class PlayerHelper { private PlayerHelper() { } - //////////////////////////////////////////////////////////////////////////// - // Exposed helpers - //////////////////////////////////////////////////////////////////////////// + // region Exposed helpers @NonNull public static String getTimeString(final int milliSeconds) { @@ -219,9 +217,8 @@ public final class PlayerHelper { ? null : getAutoQueuedSinglePlayQueue(autoQueueItems.get(0)); } - //////////////////////////////////////////////////////////////////////////// - // Settings Resolution - //////////////////////////////////////////////////////////////////////////// + // endregion + // region Resolution public static boolean isResumeAfterAudioFocusGain(@NonNull final Context context) { return getPreferences(context) @@ -405,9 +402,8 @@ public final class PlayerHelper { return Integer.parseInt(preferredIntervalBytes) * 1024; } - //////////////////////////////////////////////////////////////////////////// - // Private helpers - //////////////////////////////////////////////////////////////////////////// + // endregion + // region Private helpers @NonNull private static SharedPreferences getPreferences(@NonNull final Context context) { @@ -427,9 +423,8 @@ public final class PlayerHelper { } - //////////////////////////////////////////////////////////////////////////// - // Utils used by player - //////////////////////////////////////////////////////////////////////////// + // endregion + // region Utils used by player @RepeatMode public static int nextRepeatMode(@RepeatMode final int repeatMode) { @@ -503,4 +498,6 @@ public final class PlayerHelper { player.getContext().getString(R.string.seek_duration_key), player.getContext().getString(R.string.seek_duration_default_value)))); } + + // endregion } From 70841db92ff1d8208acdd687973c40c9a76b01d6 Mon Sep 17 00:00:00 2001 From: litetex <40789489+litetex@users.noreply.github.com> Date: Sat, 26 Jul 2025 15:43:46 +0200 Subject: [PATCH 08/23] Cleanup ``Localization`` formatting --- .../main/java/org/schabi/newpipe/util/Localization.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index 2bd4664ae..bd5463088 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -127,14 +127,13 @@ public final class Localization { } public static String localizeNumber(final double number) { - final NumberFormat nf = NumberFormat.getInstance(getAppLocale()); - return nf.format(number); + return NumberFormat.getInstance(getAppLocale()).format(number); } public static String formatDate(@NonNull final OffsetDateTime offsetDateTime) { return DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM) - .withLocale(getAppLocale()).format(offsetDateTime - .atZoneSameInstant(ZoneId.systemDefault())); + .withLocale(getAppLocale()) + .format(offsetDateTime.atZoneSameInstant(ZoneId.systemDefault())); } @SuppressLint("StringFormatInvalid") From ebd5e1a3180671ec0c5b2e3b72a67dbf28d8e543 Mon Sep 17 00:00:00 2001 From: litetex <40789489+litetex@users.noreply.github.com> Date: Sat, 26 Jul 2025 16:01:25 +0200 Subject: [PATCH 09/23] Remove unused method --- .../schabi/newpipe/player/helper/PlayerHelper.java | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java b/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java index 791346d66..d3e10da5d 100644 --- a/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java +++ b/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java @@ -117,18 +117,6 @@ public final class PlayerHelper { return PITCH_FORMATTER.format(pitch); } - @NonNull - public static String subtitleMimeTypesOf(@NonNull final MediaFormat format) { - switch (format) { - case VTT: - return MimeTypes.TEXT_VTT; - case TTML: - return MimeTypes.APPLICATION_TTML; - default: - throw new IllegalArgumentException("Unrecognized mime type: " + format.name()); - } - } - @NonNull public static String captionLanguageOf(@NonNull final Context context, @NonNull final SubtitlesStream subtitles) { From 893a1cb699f2e74af85ab70a57da82111b7b64b8 Mon Sep 17 00:00:00 2001 From: litetex <40789489+litetex@users.noreply.github.com> Date: Sat, 26 Jul 2025 16:06:44 +0200 Subject: [PATCH 10/23] Encapsulate Formatters in PlayerHelper and reset them when the language is changed/changing. This way they will be re-initialized on the next call. Also Remove a bunch of outdated/non-thread safe code (STRING_FORMATTER) --- .../newpipe/player/helper/PlayerHelper.java | 71 ++++++++++++++----- .../settings/ContentSettingsFragment.java | 3 + 2 files changed, 57 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java b/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java index d3e10da5d..266d65f36 100644 --- a/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java +++ b/app/src/main/java/org/schabi/newpipe/player/helper/PlayerHelper.java @@ -33,11 +33,9 @@ import com.google.android.exoplayer2.trackselection.ExoTrackSelection; import com.google.android.exoplayer2.ui.AspectRatioFrameLayout; import com.google.android.exoplayer2.ui.AspectRatioFrameLayout.ResizeMode; import com.google.android.exoplayer2.ui.CaptionStyleCompat; -import com.google.android.exoplayer2.util.MimeTypes; import org.schabi.newpipe.R; import org.schabi.newpipe.extractor.InfoItem; -import org.schabi.newpipe.extractor.MediaFormat; import org.schabi.newpipe.extractor.stream.StreamInfo; import org.schabi.newpipe.extractor.stream.StreamInfoItem; import org.schabi.newpipe.extractor.stream.SubtitlesStream; @@ -47,13 +45,14 @@ import org.schabi.newpipe.player.playqueue.PlayQueue; import org.schabi.newpipe.player.playqueue.PlayQueueItem; import org.schabi.newpipe.player.playqueue.SinglePlayQueue; import org.schabi.newpipe.util.ListHelper; +import org.schabi.newpipe.util.Localization; import java.lang.annotation.Retention; import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Collections; -import java.util.Formatter; import java.util.HashSet; import java.util.List; import java.util.Locale; @@ -62,11 +61,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; public final class PlayerHelper { - private static final StringBuilder STRING_BUILDER = new StringBuilder(); - private static final Formatter STRING_FORMATTER = - new Formatter(STRING_BUILDER, Locale.getDefault()); - private static final NumberFormat SPEED_FORMATTER = new DecimalFormat("0.##x"); - private static final NumberFormat PITCH_FORMATTER = new DecimalFormat("##%"); + private static final FormattersProvider FORMATTERS_PROVIDER = new FormattersProvider(); @Retention(SOURCE) @IntDef({AUTOPLAY_TYPE_ALWAYS, AUTOPLAY_TYPE_WIFI, @@ -91,6 +86,10 @@ public final class PlayerHelper { // region Exposed helpers + public static void resetFormat() { + FORMATTERS_PROVIDER.reset(); + } + @NonNull public static String getTimeString(final int milliSeconds) { final int seconds = (milliSeconds % 60000) / 1000; @@ -98,23 +97,24 @@ public final class PlayerHelper { final int hours = (milliSeconds % 86400000) / 3600000; final int days = (milliSeconds % (86400000 * 7)) / 86400000; - STRING_BUILDER.setLength(0); - return (days > 0 - ? STRING_FORMATTER.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds) - : hours > 0 - ? STRING_FORMATTER.format("%d:%02d:%02d", hours, minutes, seconds) - : STRING_FORMATTER.format("%02d:%02d", minutes, seconds) - ).toString(); + final Formatters formatters = FORMATTERS_PROVIDER.formatters(); + if (days > 0) { + return formatters.stringFormat("%d:%02d:%02d:%02d", days, hours, minutes, seconds); + } + + return hours > 0 + ? formatters.stringFormat("%d:%02d:%02d", hours, minutes, seconds) + : formatters.stringFormat("%02d:%02d", minutes, seconds); } @NonNull public static String formatSpeed(final double speed) { - return SPEED_FORMATTER.format(speed); + return FORMATTERS_PROVIDER.formatters().speed().format(speed); } @NonNull public static String formatPitch(final double pitch) { - return PITCH_FORMATTER.format(pitch); + return FORMATTERS_PROVIDER.formatters().pitch().format(pitch); } @NonNull @@ -487,5 +487,42 @@ public final class PlayerHelper { player.getContext().getString(R.string.seek_duration_default_value)))); } + // endregion + // region Format + + static class FormattersProvider { + private Formatters formatters; + + public Formatters formatters() { + if (formatters == null) { + formatters = Formatters.create(); + } + return formatters; + } + + public void reset() { + formatters = null; + } + } + + record Formatters( + Locale locale, + NumberFormat speed, + NumberFormat pitch) { + + static Formatters create() { + final Locale locale = Localization.getAppLocale(); + final DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(locale); + return new Formatters( + locale, + new DecimalFormat("0.##x", dfs), + new DecimalFormat("##%", dfs)); + } + + String stringFormat(final String format, final Object... args) { + return String.format(locale, format, args); + } + } + // endregion } diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index ffc80e30e..e1d0e7be3 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -16,6 +16,7 @@ import androidx.preference.Preference; import org.schabi.newpipe.DownloaderImpl; import org.schabi.newpipe.R; import org.schabi.newpipe.extractor.NewPipe; +import org.schabi.newpipe.player.helper.PlayerHelper; import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.image.ImageStrategy; import org.schabi.newpipe.util.image.PicassoHelper; @@ -53,6 +54,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { final Intent intent = new Intent(Settings.ACTION_APP_LOCALE_SETTINGS) .setData(Uri.fromParts("package", requireContext().getPackageName(), null)); startActivity(intent); + PlayerHelper.resetFormat(); return true; }); newAppLanguagePref.setVisible(true); @@ -64,6 +66,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { final String systemLang = getString(R.string.default_localization_key); final String tag = systemLang.equals(language) ? null : language; AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(tag)); + PlayerHelper.resetFormat(); return true; }); } From eea2b7417efa09d04b6c88aae9d76266d6852297 Mon Sep 17 00:00:00 2001 From: Stypox Date: Mon, 28 Jul 2025 15:29:06 +0200 Subject: [PATCH 11/23] Fix player formatters resetting too early on language change formatters() is called again by the player before the user has a chance to click on the language in the language chooser. So the correct solution would probably be to attach to https://developer.android.com/reference/android/content/Intent#ACTION_LOCALE_CHANGED, but let's keep it simple. I added `PlayerHelper.resetFormat();` in `ContentSettingsFragment.onDestroy()` and it works. It will mean the player formatters will be reset every time the user exits content settings, but whatever. --- .../org/schabi/newpipe/settings/ContentSettingsFragment.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index e1d0e7be3..b855f7c38 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -54,7 +54,6 @@ public class ContentSettingsFragment extends BasePreferenceFragment { final Intent intent = new Intent(Settings.ACTION_APP_LOCALE_SETTINGS) .setData(Uri.fromParts("package", requireContext().getPackageName(), null)); startActivity(intent); - PlayerHelper.resetFormat(); return true; }); newAppLanguagePref.setVisible(true); @@ -66,7 +65,6 @@ public class ContentSettingsFragment extends BasePreferenceFragment { final String systemLang = getString(R.string.default_localization_key); final String tag = systemLang.equals(language) ? null : language; AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(tag)); - PlayerHelper.resetFormat(); return true; }); } @@ -110,5 +108,6 @@ public class ContentSettingsFragment extends BasePreferenceFragment { NewPipe.setupLocalization( Localization.getPreferredLocalization(context), Localization.getPreferredContentCountry(context)); + PlayerHelper.resetFormat(); } } From 6516fb96fd345076d6a1ce21759b61323c96eb98 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Mon, 28 Jul 2025 20:39:59 +0200 Subject: [PATCH 12/23] Translated using Weblate (Romanian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (748 of 748 strings) Translated using Weblate (Arabic) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Russian) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Arabic) Currently translated at 100.0% (748 of 748 strings) Translated using Weblate (Arabic) Currently translated at 100.0% (748 of 748 strings) Translated using Weblate (Russian) Currently translated at 100.0% (748 of 748 strings) Translated using Weblate (Turkish) Currently translated at 100.0% (748 of 748 strings) Translated using Weblate (Indonesian) Currently translated at 100.0% (748 of 748 strings) Translated using Weblate (French) Currently translated at 100.0% (748 of 748 strings) Translated using Weblate (Icelandic) Currently translated at 99.4% (745 of 749 strings) Translated using Weblate (Estonian) Currently translated at 18.6% (16 of 86 strings) Translated using Weblate (Slovak) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Portuguese (Portugal)) Currently translated at 99.5% (746 of 749 strings) Translated using Weblate (Belarusian) Currently translated at 99.7% (747 of 749 strings) Translated using Weblate (Estonian) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Bulgarian) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Hebrew) Currently translated at 99.7% (747 of 749 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Polish) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Czech) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Slovak) Currently translated at 99.7% (747 of 749 strings) Translated using Weblate (Greek) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Portuguese) Currently translated at 99.5% (746 of 749 strings) Translated using Weblate (Italian) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Hungarian) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (German) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (German) Currently translated at 100.0% (749 of 749 strings) Translated using Weblate (Tamazight (Central Atlas)) Currently translated at 19.2% (144 of 749 strings) Translated using Weblate (Macedonian) Currently translated at 79.3% (594 of 749 strings) Translated using Weblate (Slovenian) Currently translated at 54.6% (409 of 749 strings) Translated using Weblate (Tigrinya) Currently translated at 12.7% (95 of 747 strings) Translated using Weblate (Tigrinya) Currently translated at 3.4% (3 of 86 strings) Translated using Weblate (Icelandic) Currently translated at 99.4% (743 of 747 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 90.6% (78 of 86 strings) Translated using Weblate (Slovak) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (French) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Italian) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Italian) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Polish) Currently translated at 58.1% (50 of 86 strings) Translated using Weblate (Hindi) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Hungarian) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Punjabi) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Czech) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (German) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Belarusian) Currently translated at 100.0% (747 of 747 strings) Translated using Weblate (Punjabi) Currently translated at 100.0% (747 of 747 strings) Translated using Weblate (Hindi) Currently translated at 100.0% (747 of 747 strings) Translated using Weblate (Czech) Currently translated at 100.0% (747 of 747 strings) Translated using Weblate (Slovak) Currently translated at 100.0% (747 of 747 strings) Translated using Weblate (Slovak) Currently translated at 100.0% (747 of 747 strings) Translated using Weblate (German) Currently translated at 100.0% (747 of 747 strings) Co-authored-by: 439JBYL80IGQTF25UXNR0X1BG <439JBYL80IGQTF25UXNR0X1BG@users.noreply.hosted.weblate.org> Co-authored-by: Agnieszka C Co-authored-by: Drugi Sapog Co-authored-by: Dual Natan Co-authored-by: Emin Tufan Çetin Co-authored-by: Fjuro Co-authored-by: Ghost of Sparta Co-authored-by: Hakim Oubouali Co-authored-by: Hosted Weblate Co-authored-by: Igor Rückert Co-authored-by: Igor Sorocean Co-authored-by: Jeff Huang Co-authored-by: Marian Hanzel Co-authored-by: Matej U Co-authored-by: Michael Moroni Co-authored-by: Mickaël Binos Co-authored-by: Milan Co-authored-by: NTFSynergy Co-authored-by: Priit Jõerüüt Co-authored-by: Random Co-authored-by: Rex_sa Co-authored-by: Stypox Co-authored-by: Sveinn í Felli Co-authored-by: Trunars Co-authored-by: Vasilis K Co-authored-by: VfBFan Co-authored-by: Yaron Shahrabani Co-authored-by: Yassin Amir Co-authored-by: erti Co-authored-by: ikanakova Co-authored-by: nautilusx Co-authored-by: ssantos Co-authored-by: whistlingwoods <72640314+whistlingwoods@users.noreply.github.com> Co-authored-by: zmni Co-authored-by: Максим Горпиніч Co-authored-by: 大王叫我来巡山 Co-authored-by: 赖诚俊 Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/et/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ti/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/ Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/ Translation: NewPipe/Metadata --- app/src/main/res/values-ar/strings.xml | 5 ++ app/src/main/res/values-be/strings.xml | 71 ++++++++++--------- app/src/main/res/values-bg/strings.xml | 4 +- app/src/main/res/values-cs/strings.xml | 22 +++--- app/src/main/res/values-de/strings.xml | 5 ++ app/src/main/res/values-el/strings.xml | 5 ++ app/src/main/res/values-et/strings.xml | 4 +- app/src/main/res/values-fr/strings.xml | 4 +- app/src/main/res/values-he/strings.xml | 6 +- app/src/main/res/values-hi/strings.xml | 8 +++ app/src/main/res/values-hu/strings.xml | 2 + app/src/main/res/values-in/strings.xml | 9 ++- app/src/main/res/values-is/strings.xml | 8 +++ app/src/main/res/values-it/strings.xml | 2 + app/src/main/res/values-mk/strings.xml | 2 +- app/src/main/res/values-pa/strings.xml | 10 ++- app/src/main/res/values-pl/strings.xml | 2 + app/src/main/res/values-pt-rBR/strings.xml | 5 ++ 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 | 11 ++- app/src/main/res/values-ru/strings.xml | 5 ++ app/src/main/res/values-sk/strings.xml | 53 +++++++------- app/src/main/res/values-sl/strings.xml | 2 +- app/src/main/res/values-ti/strings.xml | 12 ++-- app/src/main/res/values-tr/strings.xml | 10 ++- app/src/main/res/values-tzm/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 8 ++- app/src/main/res/values-zh-rCN/strings.xml | 6 +- app/src/main/res/values-zh-rTW/strings.xml | 4 ++ .../metadata/android/ar/changelogs/1005.txt | 17 +++++ .../metadata/android/cs/changelogs/1005.txt | 17 +++++ .../metadata/android/de/changelogs/1005.txt | 17 +++++ .../metadata/android/et/changelogs/1005.txt | 17 +++++ .../metadata/android/fr/changelogs/1005.txt | 17 +++++ .../metadata/android/hi/changelogs/1005.txt | 17 +++++ .../metadata/android/hu/changelogs/1005.txt | 17 +++++ .../metadata/android/it/changelogs/1005.txt | 17 +++++ .../metadata/android/pa/changelogs/1005.txt | 17 +++++ .../metadata/android/pl/changelogs/1005.txt | 17 +++++ .../metadata/android/ru/changelogs/1005.txt | 17 +++++ .../metadata/android/sk/changelogs/1000.txt | 20 +++--- .../metadata/android/sk/changelogs/1005.txt | 18 +++++ .../metadata/android/sk/full_description.txt | 2 +- .../metadata/android/ti/full_description.txt | 2 +- .../metadata/android/ti/short_description.txt | 2 +- .../metadata/android/uk/changelogs/1002.txt | 5 +- .../metadata/android/uk/changelogs/1003.txt | 7 +- .../metadata/android/uk/changelogs/1004.txt | 4 +- .../metadata/android/uk/changelogs/1005.txt | 17 +++++ .../android/zh-Hans/changelogs/1001.txt | 6 ++ 51 files changed, 448 insertions(+), 113 deletions(-) create mode 100644 fastlane/metadata/android/ar/changelogs/1005.txt create mode 100644 fastlane/metadata/android/cs/changelogs/1005.txt create mode 100644 fastlane/metadata/android/de/changelogs/1005.txt create mode 100644 fastlane/metadata/android/et/changelogs/1005.txt create mode 100644 fastlane/metadata/android/fr/changelogs/1005.txt create mode 100644 fastlane/metadata/android/hi/changelogs/1005.txt create mode 100644 fastlane/metadata/android/hu/changelogs/1005.txt create mode 100644 fastlane/metadata/android/it/changelogs/1005.txt create mode 100644 fastlane/metadata/android/pa/changelogs/1005.txt create mode 100644 fastlane/metadata/android/pl/changelogs/1005.txt create mode 100644 fastlane/metadata/android/ru/changelogs/1005.txt create mode 100644 fastlane/metadata/android/sk/changelogs/1005.txt create mode 100644 fastlane/metadata/android/uk/changelogs/1005.txt create mode 100644 fastlane/metadata/android/zh-Hans/changelogs/1001.txt diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index fff1dd3a9..7e002d88a 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -885,4 +885,9 @@ صفحة مجموعة القناة حدد مجموعة المحتوى لم تنشئ مجموعة محتوى + الإعجابات + البحث %1$s + البحث %1$s (%2$s) + تمت إزالة صفحة أفضل 50 من SoundCloud + أوقفت SoundCloud صفحة أفضل 50 الأصلية. تمت إزالة علامة التبويب المقابلة من صفحتك الرئيسية. diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 22f963def..9f40ae48f 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -55,7 +55,7 @@ Памятаць апошнія памер і пазіцыю ўсплывальнага акна Хуткі пошук пазіцыі Недакладны пошук дазваляе плэеру знаходзіць пазіцыі хутчэй са зніжанай дакладнасцю. Пошук цягам 5, 15 ці 25 секунд пры гэтым немажлівы - Кэш малюнкаў ачышчаны + Кэш відарысаў ачышчаны Ачысціць кэш метаданых Выдаліць усе даныя вэб-старонак у кэшы Кэш метаданых ачышчаны @@ -71,8 +71,8 @@ Працягваць прайграванне пасля перапынкаў (напрыклад, тэлефонных званкоў) Спампаваць «Наступнае» і «Прапанаванае» відэа - Паказваць падказку «Зацісніце, каб дадаць» - Паказваць падказку пры націсканні «У акне» або «У фоне» на старонцы звестак аб відэа + Паказваць падказку «Утрымлівайце, каб дадаць у чаргу» + Паказваць падказку пры націсканні кнопкі «У акне» або «У фоне» на старонцы відэа URL не падтрымліваецца Прадвызначаная краіна кантэнту Прадвызначаная мова кантэнту @@ -137,7 +137,7 @@ Такой папкі не існуе Такога файла або крыніцы кантэнту не існуе Файл не існуе або няма дазволу на яго чытанне ці запіс - Імя файла не можа быць пустым + Назва файла не можа быць пустой Адбылася памылка: %1$s Няма трансляцый, даступных для спампоўвання Прабачце, гэта не павінна было адбыцца. @@ -154,7 +154,7 @@ Спадабалася Не спадабалася Няма вынікаў - Нічога няма, акрамя цвыркуноў + Нічога няма, хоць сабак ганяй Перацягніце, каб змяніць парадак Відэа Аўдыя @@ -191,7 +191,7 @@ Адхіліць Перайменаваць ОК - Імя файла + Назва файла Патокі Памылка NewPipe спампоўвае @@ -204,7 +204,7 @@ Запыт reCAPTCHA Запытаны ўвод reCAPTCHA Спампоўванне - Дапушчальныя ў назвах файлаў сімвалы + Сімвалы, дапушчальныя ў назвах файлаў Недапушчальныя сімвалы замяняюцца на гэты Сімвал для замены Літары і лічбы @@ -253,7 +253,7 @@ Выдаліць Падрабязнасці Налады аўдыя - Зацісніце, каб дадаць у чаргу + Утрымлівайце, каб дадаць у чаргу Пачаць прайграванне ў фоне Пачаць прайграванне ў акне Адкрыць бакавую панэль @@ -268,7 +268,7 @@ Загрузка запытанага кантэнту Стварыць плэй-ліст Перайменаваць - Імя + Назва Дадаць у плэй-ліст Зрабіць мініяцюрай плэй-ліста Дадаць плэй-ліст у закладкі @@ -327,7 +327,7 @@ Апавяшчэнні пра новыя версіі NewPipe Знешняе сховішча недаступна Спампоўванне на знешнюю SD-карту немагчыма. Скінуць размяшчэнне папкі спампоўвання? - Памылка чытання захаваных укладак. Выкарыстоўваюцца ўкладкі па змаўчанні + Не ўдалося прачытаць захаваныя ўкладкі, таму выкарыстоўваюцца прадвызначаныя Аднавіць прадвызначаныя значэнні Аднавіць прадвызначаныя значэнні? Колькасць падпісчыкаў недаступна @@ -347,9 +347,9 @@ Дадаць у чаргу Дзеянне забаронена сістэмай Памылка спампоўвання - Стварыць унікальнае імя + Стварыць унікальную назву Перазапісаць - Файл з такім імем ужо спампоўваецца + Файл з такой назвай ўжо спампоўваецца Паказаць тэкст памылкі Немагчыма стварыць папку прызначэння Немагчыма стварыць файл @@ -376,14 +376,14 @@ Працягваць прайграванне Аднаўляць апошнюю пазіцыю Пазіцыі ў спісах - Адлюстроўваць індыкатары пазіцый прагляду ў спісах + Паказваць у спісах пазіцыю прайгравання Ачыстка даных Пазіцыі прайгравання выдалены Файл перамешчаны або выдалены - Файл з такім імем ужо існуе - Файл з такім імем ужо існуе + Файл з такой назвай ужо існуе + Спампаваны файл з такой назвай ужо існуе немагчыма перазапісаць файл - Файл з такім імем ужо дададзены ў чаргу спампоўвання + Файл з такой назвай ужо ў чарзе спампоўвання Праграма NewPipe была закрыта падчас працы з файлам На прыладзе скончылася вольнае месца Прагрэс страчаны, бо файл быў выдалены @@ -542,11 +542,11 @@ Апавяшчэнні пра ход відэахэшавання Стварыць паведамленне пра памылку Выберыце падпіскі - Імпарт ці экспарт падпісак з 3-кропкавага меню + Імпартуйце або экспартуйце падпіскі праз меню з трыма кропкамі ⁝ Забарона вылучэння тэксту ў апісанні Хуткі рэжым Калі ў вас узніклі праблемы з выкарыстаннем праграмы, абавязкова азнаёмцеся з адказамі на частыя пытанні! - Адключыць тунэляванне медыя + Адключыць тунэляванне мультымедыя Мініяцюра з перадпраглядам у паласе перамотвання Высокая якасць (больш) Не паказваць @@ -607,15 +607,15 @@ Дублікат дададзены %d раз(ы) LeakCanary недаступны Паказаць уцечкі памяці - Адключыце мультымедыйнае тунэляванне, калі ў вас з\'яўляецца чорны экран або заіканне падчас прайгравання відэа. + Адключыце тунэляванне мультымедыя, калі відэа прайграецца перарывіста або паказваецца чорны экран. Не ўдалося скапіяваць у буфер абмену Папка спампоўвання яшчэ не зададзена, выберыце папку спампоўвання цяпер Частыя пытанні Перайсці на вэб-сайт - Правядзіце пальцам па элементах, каб выдаліць іх + Каб выдаліць элемент, змахніце яго ўбок Прыбраць пастаянную мініяцюру - Паказваць індыкатары выяў - Паказваць каляровыя стужкі Пікаса на выявах, якія пазначаюць іх крыніцу: чырвоная для сеткі, сіняя для дыска і зялёная для памяці + Паказваць на відарысах указальнікі + Паказваць на відарысах каляровыя меткі Picasso, якія абазначаюць яго крыніцу: чырвоная — сетка, сіняя — дыск, зялёная — памяць Апрацоўка стужкі… Пры кожным спампоўванні вам будзе прапанавана выбраць месца захавання Загрузка канала… @@ -641,10 +641,10 @@ %d выбраных %d выбраных - Пустая назва групы - Выдаліць гэту групу? + Назва групы пустая + Выдаліць групу? Новая - Паказаць толькі разгрупаваныя падпіскі + Паказваць толькі не згрупаваныя падпіскі Запланаваныя Паказваць «Збой плэера» Запусціце праверку новых патокаў @@ -715,7 +715,7 @@ Даступна для некаторых сэрвісаў, звычайна значна хутчэй, але можа перадаваць абмежаваную колькасць элементаў і не ўсю інфармацыю (можа адсутнічаць працягласць, тып элемента, паказчык трансляцыі) Узроставае абмежаванне Для гэтага дзеяння не знойдзены прыдатны файлавы менеджар. \nУсталюйце файлавы менеджар, сумяшчальны з Storage Access Framework - Ніякая праграма на вашай прыладзе не можа адкрыць гэта + На прыладзе няма праграмы, каб адкрыць гэты файл Стандартнае значэнне ExoPlayer Прагледжаныя часткова Лічыце, што загрузка каналаў адбываецца занадта павольна? Калі так, паспрабуйце ўключыць хуткую загрузку (можна змяніць у наладах або націснуўшы кнопку ніжэй). \n \nNewPipe прапануе два спосабы загрузкі каналаў: \n• Атрыманне ўсяго канала падпіскі. Павольны, але інфармацыя поўная). \n• Выкарыстанне спецыяльнай канчатковай кропкі абслугоўвання. Хуткі, але звычайна інфармацыя няпоўная). \n \nРозніца паміж імі ў тым, што ў хуткім звычайна адсутнічае частка інфармацыі, напрыклад, працягласць або тып (немагчыма адрозніць трансляцыі ад звычайных відэа), і ён можа вяртаць менш элементаў. \n \nYouTube з\'яўляецца прыкладам сэрвісу, які прапануе гэты хуткі метад праз RSS-канал. \n \nТакім чынам, выбар залежыць ад таго, чаму вы аддаяце перавагу: хуткасці або дакладнасці інфармацыя. @@ -747,8 +747,8 @@ У гэтым патоку ўжо павінна быць гукавая дарожка Уключыце гэту опцыю, калі ў вас ёсць праблемы з ініцыялізацыяй дэкодэра, якая вяртаецца да дэкодэраў з больш нізкім прыярытэтам, калі ініцыялізацыя асноўных дэкодэраў не ўдаецца. Гэта можа прывесці да нізкай прадукцыйнасці прайгравання, чым пры выкарыстанні асноўных дэкодэраў Кіраванне некаторымі наладамі ExoPlayer. Каб гэтыя змены ўступілі ў сілу, патрабуецца перазапуск прайгравальніка - Гэты абыходны шлях вызваляе і паўторна стварае відэакодэкі, калі адбываецца змяненне паверхні, замест таго, каб зажаваць паверхню непасрэдна для кодэка. Ужо выкарыстоўваецца ExoPlayer на некаторых прыладах з такой праблемай, гэты параметр ужываецца толькі на прыладах з Android 6 і вышэй\n\nУключэнне параметра можа прадухіліць памылкі прайгравання пры пераключэнні бягучага відэаплэера або пераключэнні ў поўнаэкранны рэжым - Якасць выяў + Гэты абыходны шлях вызваляе і паўторна стварае відэакодэкі, калі адбываецца змяненне паверхні, замест таго, каб задаваць паверхню непасрэдна для кодэка. Ужо выкарыстоўваецца ExoPlayer на некаторых прыладах з такой праблемай, гэты параметр ужываецца толькі на прыладах з Android 6 і вышэй\n\nУключэнне параметра можа прадухіліць памылкі прайгравання пры пераключэнні бягучага відэаплэера або пераключэнні ў поўнаэкранны рэжым + Якасць відарысаў Відэа \? Падпісчыкі @@ -767,12 +767,12 @@ Атрыманне ўкладак канала Аватары Наступны паток - Прадвызначана на вашай прыладзе адключана медыятунэляванне, бо гэтая мадэль прылады яго не падтрымлівае. + Прадвызначана на вашай прыладзе адключана тунэляванне мультымедыя, бо вядома, што гэта мадэль яго не падтрымлівае. Аватары падканалаў Адкрыць чаргу прайгравання - Не загружаць выявы + Не загружаць відарысы Высокая якасць - Аб канале + Пра канал Абагуліць плэй-ліст Пераматаць наперад Альбомы @@ -786,9 +786,9 @@ - %1$s: %2$s Перамясціць панэль укладак уніз Няма жывых трансляцый - Выберыце якасць выяў і ці трэба спампоўваць выявы ўвогуле, каб паменшыць выкарыстанне даных і памяці. Змены ачышчаюць кэш выяў як у памяці, так і на дыску - %s + Выберыце якасць відарысаў ці ўвогуле не загружаць відарысы, каб паменшыць выкарыстанне даных і памяці. Змены ачышчаюць кэш відарысаў у памяці і на дыску (%s) Прайграць - Іншыя опцыі + Іншыя параметры Мініяцюры Трэкі Працягласць @@ -807,7 +807,7 @@ Каб адрэдагаваць кожнае з дзеянняў у апавяшчэнні, націсніце на яго. Першыя тры дзеянні (прайграванне/паўза, папярэдні і наступны) зададзены сістэмай, іх змяніць немагчыма. Недастаткова вольнага месца на прыладзе Так - NewPipe можа аўтаматычна правяраць наяўнасць абнаўленняў і паведаміць вам, калі яны будуць даступны. \nУключыць гэту функцыю? + NewPipe можа час ад часу аўтаматычна правяраць наяўнасць новай версіі і апавяшчаць, калі яна будзе даступна. \nУключыць гэту функцыю? Налады ў імпартаваным экспарце выкарыстоўваюць уразлівы фармат, які састарэў з версіі NewPipe 0.27.0. Пераканайцеся, што імпартаваны экспарт атрыманы з надзейнай крыніцы, і ў будучыні пераважней выкарыстоўваць толькі экспарт, атрыманы з NewPipe 0.27.0 ці навей. Падтрымка імпарту налад у гэтым уразлівым фармаце хутка будзе цалкам выдаленая, і тады старыя версіі NewPipe больш не змогуць імпартаваць наладкі з экспарту з новых версій. Не Рэзервовае капіяванне і аднаўленне @@ -820,4 +820,7 @@ Выберыце групу каналаў Група каналаў яшчэ не створана Старонка групы каналаў + Пошук %1$s + Пошук %1$s (%2$s) + Спадабалася diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index c6d4d76ce..0d83f6c0c 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -229,7 +229,7 @@ Съдържание на главната страница Празна страница Страница-павилион - Страница на определен канал + Страница на канал Изберете канал За момента нямате абонаменти Изберете павилион @@ -817,4 +817,6 @@ Търсене %1$s Търсене %1$s (%2$s) Харесвания + Страница SoundCloud Top 50 е премахната + SoundCloud преустанови оригиналните класации Топ 50. Съответният раздел е премахнат от главната ви страница. diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index ea531408f..c1f23457d 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -57,7 +57,7 @@ Jméno souboru Vlákna Zastavit - Smazat + Odstranit Start Zkusit znovu Video @@ -234,8 +234,8 @@ Přidat do playlistu Nastavit jako náhled playlistu Přidat playlist do záložek - Smazat záložku - Smazat tento playlist\? + Odstranit záložku + Odstranit tento playlist? Playlist vytvořen V playlistu Náhled playlistu změněn. @@ -411,9 +411,9 @@ Zobrazit pozici přehrávání v seznamech Pozice playbacku smazány Timeout spojení - Smazat pozice playbacku - Smazat všechny pozice playbacku - Smazat všechny pozice playbacku\? + Vymazat pozice přehrávání + Vymaže všechny pozice přehrávání + Vymazat všechny pozice přehrávání? Přepnout službu, právě vybráno: Nikdo nesleduje @@ -444,8 +444,8 @@ obnovuji Toto stahování nelze obnovit Vyberte instanci - Smazat historii stahování - Smazat stažené soubory + Vymazat historii stahování + Odstranit stažené soubory Souhlasit se zobrazením přes jiné aplikace Jazyk aplikace Jazyk systému @@ -488,7 +488,7 @@ %d vybráno Prázdné jméno skupiny - Přejete si smazat tuto skupinu\? + Přejete si odstranit tuto skupinu? Nová Novinky Limit aktualizace novinek @@ -689,7 +689,7 @@ Frekvence kontroly Jakákoli síť Požadované síťové připojení - Smazat všechny stažené soubory z disku\? + Odstranit všechny stažené soubory z disku? Objednali jste si nyní tento kanál Všechny přepnout Nové streamy @@ -846,4 +846,6 @@ Hledat %1$s Hledat %1$s (%2$s) Líbí se + Stránka SoundCloud Top 50 odstraněna + SoundCloud zrušil původní žebříčky Top 50. Příslušná karta byla odstraněna z vaší hlavní stránky. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 309709f47..1f06121a8 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -829,4 +829,9 @@ Eine Feed-Gruppe auswählen Kanalgruppen-Seite Es wurde noch keine Feed-Gruppe erstellt + Suche %1$s + Suche %1$s (%2$s) + Gefällt mir + SoundCloud-Top-50-Seite entfernt + SoundCloud hat die ursprünglichen Top-50-Charts abgeschafft. Der entsprechende Tab wurde von deiner Hauptseite entfernt. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 67a24bd4f..84da93a0f 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -829,4 +829,9 @@ Επιλογή ομάδας τροφοδοσίας Δεν δημιουργήθηκε ομάδα τροφοδοσίας ακόμα Σελίδα καναλιού ομάδας + Αναζήτηση %1$s + Αναζήτηση %1$s (%2$s) + Likes + Η σελίδα των SoundCloud Top 50 αφαιρέθηκε + Το SoundCloud έχει καταργήσει τα αρχικά charts με τα Top 50. Η αντίστοιχη καρτέλα έχει αφαιρεθεί από την κύρια σελίδα σας. diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 9f9c7207c..af8cfde88 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -217,7 +217,7 @@ Enim esitatud Avalehe sisu Tühi leht - Kioski leht + Kioskivaade Kanali leht Vali kanal Kanaleid pole veel tellitud @@ -817,4 +817,6 @@ Otsi: %1$s Otsi: %1$s (%2$s) Meeldimisi + SoundCloudi „Top 50“ leht on eemaldatud + SoundCloud on lõpetanud oma algse „Top 50“ edetabeli pidamise. Seega on ka vastav vahekaart meie rakenduse põhivaatest eemaldatud. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c3fe5cf58..9a9590a07 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -164,7 +164,7 @@ Caractères spéciaux Voulez-vous supprimer cet élément de l’historique de recherche \? Contenu de la page principale - Page vide + Page blanche Chaîne Sélectionner une chaîne Tendances @@ -848,4 +848,6 @@ Rechercher %1$s Rechercher %1$s (%2$s) Likes + Page SoundCloud Top 50 supprimée + SoundCloud a abandonné le classement original du Top 50. L\'onglet correspondant a été supprimé de votre page d\'accueil. diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index bd560f07b..a09c0da03 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -179,9 +179,9 @@ היסטוריה למחוק את הפריט הזה מהיסטוריית החיפושים\? תוכן הדף הראשי - דף ריק - דף גישה מזדמנת - דף ערוצים + עמוד ריק + עמוד גישה מזדמנת + עמוד הערוץ נא לבחור ערוץ אין עדיין מינויים לערוצים נא לבחור סוג גישה מזדמנת diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 37282a0da..7d405bcef 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -824,4 +824,12 @@ बैकअप और रिस्टोर आयात किए जा रहे निर्यात में सेटिंग्स एक कमजोर प्रारूप का उपयोग करती हैं जिसे न्यूपाइप 0.27.0 के बाद से हटा दिया गया था। सुनिश्चित करें कि आयात किया जा रहा निर्यात किसी विश्वसनीय स्रोत से है, और भविष्य में केवल न्यूपाइप 0.27.0 या नए से प्राप्त निर्यात का उपयोग करना पसंद करें। इस असुरक्षित प्रारूप में सेटिंग्स आयात करने के लिए समर्थन जल्द ही पूरी तरह से हटा दिया जाएगा, और फिर न्यूपाइप के पुराने संस्करण अब नए संस्करणों से निर्यात की सेटिंग्स आयात नहीं कर पाएंगे। सेकेंडरी + %1$s खोजें + %1$s (%2$s) खोजें + प्लेलिस्ट + कृपया एक फ़ीड समूह चुनें + अभी तक कोई फ़ीड समूह नहीं बनाया गया है + चैनल समूह पेज + पसंद + यूट्यूब अस्थायी प्लेलिस्ट के रूप में साझा करें diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 14c55b772..eb60e377f 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -803,4 +803,6 @@ Keresés %1$s Keresés %1$s (%2$s) Kedvelések + SoundCloud Top 50 oldal eltávolítva + A SoundCloud megszüntette az eredeti Top 50-es listákat. A megfelelő lap el lett távolítva a főoldalról. diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 19f867d7c..b640a1232 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -193,8 +193,8 @@ Terakhir Diputar Sering Diputar Konten halaman utama - Halaman Kosong - Halaman Kedai + Halaman kosong + Halaman kiosk Halaman saluran Pilih saluran Belum ada saluran langganan @@ -815,4 +815,9 @@ Halaman grup saluran Belum ada grup umpan yang dibuat Pilih grup umpan + Cari %1$s + Cari %1$s (%2$s) + Suka + Halaman Top 50 SoundCloud dihapus + SoundCloud telah menghentikan dukungan tangga lagu Top 50. Tab terkait telah dihapus dari halaman utama Anda. diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index e7ce69e41..bc85f0e06 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -805,4 +805,12 @@ auka Deila sem YouTube-bráðabirgðaspilunarlista Spilunarlistar + Leita í %1$s + Leita í %1$s (%2$s) + Veldu hóp streyma + Enginn hópur streyma útbúinn ennþá + Síða rásahóps + Líkar við + Topp 50 síða SoundCloud fjarlægð + SoundCloud er hætt með Topp 50 vinsældalistann. Viðkomandi flipi hefur verið fjarlægður af aðalsíðunni þinni. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 4c087f4de..d98875630 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -846,4 +846,6 @@ Cerca %1$s (%2$s) Cerca su %1$s Mi piace + Pagina Top 50 di SoundCloud rimossa + SoundCloud ha dismesso i grafici Top 50 originali. La scheda relativa è stata rimossa dalla pagina principale. diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 1d3183b10..ff3f9b687 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -721,4 +721,4 @@ Изберете гестикулација за десната половина од екранот на плеерот Видеата нема да започнат со емитување во миниплеерот, туку директно ќе се вклучат на цел екран, доколку автоматското ротирање е заклучено. Сѐ уште можете да добиете пристап до миниплеерот, кога ќе излезете од целиот екран URL адресата не може да биде распознаена. Да се отвори со друга апликација? - \ No newline at end of file + diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml index ad14e7d05..757632994 100644 --- a/app/src/main/res/values-pa/strings.xml +++ b/app/src/main/res/values-pa/strings.xml @@ -84,7 +84,7 @@ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ ਪੌਪ-ਅਪ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ ਸਮੱਗਰੀ - ਉਮਰ-ਮੁਤਾਬਕ-ਪਾਬੰਦੀਸ਼ੁਦਾ ਸਮੱਗਰੀ ਵਿਖਾਓ + ਉਮਰ ਮੁਤਾਬਕ ਪਾਬੰਦੀਸ਼ੁਦਾ ਸਮੱਗਰੀ ਵਿਖਾਓ ਲਾਈਵ ਡਾਊਨਲੋਡਸ ਡਾਊਨਲੋਡਸ @@ -824,6 +824,12 @@ ਨਹੀਂ ਇੰਪੋਰਟ ਕੀਤੇ ਜਾ ਰਹੇ ਐਕਸਪੋਰਟ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਇੱਕ ਕਮਜ਼ੋਰ ਫਾਰਮੈਟ ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ ਜੋ ਨਿਊਪਾਈਪ 0.27.0 ਤੋਂ ਬਰਤਰਫ਼ ਕੀਤਾ ਗਿਆ ਸੀ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਇੰਪੋਰਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਨਿਰਯਾਤ ਇੱਕ ਭਰੋਸੇਯੋਗ ਸਰੋਤ ਤੋਂ ਹੈ, ਅਤੇ ਸਿਰਫ਼ ਨਿਊਪਾਈਪ 0.27.0 ਜਾਂ ਇਸਤੋਂ ਨਵੇਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਐਕਸਪੋਰਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨੂੰ ਤਰਜੀਹ ਦਿਓ। ਇਸ ਕਮਜ਼ੋਰ ਫਾਰਮੈਟ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਨੂੰ ਆਯਾਤ ਕਰਨ ਲਈ ਸਮਰਥਨ ਜਲਦੀ ਹੀ ਪੂਰੀ ਤਰ੍ਹਾਂ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ ਅਤੇ ਫਿਰ ਨਿਊਪਾਈਪ ਦੇ ਪੁਰਾਣੇ ਸੰਸਕਰਣ ਹੁਣ ਨਵੇਂ ਸੰਸਕਰਣਾਂ ਤੋਂ ਐਕਸਪੋਰਟ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਇੰਪੋਰਟ ਕਰਨ ਦੇ ਯੋਗ ਨਹੀਂ ਹੋਣਗੇ। ਸੈਕੰਡਰੀ - ਟੈਂਪਰੇਰੀ ਯੂਟਿਊਬ ਪਲੇਲਿਸਟ ਵੱਜੋਂ ਸ਼ੇਅਰ ਕਰੋ + ਅਸਥਾਈ ਯੂਟਿਊਬ ਪਲੇਲਿਸਟ ਵਜੋਂ ਸਾਂਝਾ ਕਰੋ ਪਲੇਲਿਸਟਾਂ + %1$s ਦੀ ਖੋਜ ਕਰੋ + %1$s (%2$s) ٪1$s ਦੀ ਖੋਜ ਕਰੋ + ਫੀਡ ਗਰੁੱਪ ਚੁਣੋ + ਅਜੇ ਤੱਕ ਕੋਈ ਫੀਡ ਗਰੁੱਪ ਨਹੀਂ ਬਣਾਇਆ ਗਿਆ + ਚੈਨਲ ਗਰੁੱਪ ਪੰਨਾ + ਪਸੰਦ diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index dc3f88cec..a0c68f942 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -855,4 +855,6 @@ Szukaj %1$s Szukaj %1$s (%2$s) Polubienia + Usunięto stronę SoundCloud 50 najlepszych + SoundCloud wycofał oryginalną listę 50 najlepszych. Odpowiadająca karta została usunięta ze strony głównej. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index d13cbcfe3..56731cb06 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -843,4 +843,9 @@ Selecione um grupo de feeds Nenhum grupo de feeds criado ainda Página do grupo do canal + Pesquisar %1$s + Pesquisar %1$s (%2$s) + Curtidas + Página Top 50 do SoundCloud removida + O SoundCloud descontinuou as paradas originais do Top 50. A aba correspondente foi removida da sua página principal. diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 6ceec006e..f670aa52e 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -843,4 +843,6 @@ Selecione um grupo de feeds Ainda nenhum grupo de feeds criado Página do grupo do canal + Pesquisar %1$s + Pesquisar %1$s (%2$s) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 13a536895..72c6b62da 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -843,4 +843,6 @@ Selecione um grupo de feeds Ainda nenhum grupo de feeds criado Página do grupo do canal + Pesquisar %1$s + Pesquisar %1$s (%2$s) diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index eb4e75c28..cda82bd25 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -164,9 +164,9 @@ Istoric Doriți să ștergeți acest element din istoricul de căutare? Conținutul pagini principale - Pagină Goală + Pagină goală Pagina de chioșc - Pagină Canale + Pagină canale Alegeți un canal Nu v-ați abonat la niciun canal deocamdată Alegeți un chioșc @@ -841,4 +841,11 @@ Distribuie ca listă de redare temporară YouTube Liste de redare Pagina grupului de canale + Caută: %1$s + Caută %1$s (%2$s) + Selectează un grup de fluxuri + Încă nu a fost creat niciun grup de fluxuri + Aprecieri + Pagina SoundCloud Top 50 a fost eliminată + SoundCloud a eliminat Top 50. Fila corespunzătoare a fost eliminată din pagina principală. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a512b6fa8..8b54adaad 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -848,4 +848,9 @@ Страница группы каналов Выберите группу кормов Группа кормов еще не создана + Поиск %1$s + Поиск %1$s (%2$s) + Лайки + Страница SoundCloud Top 50 удалена + SoundCloud прекратил поддерживать оригинальные чарты Top 50. Соответствующая вкладка была удалена с вашей главной страницы. diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index ad2dacfd6..3bae642c7 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -13,12 +13,12 @@ Zdieľať s Použiť externý prehrávač videa Použiť externý prehrávač zvuku - Prevzaté video ukladať do - Prevzaté video súbory sú uložené tu + Adresár stiahnutých videí + Stiahnuté video súbory sú uložené tu Vyberte priečinok pre stiahnuté video Priečinok pre stiahnuté audio Vyberte priečinok pre audio súbory - Prevzaté zvukové súbory sú uložené tu + Stiahnuté zvukové súbory sú uložené tu Štandardné rozlíšenie Prehrať cez Kodi Nainštalovať chýbajúcu aplikáciu Kore\? @@ -74,8 +74,8 @@ Čakajte prosím… Skopírované do schránky Priečinok na sťahovanie zadefinujte prosím neskôr v nastaveniach - Prevzaté - Prevzaté + Sťahované súbory + Stiahnuté Hlásenie o chybe Aplikácia/UP zlyhalo Čo:\\nPožiadavka:\\nJazyk obsahu:\\nKrajina Obsahu:\\nJazyk Aplikácie:\\nSlužba:\\nČas v GMT:\\nBalík:\\nVerzia:\\nOS: @@ -165,7 +165,7 @@ Nebol nájdený žiadny prehrávač pre stream (môžete si nainštalovať napr. VLC). Stiahnuť súbor streamu Zobraziť info - Uložené zoznamy + Uložené playlisty Pridať do Zobrazovať tip \"Pridať podržaním\" Zobrazí tip pri stlačení tlačidiel pozadia alebo vyskakovacieho okna videa \"Podrobnosti:\" @@ -179,8 +179,8 @@ Prepnúť na Video Importovať databázu Exportovať databázu - Prepíše aktuálnu históriu, odbery, zoznamy skladieb a (voliteľne) nastavenia - Exportuje históriu, odbery, zoznamy skladieb a nastavenia + Prepíše aktuálnu históriu, odbery, playlisty a (voliteľne) nastavenia + Exportuje históriu, odbery, playlisty a nastavenia Nepodarilo sa prehrať tento stream Pri prehrávaní došlo k chybe a nemožno pokračovať Zotavovanie po chybe v prehrávaní @@ -200,7 +200,7 @@ Naposledy prehrávané Najprehrávanejšie Obsah na hlavnej stránke - Prázdna strana + Prázdna stránka Kiosk Kanál Vyberte si kanál @@ -228,17 +228,17 @@ Vždy sa opýtať Získavajú sa informácie… Načítanie požadované obsahu - Nový zoznam skladieb + Nový playlist Premenovať Názov - Pridať do zoznamu skladieb - Nastaviť ako miniatúru zoznamu skladieb - Záložka zoznamu skladieb - Odstrániť Záložku - Odstrániť tento zoznam skladieb\? - Zoznam skladieb vytvorený + Pridať do playlistu + Nastaviť ako miniatúru playlistu + Pridať playlist medzi záložky + Odstrániť záložku + Odstrániť tento playlist? + Playlist bol vytvorený V playliste - Miniatúra zoznamu skladieb bola zmenená. + Miniatúra playlistu bola zmenená. Bez titulkov Prispôsobiť Vyplniť @@ -321,7 +321,7 @@ Bez limitu Limitovať rozlíšenie pri použití mobilných dát Kanály - Zoznamy skladieb + Playlisty Skladby Používatelia Pretáčať tiché pasáže @@ -513,8 +513,7 @@ \n \nMožno v budúcnosti sa to zmení. Áno aj čiastočne pozreté videá - Pozreté videá, ktoré ste pozreli pred a po ich pridaní do zoznamu, budú odstránené. -\nSte si istí ich odstránením zo zoznamu\? Táto operácia je nezvratná! + 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é Pôvodné texty zo služieb budú viditeľné v položkách streamu @@ -534,14 +533,14 @@ Nahlásiť na GitHub-e Kopírovať formátované hlásenie Zobrazujú sa výsledky pre: %s - Zoznamy skladieb + Zoznam playlistov Zobraziť iba nezoskupené odbery Nikdy Iba na WiFi Spustí automatické prehrávanie - %s Prehrať zoznam - Zatiaľ bez záložiek zoznamu - Vyberte zoznam skladieb + Žiadne záložky playlistov + Vyberte playlist Skontrolujte prosím, či rovnaká chyba už nie je nahlásená. Vytváranie duplicitných hlásení komplikuje prácu vývojárov. Nemožno rozpoznať URL. Otvoriť pomocou inej aplikácie\? Automatický rad @@ -722,7 +721,7 @@ Ak máte problémy s používaním aplikácie, určite si prečítajte tieto odpovede na časté otázky! Vypnutie trvalého náhľadu Kopírovanie do schránky zlyhalo - Zoznamy zobrazené šedou farbou už obsahujú danú položku. + Playlisty zobrazené šedou farbou už obsahujú danú položku. Karta Dotykom stiahnite %s Duplikát bol pridaný %d-krát @@ -749,7 +748,7 @@ Preferovať prehrávanie popisu Zvuk: %s Zvuková stopa - Chcete odstrániť všetky duplikátne streamy z tohoto zoznamu\? + Chcete odstrániť všetky duplikátne streamy z tohoto playlistu? Zobrazovať nasledovné streamy V tomto streame by už mala byť prítomná zvuková stopa Výber zvukovej stopy pre externé prehrávače @@ -788,7 +787,7 @@ Dozadu Opäť prehrať Karty, ktoré sa majú načítať pri aktualizácii informačného kanála. Táto možnosť nemá žiadny účinok, ak je kanál aktualizovaný pomocou rýchleho režimu. - Zoznamy skladieb + Playlisty Presunie výber hlavnej karty do spodnej časti Žiadne živé prenosy Prehrať @@ -846,4 +845,6 @@ Hľadať %1$s (%2$s) Hľadať %1$s Páči sa + SoundCloud Top 50 stránka odstránená + SoundCloud prestal používať pôvodnú Top 50. Daná stránka bola odstránená z hlavnej stránky. diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index cd41b43ba..68875fe23 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -459,4 +459,4 @@ Označi kot že ogledano Uporabite hitro nenatančno iskanje Sesuj predvajalnik - \ No newline at end of file + diff --git a/app/src/main/res/values-ti/strings.xml b/app/src/main/res/values-ti/strings.xml index c6edbe4c3..e1f61b7d1 100644 --- a/app/src/main/res/values-ti/strings.xml +++ b/app/src/main/res/values-ti/strings.xml @@ -4,7 +4,7 @@ ኣብ መርበብ-ሓበሬታ ክፉት ውጽኢት ናይ፦ %s ንኽትጅምር ነቲ ምድላይ ምልክት ጠውቆ። - ኣብ %1$s ዝተሓትመ + ዝተሓትመሉ ዕለት %1$s ናይ ዥረት ተጻዋታይ ኣይተረኽበን። VLC ኣውርድ፧ ሐራይ ቅጥዕታት @@ -26,7 +26,7 @@ ሰዓበ ናይ ደገ ቪድዮ ተጠቐም መጻወቲ ምውራድ - ኣይትጽንበሩ + ምስዓብ ኣቋርጽ ነቲ ኣብ\'ቲ ምልክታ ዝተርኣየ ናይ ቪድዮ ምስሊ ካብ 16:9 ናብ 1:1 ርሕቐት ኣቀራርባ ቅረጽ ምስ Kodi ተጻወት ድምር ምስ @@ -43,7 +43,7 @@ ናይ ደገ ድምጺ መጻወቲ ተጠቐም Android ሕብሪ ናይቲ መተሓሳሰቢ ብመሰረት እቲ ኣብቲ ንእሽቶ ስእሊ ዘሎ ቀንዲ ሕብሪ ከም ዝጥዕሞ ግበር (እዚ ኣብ ኩሉ መሳርሒታት ከምዘይርከብ ኣስተውዕል) ትሑዝ ፖፕኣፕ ድንቀት - ነፍሲ ወከፍ መፍለጢ ተግባር ኣብ ታሕቲ ብምጥዋቕ ኣርትዖ። ኣብቲ ውህሉል መተሓሳሰቢ ንኽርአ ክሳብ ሰለስተ ካብኣቶም ምረጽ፡ ኣብ የማናይ ሸነኽ ዘሎ ሳጹናት ብምጥቃም + ነፍሲ ወከፍ መፍለጢ ተግባር ኣብ ታሕቲ ብምጥዋቕ ኣርትዖ። ኣብቲ ውህሉል መተሓሳሰቢ ንኽርአ ክሳብ ሰለስተ ካብኣቶም ምረጽ፡ ኣብ የማናይ ሸነኽ ዘሎ ሳጹናት ብምጥቃም። ፖፕኣፕ ትሑዝ ድንቀት ዝወረዱ ናይ ተንቃሳቀሴ-ምስሌ ፋይላት ኣብዚ ይኽዘኑ @@ -56,7 +56,7 @@ ናይ ድምጺ ፋይል ኣራግፍ ምረጽ ዝጎደለ ኮረ ኣፕፕ ኣውራድ፧ ነባሪ ቅርጺ ድምጺ - ምዝገባ + እትስዕቦም Kodi ሚድያ ማእኸል ቪድዮ ንምጽዋት ዝሕግዝ ኣማራጺ ኣብቲ ውሱን መፍለጢ ንምርኣይ እንተበዝሐ ሰለስተ ተግባራት ክትመርጽ ትኽእል ኢኻ! ተንቃሳቀሴ-ምስሌ ፋይል ኣራግፍ @@ -70,7 +70,7 @@ እወ ኣይፋልን ጸሊም - ቆርበት + ቆርበት ኣርእስቲ ለይታው ቆርበት ናይ ፖፕኣፕ ባህርያት ዘክር ናይ ፖፕኣፕ ዝነበሮ ቦታ ዘክር @@ -88,7 +88,7 @@ ኵሉ መስመርት ዝርዝር-ጸወታ - ቅዳሒት + ቪዶ ተጠቀምቲ ፍጻመታት ደርፍታት diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index a26016f1a..e2774ad39 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -164,9 +164,9 @@ Kurtarılamayan oynatıcı hatası oluştu Oynatıcı hatasından kurtarılıyor Ana sayfanın içeriği - Boş Sayfa - Kiosk Sayfası - Kanal Sayfası + Boş sayfa + Kiosk sayfası + Kanal sayfası Kanal seçin Henüz kanal aboneliği yok Kiosk seçin @@ -830,4 +830,8 @@ Kanal küme sayfası Besleme kümesi oluşturulmadı Beğeni + %1$s İle Ara + %1$s İle Ara (%2$s) + SoundCloud Top 50 sayfası kaldırıldı + SoundCloud, özgün Top 50 listesini artık yayınlamıyor. İlgili sekme ana sayfanızdan kaldırıldı. diff --git a/app/src/main/res/values-tzm/strings.xml b/app/src/main/res/values-tzm/strings.xml index 31d89bdd5..8ef077a9f 100644 --- a/app/src/main/res/values-tzm/strings.xml +++ b/app/src/main/res/values-tzm/strings.xml @@ -178,4 +178,4 @@ Ilbumen Tilgamin n tɣuri Taɣuri tawurmant - \ No newline at end of file + diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 32e03bea0..d548dac3c 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -218,8 +218,8 @@ Відтворювалося найбільше Вміст на головній сторінці Порожня сторінка - Кіоск-сторінка - Канал + Сторінка кіоску + Сторінка каналу Обрати канал Немає підписок на канали Обрати кіоск @@ -849,4 +849,8 @@ Виберіть групу каналів Групу каналів ще не створено Вподобання + Пошук %1$s + Пошук %1$s (%2$s) + Сторінку SoundCloud Top 50 видалено + SoundCloud припинив підтримку оригінальних чартів Топ-50. Відповідну вкладку видалено з вашої головної сторінки. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 3c9c79457..c63e952f0 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -198,7 +198,7 @@ 是否删除此条搜索历史记录? 主页面的显示内容 空白页 - 『时下流行』页-自定义 + Kiosk 页面 频道页 选择一个频道 尚未订阅频道 @@ -816,4 +816,8 @@ 选择一个订阅源组 尚未创建订阅源组 + 搜索%1$s + 搜索 %1$s (%2$s) + 移除了 SoundCloud Top 50 页面 + SoundCloud 已停止发布原创 Top 50 榜单。相应的标签页已从你的主页移除。 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index b9ca2d3ce..1427ce483 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -816,4 +816,8 @@ 選取 feed 群組 尚未建立 feed 群組 喜歡 + 搜尋 %1$s + 搜尋 %1$s (%2$s) + 已移除 SoundCloud Top 50 頁面 + SoundCloud 已停止原有的 Top 50 排行榜。對應的標籤已從您的首頁移除。 diff --git a/fastlane/metadata/android/ar/changelogs/1005.txt b/fastlane/metadata/android/ar/changelogs/1005.txt new file mode 100644 index 000000000..933c7286a --- /dev/null +++ b/fastlane/metadata/android/ar/changelogs/1005.txt @@ -0,0 +1,17 @@ +جديد +• أضف دعمًا لنظام Android Auto +• السماح لإعداد مجموعات التغذية كعلامات شاشة رئيسية +• [يوتيوب] شارك كقائمة تشغيل مؤقتة +• [SoundCloud] Leges Table Tab + +تحسن +• تلميحات شريط بحث أفضل +• عرض تاريخ التنزيل في التنزيلات +• استخدام Android 13 لكل لغة + +مُثَبَّت +• إصلاح ألوان النص المكسورة في الوضع المظلم +• [youtube] إصلاح قوائم التشغيل لا تحميل أكثر من 100 عنصر +• [youtube] إصلاح مقاطع الفيديو الموصى بها مفقودة +• إصلاح حوادث في عرض قائمة التاريخ +• إصلاح الطوابع الزمنية في ردود التعليقات diff --git a/fastlane/metadata/android/cs/changelogs/1005.txt b/fastlane/metadata/android/cs/changelogs/1005.txt new file mode 100644 index 000000000..2059e43de --- /dev/null +++ b/fastlane/metadata/android/cs/changelogs/1005.txt @@ -0,0 +1,17 @@ +Novinky +• Přidána podpora pro Android Auto. +• Možnost nastavit skupiny kanálů jako záložky na hlavní obrazovce. +• [YouTube] Sdílení jako dočasný seznam skladeb. +• [SoundCloud] Záložka Oblíbené kanály + +Vylepšeno +• Lepší nápověda pro vyhledávací lištu +• Zobrazení data stažení v sekci Stažené soubory +• Použití jazyka Android 13 pro jednotlivé aplikace + +Opraveno +• Oprava chybných barev textu v tmavém režimu +• [YouTube] Oprava seznamů skladeb, které nenačtou více než 100 položek +• [YouTube] Oprava chybějících doporučených videí +• Oprava pádů v zobrazení seznamu historie +• Oprava časových značek v odpovědích na komentáře diff --git a/fastlane/metadata/android/de/changelogs/1005.txt b/fastlane/metadata/android/de/changelogs/1005.txt new file mode 100644 index 000000000..ac9000b65 --- /dev/null +++ b/fastlane/metadata/android/de/changelogs/1005.txt @@ -0,0 +1,17 @@ +Neu +• Android Auto +• Feed-Gruppen als Hauptbildschirm-Tabs +• [YouTube] Teilen als temporäre Wiedergabeliste +• [SoundCloud] Gefällt-Kanal-Tab + +Verbessert +• Bessere Suchleisten-Hinweise +• Anzeige des Downloaddatums +• App-spezifische Spracheinstellungen (Android 13) + +Behoben +• Fehlerhafte Textfarben im dunklen Modus +• [YouTube] Wiedergabelisten laden nicht mehr als 100 Einträge +• [YouTube] Fehlende empfohlene Videos +• Abstürze in der Verlaufslisten-Ansicht +• Zeitstempel in Kommentarantworten diff --git a/fastlane/metadata/android/et/changelogs/1005.txt b/fastlane/metadata/android/et/changelogs/1005.txt new file mode 100644 index 000000000..685803416 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/1005.txt @@ -0,0 +1,17 @@ +Uus +• Android Auto tugi +• Meedivoogude grupid põhivaates +• [YouTube] Jagamine ajutise esitusloendina +• [SoundCloud] Meeldimiste kanali vahekaart + +Täiendatud +• Paremad otsinguvihjed +• Allalaadimise kuupäev vastavas vaates +• Android 13 puhul rakendusekohane keel + +Parandatud +• Tekstivärvid tumedas kujundused +• [YouTube] Esitusloend ei laadinud üle 100 kirje +• [YouTube] Puuduvad videosoovitused +• Ajaloovaate kookujooksmine +• Ajatemplid kommentaaride vastustes diff --git a/fastlane/metadata/android/fr/changelogs/1005.txt b/fastlane/metadata/android/fr/changelogs/1005.txt new file mode 100644 index 000000000..b7e5ff49f --- /dev/null +++ b/fastlane/metadata/android/fr/changelogs/1005.txt @@ -0,0 +1,17 @@ +Nouveau +• Prise en charge d'Android Auto +• Possibilité de définir des groupes de flux comme onglets de l'écran principal +• [YouTube] Partager comme playlist temporaire +• [SoundCloud] Onglet « J'aime » + +Amélioration +• Amélioration des astuces de la barre de recherche +• Affichage de la date de téléchargement dans Téléchargements +• Utilisation de la langue par application d'Android 13 + +Corrigé +• Correction des couleurs de texte défectueuses en mode sombre +• [YouTube] Correction des playlists ne chargeant pas plus de 100 éléments +• [YouTube] Correction des vidéos recommandées manquantes +• Correction des plantages dans la vue Historique +• Correction des horodatages dans les réponses aux commentaires diff --git a/fastlane/metadata/android/hi/changelogs/1005.txt b/fastlane/metadata/android/hi/changelogs/1005.txt new file mode 100644 index 000000000..495894e76 --- /dev/null +++ b/fastlane/metadata/android/hi/changelogs/1005.txt @@ -0,0 +1,17 @@ +नया ++ • Android Auto के लिए समर्थन जोड़ें ++ • फ़ीड समूहों को मुख्य स्क्रीन टैब के रूप में सेट करने की अनुमति दें ++ • [YouTube] अस्थायी प्लेलिस्ट के रूप में साझा करें ++ • [SoundCloud] "पसंद" चैनल टैब जोङी गई + +बेहतर किए ++ • खोज बार संकेत ++ • डाउनलोडस स्क्रीन में डाउनलोड की तारीख दिखाएं ++ • Android 13+ पर प्रति-ऐप भाषा का उपयोग करें + +फिक्स किए ++ • डार्क मोड में पाठ के रंग ठीक करें ++ • [YouTube] 100 से अधिक आइटम लोड नहीं करने वाली प्लेलिस्ट को ठीक करें ++ • [YouTube] अनुपलब्ध अनुशंसित वीडियो को ठीक करें ++ • इतिहास सूची दृश्य में क्रैश ठीक करें ++ • टिप्पणी के उत्तरों में टाइमस्टैम्प को ठीक करें diff --git a/fastlane/metadata/android/hu/changelogs/1005.txt b/fastlane/metadata/android/hu/changelogs/1005.txt new file mode 100644 index 000000000..6d6974391 --- /dev/null +++ b/fastlane/metadata/android/hu/changelogs/1005.txt @@ -0,0 +1,17 @@ +Újdonság +- Android Auto támogatás hozzáadása +- A hírfolyamcsoportok főképernyőfülekként való beállítása +- [YouTube] Megosztás ideiglenes lejátszási listaként +- [SoundCloud] „Kedvelések” csatorna lap + +Továbbfejlesztve +- Jobb keresősáv-súgók +- Letöltési dátum megjelenítése a letöltések között +- Android 13 alkalmazásonkénti nyelv használata + +Javítva +- Törött szövegszínek javítása sötét módban +- [YouTube] A lejátszási listák 100-nál több elemet nem töltöttek be. +- [YouTube] Az ajánlott videók hiányának javítása +- Az előzmények listanézetben bekövetkező összeomlások javítása +- A hozzászólásválaszok időbélyegeinek javítása diff --git a/fastlane/metadata/android/it/changelogs/1005.txt b/fastlane/metadata/android/it/changelogs/1005.txt new file mode 100644 index 000000000..e70610077 --- /dev/null +++ b/fastlane/metadata/android/it/changelogs/1005.txt @@ -0,0 +1,17 @@ +Novità +• Ora NewPipe funziona su Android Auto +• Aggiungi feed di gruppi di canali nella schermata principale +• [YouTube] Condividi come playlist temporanea +• [SoundCloud] Mi piace nei canali + +Migliorie +• Indizi nella barra di ricerca +• Mostrata la data di scaricamento nella relativa sezione +• Uso della possibilità di scegliere la lingua dell'app, funzione nativa di Android 13 + +Correzioni +• Sistemati i colori del testo col tema scuro +• [YouTube] Ora si caricano più di 100 video nelle playlist +• [YouTube] Ripristinati i video consigliati +• Sistemati i crash nella cronologia +* Sistemato un errore nell'orario di inserimento di una risposta nei commenti diff --git a/fastlane/metadata/android/pa/changelogs/1005.txt b/fastlane/metadata/android/pa/changelogs/1005.txt new file mode 100644 index 000000000..f1492a1ac --- /dev/null +++ b/fastlane/metadata/android/pa/changelogs/1005.txt @@ -0,0 +1,17 @@ +ਨਵਾਂ ++ • Android Auto ਲਈ ਸਮਰਥਨ ਸ਼ਾਮਿਲ ਕਰੋ ++ • ਫੀਡ ਗਰੁੱਪਾਂ ਨੂੰ ਮੁੱਖ ਸਕ੍ਰੀਨ ਟੈਬਾਂ ਵਜੋਂ ਸੈੱਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ ++ • [YouTube] ਅਸਥਾਈ ਪਲੇਲਿਸਟ ਦੇ ਵਜੋਂ ਸਾਂਝਾ ਕਰੋ ++ • [SoundCloud] "ਪਸੰਦ" ਚੈਨਲ ਟੈਬ ਜੋੜੀ ਗਈ + +ਬਿਹਤਰ ਕੀਤੇ ++ • ਖੋਜ ਬਾਰ ਸੰਕੇਤ ++ • ਡਾਊਨਲੋਡਸ ਸੂਚੀ ਵਿੱਚ ਡਾਊਨਲੋਡ ਤਾਰੀਖ ਦਿਖਾਓ ++ • ਐਂਡਰਾਇਡ 13+ 'ਤੇ ਪ੍ਰਤੀ ਐਪ ਭਾਸ਼ਾ ਦੀ ਵਰਤੋਂ ਕਰੋ + +ਦਰੁਸਤ ਕੀਤੇ ++ • ਡਾਰਕ ਥੀਮਾਂ 'ਤੇ ਟੈਕਸਟ ਰੰਗਾਂ ਨੂੰ ਠੀਕ ਕਰੋ ++ • [YouTube] ਪਲੇਲਿਸਟਾਂ ਨੂੰ ਠੀਕ ਕਰੋ ਜੋ 100 ਤੋਂ ਵੱਧ ਆਈਟਮਾਂ ਲੋਡ ਨਹੀਂ ਕਰਦੀਆਂ ++ • [YouTube] ਸਿਫਾਰਸ਼ ਕੀਤੀਆਂ ਵੀਡੀਓਜ਼ ਦੀ ਅਣਉਪਲੱਬਧਤਾ ਨੂੰ ਠੀਕ ਕਰੋ ++ • ਇਤਿਹਾਸ ਸੂਚੀ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਕ੍ਰੈਸ਼ ਨੂੰ ਠੀਕ ਕਰੋ ++ • ਟਿੱਪਣੀਆਂ ਦੇ ਜਵਾਬ ਵਿੱਚ ਟਾਈਮਸਟੈਂਪਾਂ ਨੂੰ ਠੀਕ ਕਰੋ diff --git a/fastlane/metadata/android/pl/changelogs/1005.txt b/fastlane/metadata/android/pl/changelogs/1005.txt new file mode 100644 index 000000000..336aa1fa6 --- /dev/null +++ b/fastlane/metadata/android/pl/changelogs/1005.txt @@ -0,0 +1,17 @@ +Nowe +- Obsł. Android Auto +- Opcja ustawiania grup kanałów jako kart ekranu głównego +- [YouTube] Udostęp. jako tymczasowa playlista +- [SoundCloud] Karta kanału polubień + +Ulepszone +- Lepsze podpow. paska wysz. +- Wyśw. daty pobrania w Pobranych +- Używanie języka aplikacji w Androidzie 13 + +Naprawione +- Uszkodzone kolory tekstu w trybie ciemnym +- [YouTube] Playlisty ładujące maks. 100 pozycji +- [YouTube] Brakujące polecane wideo +- Awarie w widoku listy Historii +- Znaczniki czasu w odp. na komentarze diff --git a/fastlane/metadata/android/ru/changelogs/1005.txt b/fastlane/metadata/android/ru/changelogs/1005.txt new file mode 100644 index 000000000..3dead0f05 --- /dev/null +++ b/fastlane/metadata/android/ru/changelogs/1005.txt @@ -0,0 +1,17 @@ +Новое +• Поддержка Android Auto +• Использование групп лент как вкладок главного экрана +• [YouTube] Возможность поделиться временным плейлистом +• [SoundCloud] Вкладка канала "Лайки" + +Улучшено +• Поисковые подсказки +• Показ даты загрузки в Загрузках +• Установка языка для каждого приложения + +Исправлено +• Цвета текста в тёмном режиме +• [YouTube] Плейлисты не загружали более чем 100 элементов +• [YouTube] Отсутствующие рекомендованные видео +• Вылеты в Истории +• Временные метки в ответах на комментарии diff --git a/fastlane/metadata/android/sk/changelogs/1000.txt b/fastlane/metadata/android/sk/changelogs/1000.txt index 61cabd89d..29e2182f4 100644 --- a/fastlane/metadata/android/sk/changelogs/1000.txt +++ b/fastlane/metadata/android/sk/changelogs/1000.txt @@ -1,13 +1,13 @@ Vylepšené -- Umožnené kliknutie na popis playlistu, aby sa zobrazilo viac/menej obsahu -- [PeerTube] Automatické spracovanie odkazov inštancie `subscribeto.me` -- Spustenie prehrávania iba jednej položky v histórii +- Kliknutím na playlist sa zobrazí viac/menej obsahu +- [PeerTube] Automatické spracovanie odkazov z `subscribeto.me` +- Spustiť prehrávanie iba jednej položky v histórii Opravené -- Oprava viditeľnosti tlačidla RSS -- Oprava pádov náhľadu na paneli vyhľadávania -- Oprava pridania položky bez miniatúry do playlistu -- Oprava ukončenia okna sťahovania pred jeho zobrazením -- Oprava vyskakovacieho okna zoznamu súvisiacich položiek -- Oprava poradia v okne pridania do playlistu -- Úprava rozloženia položiek záložiek playlistu +- Viditeľnosť tlačidla RSS +- Pády pri náhľadoch +- Pridanie položky bez miniatúry do playlistu +- Zatváranie okna sťahovania pred jeho zobrazením +- Vyskakovacie okno zoznamu súvisiacich položiek +- Poradie v okne pridania do playlistu +- Rozloženie položiek záložiek playlistu diff --git a/fastlane/metadata/android/sk/changelogs/1005.txt b/fastlane/metadata/android/sk/changelogs/1005.txt new file mode 100644 index 000000000..8f2bfbfab --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/1005.txt @@ -0,0 +1,18 @@ +Novinky +• Pridaná podpora pre Android Auto +• Možnosť nastaviť skupiny kanálov ako hlavné karty na obrazovke +• [YouTube] Zdieľanie ako dočasný playlist + +• [SoundCloud] Karta „Páči sa“ kanál. + +Vylepšenia +• Lepšia nápoveda v paneli vyhľadávania +• Zobrazenie dátumu stiahnutia v sekcii „Stiahnuté” +• Použitie jazyka Android 13 pre jednotlivé aplikácie + +Opravy +• Oprava chybných farieb textu v tmavom režime +• [YouTube] Oprava playlistov, ktoré nenačítavajú viac ako 100 položiek +• [YouTube] Oprava chýbajúcich odporúčaných videí +• Oprava pádov v zobrazení zoznamu histórie +• Oprava časových značiek v odpovediach na komentáre. diff --git a/fastlane/metadata/android/sk/full_description.txt b/fastlane/metadata/android/sk/full_description.txt index 9de86c677..e1483d4fd 100644 --- a/fastlane/metadata/android/sk/full_description.txt +++ b/fastlane/metadata/android/sk/full_description.txt @@ -1 +1 @@ -NewPipe nepoužíva žiadne Google framework knižnice, ani YouTube API rozhranie. Len analyzuje web, aby získal potrebné informácie. Preto je možné túto aplikáciu používať na zariadeniach bez nainštalovaných Google služieb. Taktiež nepotrebujete účet na YouTube. Appka je FLOSS. +NewPipe nepoužíva Google framework knižnice, ani YouTube API rozhranie. Iba spracováva YouTube stránku aby získal potrebné informácie. Túto aplikáciu je teda možné používať na zariadeniach bez nainštalovaných Google služieb. Taktiež nepotrebujete účet na YouTube. Aplikácia je FLOSS. diff --git a/fastlane/metadata/android/ti/full_description.txt b/fastlane/metadata/android/ti/full_description.txt index f0afa90ab..f58ede5da 100644 --- a/fastlane/metadata/android/ti/full_description.txt +++ b/fastlane/metadata/android/ti/full_description.txt @@ -1 +1 @@ -ኒውፓይፕ ዝዀነ ይኹን ናይ ጎልጋል ቤተ-መጻሕፍቲ ወይ ናይ ዩቱብ ኤፒኢ ኣይጥቀምን ኢዩ። ነቲ ወብ ሳይት ዜድልዮ ሓበሬታ ንምርካብ ጥራይ እዩ ዚምርምሮ ። ስለዚ እዚ ኣፕሊኬሽን እዚ ብዘይ ናይ ጎልጋል ሰርቪስ ኣብ ኤለክትሮኒካዊ መሳርሒታት ክትጥቀመሉ ትኽእል ኢኻ ። ኒውፓይፕ ንምጥቃም እውን ናይ ዩቱብ ሕሳብ ኣየድልየካን ኢዩ እዚ ኸኣ FLOSS ኢዩ። +ኒውፓይፕ ዝዀነ ናይ ጉግል ቤተ-ምስሊታት ወይ ናይ ዩቱብ ኤፒኢይ ኣይጥቀምን ኢዩ። ነቲ መርበብ- ስፍራ ዜድልዮ ሓበሬታ ንምርካብ ጥራይ እዩ ዚምርምሮ። ስለዚ እዚ ኣፕሊኬሽን እዚ ብዘይ ናይ ጉግል ኣገልግሎት ኣብ ኤለክትሮኒካዊ-መሳርሒታት ክትጥቀመሉ ትኽእል ኢኻ። ኒውፓይፕ ንምጥቃም ናይ ዩቱብ ሕሳብ ኣየድልየካን ኢዩ፣ ኒውፓይፕ FLOSS ኢዩ። diff --git a/fastlane/metadata/android/ti/short_description.txt b/fastlane/metadata/android/ti/short_description.txt index f7f2099a1..107cabea0 100644 --- a/fastlane/metadata/android/ti/short_description.txt +++ b/fastlane/metadata/android/ti/short_description.txt @@ -1 +1 @@ -ብናጻ ፈኲስ ናይ ዩቱብ ግንባር ንኣንድሮይድ ። +ነጻ ናይ ዩቱብ ግንባር ንኣንድሮይድ። diff --git a/fastlane/metadata/android/uk/changelogs/1002.txt b/fastlane/metadata/android/uk/changelogs/1002.txt index a90cfff6b..f52bf43af 100644 --- a/fastlane/metadata/android/uk/changelogs/1002.txt +++ b/fastlane/metadata/android/uk/changelogs/1002.txt @@ -1 +1,4 @@ -Виправлено проблему невідтворюваності трансляцій YouTube +Виправлено помилку, через яку YouTube не відтворював жодної трансляції. + +У цьому випуску вирішено лише найактуальнішу помилку, яка перешкоджала завантаженню деталей відео YouTube. +Ми знаємо про інші проблеми, і незабаром випустимо окремий випуск для їх вирішення. diff --git a/fastlane/metadata/android/uk/changelogs/1003.txt b/fastlane/metadata/android/uk/changelogs/1003.txt index a90cfff6b..b969e091c 100644 --- a/fastlane/metadata/android/uk/changelogs/1003.txt +++ b/fastlane/metadata/android/uk/changelogs/1003.txt @@ -1 +1,6 @@ -Виправлено проблему невідтворюваності трансляцій YouTube +Це виправлення, яке виправляє помилки YouTube: +• [YouTube] Виправлено не завантаження інформації про відео, виправлено помилки HTTP 403 під час відтворення відео та відновлено відтворення деяких відео з віковими обмеженнями +• Виправлено незмінні розміри субтитрів +• Виправлено подвійне завантаження інформації під час відкриття потоку +• [Soundcloud] Видалено невідтворювані потоки, захищені DRM +• Оновлені переклади diff --git a/fastlane/metadata/android/uk/changelogs/1004.txt b/fastlane/metadata/android/uk/changelogs/1004.txt index a90cfff6b..1c2ec5d7f 100644 --- a/fastlane/metadata/android/uk/changelogs/1004.txt +++ b/fastlane/metadata/android/uk/changelogs/1004.txt @@ -1 +1,3 @@ -Виправлено проблему невідтворюваності трансляцій YouTube +У цьому випуску виправлено помилку, через яку YouTube відтворював лише 360p-потік. + +Зверніть увагу, що рішення, що використовується в цій версії, ймовірно, тимчасове, і в довгостроковій перспективі потрібно буде впровадити відеопротокол SABR, але учасники TeamNewPipe зараз зайняті, тому будь-яка допомога буде дуже вдячна! https://github.com/TeamNewPipe/NewPipe/issues/12248 diff --git a/fastlane/metadata/android/uk/changelogs/1005.txt b/fastlane/metadata/android/uk/changelogs/1005.txt new file mode 100644 index 000000000..474127f95 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/1005.txt @@ -0,0 +1,17 @@ +Нове +• Додано підтримку Android Auto +• Дозволено налаштування груп стрічок як вкладок головного екрана +• [YouTube] Поділитися як тимчасовий список відтворення +• [SoundCloud] Вкладка каналу «Вподобання» + +Покращено +• Кращі підказки в рядку пошуку +• Показувати дату завантаження в розділі «Завантаження» +• Використовувати мову Android 13 для кожної програми + +Виправлено +• Виправлено пошкоджені кольори тексту в темному режимі +• [YouTube] Виправлено списки відтворення, які не завантажували більше 100 елементів +• [YouTube] Виправлено відсутні рекомендовані відео +• Виправлено збої в перегляді історії +• Виправлено позначки часу у відповідях на коментарі diff --git a/fastlane/metadata/android/zh-Hans/changelogs/1001.txt b/fastlane/metadata/android/zh-Hans/changelogs/1001.txt new file mode 100644 index 000000000..cdebebf55 --- /dev/null +++ b/fastlane/metadata/android/zh-Hans/changelogs/1001.txt @@ -0,0 +1,6 @@ +改进 +- 始终允许在 Android 13以上系统上更改播放器通知首选项 + +修复 +- 修复了导出数据库/订阅时不会截断已存在的文件,从而可能导致导出损坏的问题 +- 修复了点击时间戳时,播放器从头开始恢复的问题 From e08d2d8726d6eadca78dc7ef06d537598daad6ca Mon Sep 17 00:00:00 2001 From: tobigr Date: Mon, 28 Jul 2025 22:02:16 +0200 Subject: [PATCH 13/23] Add new locals to the in-app language chooser --- app/src/main/res/values/settings_keys.xml | 32 +++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index f98639e04..01a812532 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -1192,6 +1192,8 @@ bn bn-bd bn-in + br + bs ca ckb cs @@ -1207,7 +1209,9 @@ fi fil fr + frc gl + gu he hi hr @@ -1219,23 +1223,31 @@ it ja jv + ka kab kmr + kn ko ku + la lt lv mk ml + mn + mr ms nb-no + nn ne nl nl-be + nqo oc or pa + pa-pk pl pt pt-br @@ -1254,7 +1266,11 @@ ta te th + ti + tl + tok tr + tt tzm uk ur @@ -1277,6 +1293,8 @@ বাংলা বাংলা (বাংলাদেশ) বাংলা (भारत) + Brezhoneg + Босански Català کوردیی سۆرانی Čeština @@ -1292,7 +1310,9 @@ Suomen kieli Wikang Filipino Français + Français (Louisiana) Galego + ગુજરાતી עברית हिन्दी Hrvatski @@ -1304,23 +1324,31 @@ Italiano 日本語 ꦧꦱꦗꦮ + ქართული Taqbaylit Kurmancî + ಕನ್ನಡ 한국어 کوردی + Latina Lietuvių kalba latviski македонски јазик മലയാളം + Монгол хэл + मराठी Bahasa Melayu Norsk bokmål + Norsk Nynorsk Nनेपाली Nederlands (NL) Nederlands (BE) + ߒߞߏ Occitan ଓଡ଼ିଆ ਪੰਜਾਬੀ + ਪੰਜਾਬੀ (PK) Polski Português Português (BR) @@ -1339,7 +1367,11 @@ தமிழ் తెలుగు ไทย + ትግርኛ + Wikang Tagalog + Toki Pona Türkçe + Татар теле Tamaziɣt українська мова اردو From 7130adb4eceaa43d60775190010a81db53ffb264 Mon Sep 17 00:00:00 2001 From: tobigr Date: Mon, 28 Jul 2025 22:02:29 +0200 Subject: [PATCH 14/23] Clean strings --- app/src/main/res/values-tl/strings.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/res/values-tl/strings.xml b/app/src/main/res/values-tl/strings.xml index 02794a620..d41b317e8 100644 --- a/app/src/main/res/values-tl/strings.xml +++ b/app/src/main/res/values-tl/strings.xml @@ -66,5 +66,4 @@ \nBuksan ang \"%1$s\" sa ayos ng app kung gusto mong makita ito. Mga Artista Nakalutang - \ No newline at end of file From ca9fc14c2aab2a49a4cd052136a0009a5a51a19b Mon Sep 17 00:00:00 2001 From: Stypox Date: Tue, 29 Jul 2025 20:18:31 +0200 Subject: [PATCH 15/23] Fix name of nepali language (there was a leftover N) --- app/src/main/res/values/settings_keys.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 01a812532..352e4cec1 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -1340,7 +1340,7 @@ Bahasa Melayu Norsk bokmål Norsk Nynorsk - Nनेपाली + नेपाली Nederlands (NL) Nederlands (BE) From ed93603815df0e58dcff19c72d412abd52444741 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Tue, 22 Jul 2025 00:01:40 +0200 Subject: [PATCH 16/23] WIP: Add SettingsMigration to change YouTube trending kiosk tab --- .../java/org/schabi/newpipe/MainActivity.java | 4 +- .../newpipe/settings/NewPipeSettings.java | 3 +- .../settings/migration/MigrationManager.java | 103 ++++++++++++++ .../{ => migration}/SettingMigrations.java | 128 ++++++++++++------ app/src/main/res/values/strings.xml | 2 + 5 files changed, 192 insertions(+), 48 deletions(-) create mode 100644 app/src/main/java/org/schabi/newpipe/settings/migration/MigrationManager.java rename app/src/main/java/org/schabi/newpipe/settings/{ => migration}/SettingMigrations.java (69%) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index 21f4f97a1..1aae7fa86 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -78,8 +78,8 @@ import org.schabi.newpipe.player.Player; import org.schabi.newpipe.player.event.OnKeyDownListener; import org.schabi.newpipe.player.helper.PlayerHolder; import org.schabi.newpipe.player.playqueue.PlayQueue; -import org.schabi.newpipe.settings.SettingMigrations; import org.schabi.newpipe.settings.UpdateSettingsFragment; +import org.schabi.newpipe.settings.migration.MigrationManager; import org.schabi.newpipe.util.Constants; import org.schabi.newpipe.util.DeviceUtils; import org.schabi.newpipe.util.KioskTranslator; @@ -195,7 +195,7 @@ public class MainActivity extends AppCompatActivity { UpdateSettingsFragment.askForConsentToUpdateChecks(this); } - SettingMigrations.showUserInfoIfPresent(this); + MigrationManager.showUserInfoIfPresent(this); } @Override diff --git a/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java b/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java index 421440ea7..0a5512c69 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java +++ b/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java @@ -13,6 +13,7 @@ import androidx.preference.PreferenceManager; import org.schabi.newpipe.App; import org.schabi.newpipe.R; +import org.schabi.newpipe.settings.migration.MigrationManager; import org.schabi.newpipe.util.DeviceUtils; import java.io.File; @@ -46,7 +47,7 @@ public final class NewPipeSettings { public static void initSettings(final Context context) { // first run migrations, then setDefaultValues, since the latter requires the correct types - SettingMigrations.runMigrationsIfNeeded(context); + MigrationManager.runMigrationsIfNeeded(context); // readAgain is true so that if new settings are added their default value is set PreferenceManager.setDefaultValues(context, R.xml.main_settings, true); diff --git a/app/src/main/java/org/schabi/newpipe/settings/migration/MigrationManager.java b/app/src/main/java/org/schabi/newpipe/settings/migration/MigrationManager.java new file mode 100644 index 000000000..d5b0e783d --- /dev/null +++ b/app/src/main/java/org/schabi/newpipe/settings/migration/MigrationManager.java @@ -0,0 +1,103 @@ +package org.schabi.newpipe.settings.migration; + +import android.content.Context; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.core.util.Consumer; + +import org.schabi.newpipe.R; +import org.schabi.newpipe.error.ErrorUtil; + +import java.util.ArrayList; +import java.util.List; + +/** + * MigrationManager is responsible for running migrations and showing the user information about + * the migrations that were applied. + */ +public final class MigrationManager { + + private static final String TAG = MigrationManager.class.getSimpleName(); + /** + * List of UI actions that are performed after the UI is initialized (e.g. showing alert + * dialogs) to inform the user about changes that were applied by migrations. + */ + private static final List> MIGRATION_INFO = new ArrayList<>(); + + private MigrationManager() { + // MigrationManager is a utility class that is completely static + } + + /** + * Run all migrations that are needed for the current version of NewPipe. + * This method should be called at the start of the application, before any other operations + * that depend on the settings. + * + * @param context Context that can be used to run migrations + */ + public static void runMigrationsIfNeeded(@NonNull final Context context) { + SettingMigrations.runMigrationsIfNeeded(context); + } + + /** + * Perform UI actions informing about migrations that took place if they are present. + * @param context Context that can be used to show dialogs/snackbars/toasts + */ + public static void showUserInfoIfPresent(@NonNull final Context context) { + if (MIGRATION_INFO.isEmpty()) { + return; + } + + try { + MIGRATION_INFO.get(0).accept(context); + } catch (final Exception e) { + ErrorUtil.showUiErrorSnackbar(context, "Showing migration info to the user", e); + // Remove the migration that caused the error and continue with the next one + MIGRATION_INFO.remove(0); + showUserInfoIfPresent(context); + } + } + + /** + * Add a migration info action that will be executed after the UI is initialized. + * This can be used to show dialogs/snackbars/toasts to inform the user about changes that + * were applied by migrations. + * + * @param info the action to be executed + */ + public static void addMigrationInfo(final Consumer info) { + MIGRATION_INFO.add(info); + } + + /** + * This method should be called when the user dismisses the migration info + * to check if there are any more migration info actions to be shown. + * @param context Context that can be used to show dialogs/snackbars/toasts + */ + public static void onMigrationInfoDismissed(@NonNull final Context context) { + MIGRATION_INFO.remove(0); + showUserInfoIfPresent(context); + } + + /** + * Creates a dialog to inform the user about the migration. + * @param uiContext Context that can be used to show dialogs/snackbars/toasts + * @param title the title of the dialog + * @param message the message of the dialog + * @return the dialog that can be shown to the user with a custom dismiss listener + */ + static AlertDialog createMigrationInfoDialog(@NonNull final Context uiContext, + @NonNull final String title, + @NonNull final String message) { + return new AlertDialog.Builder(uiContext) + .setTitle(title) + .setMessage(message) + .setPositiveButton(R.string.ok, null) + .setOnDismissListener(dialog -> + MigrationManager.onMigrationInfoDismissed(uiContext)) + .setCancelable(false) // prevents the dialog from being dismissed accidentally + .create(); + } + +} diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java b/app/src/main/java/org/schabi/newpipe/settings/migration/SettingMigrations.java similarity index 69% rename from app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java rename to app/src/main/java/org/schabi/newpipe/settings/migration/SettingMigrations.java index d13e73090..99af27766 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java +++ b/app/src/main/java/org/schabi/newpipe/settings/migration/SettingMigrations.java @@ -1,11 +1,14 @@ -package org.schabi.newpipe.settings; +package org.schabi.newpipe.settings.migration; + +import static org.schabi.newpipe.MainActivity.DEBUG; +import static org.schabi.newpipe.extractor.ServiceList.SoundCloud; +import static org.schabi.newpipe.extractor.ServiceList.YouTube; import android.content.Context; import android.content.SharedPreferences; import android.util.Log; import androidx.annotation.NonNull; -import androidx.appcompat.app.AlertDialog; import androidx.core.util.Consumer; import androidx.preference.PreferenceManager; @@ -25,27 +28,28 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import static org.schabi.newpipe.MainActivity.DEBUG; -import static org.schabi.newpipe.extractor.ServiceList.SoundCloud; - /** - * In order to add a migration, follow these steps, given P is the previous version:
- * - in the class body add a new {@code MIGRATION_P_P+1 = new Migration(P, P+1) { ... }} and put in - * the {@code migrate()} method the code that need to be run when migrating from P to P+1
- * - add {@code MIGRATION_P_P+1} at the end of {@link SettingMigrations#SETTING_MIGRATIONS}
- * - increment {@link SettingMigrations#VERSION}'s value by 1 (so it should become P+1) + * This class contains the code to migrate the settings from one version to another. + * Migrations are run automatically when the app is started and the settings version changed. + *
+ * In order to add a migration, follow these steps, given {@code P} is the previous version: + *
    + *
  • in the class body add a new {@code MIGRATION_P_P+1 = new Migration(P, P+1) { ... }} and put + * in the {@code migrate()} method the code that need to be run + * when migrating from {@code P} to {@code P+1}
  • + *
  • add {@code MIGRATION_P_P+1} at the end of {@link SettingMigrations#SETTING_MIGRATIONS}
  • + *
  • increment {@link SettingMigrations#VERSION}'s value by 1 + * (so it becomes {@code P+1})
  • + *
+ * Migrations can register UI actions using {@link MigrationManager#addMigrationInfo(Consumer)} + * that will be performed after the UI is initialized to inform the user about changes + * that were applied by migrations. */ public final class SettingMigrations { private static final String TAG = SettingMigrations.class.toString(); private static SharedPreferences sp; - /** - * List of UI actions that are performed after the UI is initialized (e.g. showing alert - * dialogs) to inform the user about changes that were applied by migrations. - */ - private static final List> MIGRATION_INFO = new ArrayList<>(); - private static final Migration MIGRATION_0_1 = new Migration(0, 1) { @Override public void migrate(@NonNull final Context context) { @@ -169,16 +173,63 @@ public final class SettingMigrations { && kioskTab.getKioskServiceId() == SoundCloud.getServiceId() && kioskTab.getKioskId().equals("Top 50"))) .collect(Collectors.toUnmodifiableList()); - if (tabs.size() != cleanedTabs.size()) { + if (tabs.size() != cleanedTabs.size() || DEBUG) { // TODO: remove debug condition tabsManager.saveTabs(cleanedTabs); // create an AlertDialog to inform the user about the change - MIGRATION_INFO.add((Context uiContext) -> new AlertDialog.Builder(uiContext) - .setTitle(R.string.migration_info_6_7_title) - .setMessage(R.string.migration_info_6_7_message) - .setPositiveButton(R.string.ok, null) - .setCancelable(false) - .create() - .show()); + MigrationManager.addMigrationInfo(uiContext -> + MigrationManager.createMigrationInfoDialog( + uiContext, + uiContext.getString(R.string.migration_info_6_7_title), + uiContext.getString(R.string.migration_info_6_7_message)) + .show()); + } + } + }; + + private static final Migration MIGRATION_7_8 = new Migration(7, 8) { + @Override + protected void migrate(@NonNull final Context context) { + // YouTube remove the combined Trending kiosk, see + // https://github.com/TeamNewPipe/NewPipe/discussions/12445 for more information. + // If the user has a dedicated YouTube/Trending kiosk tab, + // it is removed and replaced with the new live kiosk tab. + // The default trending kiosk tab is not touched + // because it uses the default kiosk provided by the extractor + // and is thus updated automatically. + final TabsManager tabsManager = TabsManager.getManager(context); + final List tabs = tabsManager.getTabs(); + final boolean hadYtTrendingTab = tabs.stream() + .anyMatch(tab -> !(tab instanceof Tab.KioskTab kioskTab + && kioskTab.getKioskServiceId() == YouTube.getServiceId() + && kioskTab.getKioskId().equals("Trending"))); + if (hadYtTrendingTab) { + final List cleanedTabs = new ArrayList<>(); + for (final Tab tab : tabs) { + if (tab instanceof Tab.KioskTab kioskTab + && kioskTab.getKioskServiceId() == YouTube.getServiceId() + && kioskTab.getKioskId().equals("Trending")) { + // replace the YouTube Trending tab with the new live kiosk tab + // TODO: use the correct kiosk ID for the live kiosk tab + cleanedTabs.add(new Tab.KioskTab(YouTube.getServiceId(), "Live")); + } else { + cleanedTabs.add(tab); + } + } + tabsManager.saveTabs(cleanedTabs); + } + + final boolean hasDefaultTrendingTab = tabs.stream() + .anyMatch(tab -> tab instanceof Tab.DefaultKioskTab); + + // TODO: remove debugging code + if (hadYtTrendingTab || hasDefaultTrendingTab || newVersion == VERSION) { + // User is informed about the change + MigrationManager.addMigrationInfo(uiContext -> + MigrationManager.createMigrationInfoDialog( + uiContext, + uiContext.getString(R.string.migration_info_7_8_title), + uiContext.getString(R.string.migration_info_7_8_message)) + .show()); } } }; @@ -196,26 +247,28 @@ public final class SettingMigrations { MIGRATION_3_4, MIGRATION_4_5, MIGRATION_5_6, - MIGRATION_6_7 + MIGRATION_6_7, + MIGRATION_7_8, }; /** * Version number for preferences. Must be incremented every time a migration is necessary. */ - private static final int VERSION = 7; + private static final int VERSION = 8; - public static void runMigrationsIfNeeded(@NonNull final Context context) { + static void runMigrationsIfNeeded(@NonNull final Context context) { // setup migrations and check if there is something to do sp = PreferenceManager.getDefaultSharedPreferences(context); final String lastPrefVersionKey = context.getString(R.string.last_used_preferences_version); - final int lastPrefVersion = sp.getInt(lastPrefVersionKey, 0); + //final int lastPrefVersion = sp.getInt(lastPrefVersionKey, 0); + final int lastPrefVersion = 6; // TODO: remove this line after testing // no migration to run, already up to date if (App.getApp().isFirstRun()) { sp.edit().putInt(lastPrefVersionKey, VERSION).apply(); return; - } else if (lastPrefVersion == VERSION) { + } else if (lastPrefVersion == VERSION && !DEBUG) { // TODO: remove DEBUG check return; } @@ -249,21 +302,6 @@ public final class SettingMigrations { sp.edit().putInt(lastPrefVersionKey, currentVersion).apply(); } - /** - * Perform UI actions informing about migrations that took place if they are present. - * @param context Context that can be used to show dialogs/snackbars/toasts - */ - public static void showUserInfoIfPresent(@NonNull final Context context) { - for (final Consumer consumer : MIGRATION_INFO) { - try { - consumer.accept(context); - } catch (final Exception e) { - ErrorUtil.showUiErrorSnackbar(context, "Showing migration info to the user", e); - } - } - MIGRATION_INFO.clear(); - } - private SettingMigrations() { } abstract static class Migration { @@ -282,7 +320,7 @@ public final class SettingMigrations { * the current settings version. */ private boolean shouldMigrate(final int currentVersion) { - return oldVersion >= currentVersion; + return oldVersion >= currentVersion || newVersion == VERSION; } protected abstract void migrate(@NonNull Context context); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6ab2fc7a5..cfc51f4e9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -866,4 +866,6 @@ The settings in the export being imported use a vulnerable format that was deprecated since NewPipe 0.27.0. Make sure the export being imported is from a trusted source, and prefer using only exports obtained from NewPipe 0.27.0 or newer in the future. Support for importing settings in this vulnerable format will soon be removed completely, and then old versions of NewPipe will not be able to import settings of exports from new versions anymore. SoundCloud Top 50 page removed SoundCloud has discontinued the original Top 50 charts. The corresponding tab has been removed from your main page. + YouTube combined trending removed + YouTube has discontinued the combined trending page as of 21st July 2025. NewPipe replaced the default trending page with the trending livestreams.\n\nYou can also select different ones in the content settings. From 7cecd11f721d49c8da357a63ef193dc19a42b3b0 Mon Sep 17 00:00:00 2001 From: Stypox Date: Mon, 28 Jul 2025 19:24:18 +0200 Subject: [PATCH 17/23] [YouTube] Add icons and strings for new trending pages --- .../org/schabi/newpipe/util/KioskTranslator.java | 16 ++++++++++++++++ app/src/main/res/drawable/ic_podcasts.xml | 5 +++++ app/src/main/res/values/strings.xml | 4 ++++ 3 files changed, 25 insertions(+) create mode 100644 app/src/main/res/drawable/ic_podcasts.xml diff --git a/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java b/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java index b8c2ff236..69cf17639 100644 --- a/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java +++ b/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java @@ -52,6 +52,14 @@ public final class KioskTranslator { return c.getString(R.string.featured); case "Radio": return c.getString(R.string.radio); + case "trending_gaming": + return c.getString(R.string.gaming); + case "trending_music": + return c.getString(R.string.music); + case "trending_movies_and_shows": + return c.getString(R.string.movies); + case "trending_podcasts_episodes": + return c.getString(R.string.podcasts); default: return kioskId; } @@ -77,6 +85,14 @@ public final class KioskTranslator { return R.drawable.ic_stars; case "Radio": return R.drawable.ic_radio; + case "trending_gaming": + return R.drawable.ic_videogame_asset; + case "trending_music": + return R.drawable.ic_music_note; + case "trending_movies_and_shows": + return R.drawable.ic_movie; + case "trending_podcasts_episodes": + return R.drawable.ic_podcasts; default: return 0; } diff --git a/app/src/main/res/drawable/ic_podcasts.xml b/app/src/main/res/drawable/ic_podcasts.xml new file mode 100644 index 000000000..c297e8fd3 --- /dev/null +++ b/app/src/main/res/drawable/ic_podcasts.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cfc51f4e9..a8c8694ca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -868,4 +868,8 @@ SoundCloud has discontinued the original Top 50 charts. The corresponding tab has been removed from your main page. YouTube combined trending removed YouTube has discontinued the combined trending page as of 21st July 2025. NewPipe replaced the default trending page with the trending livestreams.\n\nYou can also select different ones in the content settings. + Gaming + Music + Movies + Podcasts From 8400a9ae8ec7a4361b9398f7e20177531d751119 Mon Sep 17 00:00:00 2001 From: Stypox Date: Mon, 28 Jul 2025 21:47:26 +0200 Subject: [PATCH 18/23] Remove DEBUG statements and don't replace yt trending with live You can use this command to test instead: adb shell run-as org.schabi.newpipe.debug.pr12450 'sed -i '"'"'s###'"'"' shared_prefs/org.schabi.newpipe.debug.pr12450_preferences.xml' && adb shell run-as org.schabi.newpipe.debug.pr12450 'sed -i '"'"'s#\]}#,{\"tab_id\":5,\"service_id\":0,\"kiosk_id\":\"Trending\"},{\"tab_id\":5,\"service_id\":1,\"kiosk_id\":\"Top 50\"}]}#'"'"' shared_prefs/org.schabi.newpipe.debug.pr12450_preferences.xml' --- .../settings/migration/SettingMigrations.java | 34 ++++++------------- app/src/main/res/values/strings.xml | 2 +- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/migration/SettingMigrations.java b/app/src/main/java/org/schabi/newpipe/settings/migration/SettingMigrations.java index 99af27766..67944075d 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/migration/SettingMigrations.java +++ b/app/src/main/java/org/schabi/newpipe/settings/migration/SettingMigrations.java @@ -21,7 +21,6 @@ import org.schabi.newpipe.settings.tabs.Tab; import org.schabi.newpipe.settings.tabs.TabsManager; import org.schabi.newpipe.util.DeviceUtils; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -173,7 +172,7 @@ public final class SettingMigrations { && kioskTab.getKioskServiceId() == SoundCloud.getServiceId() && kioskTab.getKioskId().equals("Top 50"))) .collect(Collectors.toUnmodifiableList()); - if (tabs.size() != cleanedTabs.size() || DEBUG) { // TODO: remove debug condition + if (tabs.size() != cleanedTabs.size()) { tabsManager.saveTabs(cleanedTabs); // create an AlertDialog to inform the user about the change MigrationManager.addMigrationInfo(uiContext -> @@ -198,31 +197,19 @@ public final class SettingMigrations { // and is thus updated automatically. final TabsManager tabsManager = TabsManager.getManager(context); final List tabs = tabsManager.getTabs(); - final boolean hadYtTrendingTab = tabs.stream() - .anyMatch(tab -> !(tab instanceof Tab.KioskTab kioskTab + final List cleanedTabs = tabs.stream() + .filter(tab -> !(tab instanceof Tab.KioskTab kioskTab && kioskTab.getKioskServiceId() == YouTube.getServiceId() - && kioskTab.getKioskId().equals("Trending"))); - if (hadYtTrendingTab) { - final List cleanedTabs = new ArrayList<>(); - for (final Tab tab : tabs) { - if (tab instanceof Tab.KioskTab kioskTab - && kioskTab.getKioskServiceId() == YouTube.getServiceId() - && kioskTab.getKioskId().equals("Trending")) { - // replace the YouTube Trending tab with the new live kiosk tab - // TODO: use the correct kiosk ID for the live kiosk tab - cleanedTabs.add(new Tab.KioskTab(YouTube.getServiceId(), "Live")); - } else { - cleanedTabs.add(tab); - } - } + && kioskTab.getKioskId().equals("Trending"))) + .collect(Collectors.toUnmodifiableList()); + if (tabs.size() != cleanedTabs.size()) { tabsManager.saveTabs(cleanedTabs); } final boolean hasDefaultTrendingTab = tabs.stream() .anyMatch(tab -> tab instanceof Tab.DefaultKioskTab); - // TODO: remove debugging code - if (hadYtTrendingTab || hasDefaultTrendingTab || newVersion == VERSION) { + if (tabs.size() != cleanedTabs.size() || hasDefaultTrendingTab) { // User is informed about the change MigrationManager.addMigrationInfo(uiContext -> MigrationManager.createMigrationInfoDialog( @@ -261,14 +248,13 @@ public final class SettingMigrations { // setup migrations and check if there is something to do sp = PreferenceManager.getDefaultSharedPreferences(context); final String lastPrefVersionKey = context.getString(R.string.last_used_preferences_version); - //final int lastPrefVersion = sp.getInt(lastPrefVersionKey, 0); - final int lastPrefVersion = 6; // TODO: remove this line after testing + final int lastPrefVersion = sp.getInt(lastPrefVersionKey, 0); // no migration to run, already up to date if (App.getApp().isFirstRun()) { sp.edit().putInt(lastPrefVersionKey, VERSION).apply(); return; - } else if (lastPrefVersion == VERSION && !DEBUG) { // TODO: remove DEBUG check + } else if (lastPrefVersion == VERSION) { return; } @@ -320,7 +306,7 @@ public final class SettingMigrations { * the current settings version. */ private boolean shouldMigrate(final int currentVersion) { - return oldVersion >= currentVersion || newVersion == VERSION; + return oldVersion >= currentVersion; } protected abstract void migrate(@NonNull Context context); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a8c8694ca..c78845472 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -867,7 +867,7 @@ SoundCloud Top 50 page removed SoundCloud has discontinued the original Top 50 charts. The corresponding tab has been removed from your main page. YouTube combined trending removed - YouTube has discontinued the combined trending page as of 21st July 2025. NewPipe replaced the default trending page with the trending livestreams.\n\nYou can also select different ones in the content settings. + YouTube has discontinued the combined trending page as of 21st July 2025. NewPipe replaced the default trending page with the trending livestreams.\n\nYou can also select different trending pages in \"Settings > Content > Content of main page\". Gaming Music Movies From d96c0aebb1c2a893fb28e6cf40aa9af772ecb002 Mon Sep 17 00:00:00 2001 From: Stypox Date: Thu, 31 Jul 2025 22:48:13 +0200 Subject: [PATCH 19/23] Show tabs above kiosks in drawer --- .../java/org/schabi/newpipe/MainActivity.java | 60 ++++++++++--------- app/src/main/res/menu/drawer_items.xml | 1 + 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index 1aae7fa86..4fbd562b4 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -263,19 +263,6 @@ public class MainActivity extends AppCompatActivity { */ private void addDrawerMenuForCurrentService() throws ExtractionException { //Tabs - final int currentServiceId = ServiceHelper.getSelectedServiceId(this); - final StreamingService service = NewPipe.getService(currentServiceId); - - int kioskMenuItemId = 0; - - for (final String ks : service.getKioskList().getAvailableKiosks()) { - drawerLayoutBinding.navigation.getMenu() - .add(R.id.menu_tabs_group, kioskMenuItemId, 0, KioskTranslator - .getTranslatedKioskName(ks, this)) - .setIcon(KioskTranslator.getKioskIcon(ks)); - kioskMenuItemId++; - } - drawerLayoutBinding.navigation.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_SUBSCRIPTIONS, ORDER, R.string.tab_subscriptions) @@ -293,6 +280,20 @@ public class MainActivity extends AppCompatActivity { .add(R.id.menu_tabs_group, ITEM_ID_HISTORY, ORDER, R.string.action_history) .setIcon(R.drawable.ic_history); + //Kiosks + final int currentServiceId = ServiceHelper.getSelectedServiceId(this); + final StreamingService service = NewPipe.getService(currentServiceId); + + int kioskMenuItemId = 0; + + for (final String ks : service.getKioskList().getAvailableKiosks()) { + drawerLayoutBinding.navigation.getMenu() + .add(R.id.menu_kiosks_group, kioskMenuItemId, 0, KioskTranslator + .getTranslatedKioskName(ks, this)) + .setIcon(KioskTranslator.getKioskIcon(ks)); + kioskMenuItemId++; + } + //Settings and About drawerLayoutBinding.navigation.getMenu() .add(R.id.menu_options_about_group, ITEM_ID_SETTINGS, ORDER, R.string.settings) @@ -312,10 +313,13 @@ public class MainActivity extends AppCompatActivity { changeService(item); break; case R.id.menu_tabs_group: + tabSelected(item); + break; + case R.id.menu_kiosks_group: try { - tabSelected(item); + kioskSelected(item); } catch (final Exception e) { - ErrorUtil.showUiErrorSnackbar(this, "Selecting main page tab", e); + ErrorUtil.showUiErrorSnackbar(this, "Selecting drawer kiosk", e); } break; case R.id.menu_options_about_group: @@ -339,7 +343,7 @@ public class MainActivity extends AppCompatActivity { .setChecked(true); } - private void tabSelected(final MenuItem item) throws ExtractionException { + private void tabSelected(final MenuItem item) { switch (item.getItemId()) { case ITEM_ID_SUBSCRIPTIONS: NavigationHelper.openSubscriptionFragment(getSupportFragmentManager()); @@ -356,18 +360,19 @@ public class MainActivity extends AppCompatActivity { case ITEM_ID_HISTORY: NavigationHelper.openStatisticFragment(getSupportFragmentManager()); break; - default: - final StreamingService currentService = ServiceHelper.getSelectedService(this); - int kioskMenuItemId = 0; - for (final String kioskId : currentService.getKioskList().getAvailableKiosks()) { - if (kioskMenuItemId == item.getItemId()) { - NavigationHelper.openKioskFragment(getSupportFragmentManager(), - currentService.getServiceId(), kioskId); - break; - } - kioskMenuItemId++; - } + } + } + + private void kioskSelected(final MenuItem item) throws ExtractionException { + final StreamingService currentService = ServiceHelper.getSelectedService(this); + int kioskMenuItemId = 0; + for (final String kioskId : currentService.getKioskList().getAvailableKiosks()) { + if (kioskMenuItemId == item.getItemId()) { + NavigationHelper.openKioskFragment(getSupportFragmentManager(), + currentService.getServiceId(), kioskId); break; + } + kioskMenuItemId++; } } @@ -408,6 +413,7 @@ public class MainActivity extends AppCompatActivity { drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_services_group); drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_tabs_group); + drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_kiosks_group); drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_options_about_group); // Show up or down arrow diff --git a/app/src/main/res/menu/drawer_items.xml b/app/src/main/res/menu/drawer_items.xml index 24c321b8a..8214f3f02 100644 --- a/app/src/main/res/menu/drawer_items.xml +++ b/app/src/main/res/menu/drawer_items.xml @@ -2,5 +2,6 @@ + From b7b836e941a87a44a149775dc33c23a4f001055c Mon Sep 17 00:00:00 2001 From: Stypox Date: Thu, 31 Jul 2025 23:10:47 +0200 Subject: [PATCH 20/23] Update the names of YT kiosks --- .../java/org/schabi/newpipe/util/KioskTranslator.java | 8 ++++---- .../main/java/org/schabi/newpipe/util/Localization.java | 3 ++- app/src/main/res/values/strings.xml | 8 ++++---- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java b/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java index 69cf17639..5aa332159 100644 --- a/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java +++ b/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java @@ -53,13 +53,13 @@ public final class KioskTranslator { case "Radio": return c.getString(R.string.radio); case "trending_gaming": - return c.getString(R.string.gaming); + return c.getString(R.string.trending_gaming); case "trending_music": - return c.getString(R.string.music); + return c.getString(R.string.trending_music); case "trending_movies_and_shows": - return c.getString(R.string.movies); + return c.getString(R.string.trending_movies); case "trending_podcasts_episodes": - return c.getString(R.string.podcasts); + return c.getString(R.string.trending_podcasts); default: return kioskId; } diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index bd5463088..1073afffd 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -388,9 +388,10 @@ public final class Localization { * {@code parsed != null} and the relevant setting is enabled, {@code textual} will * be appended to the returned string for debugging purposes. */ + @Nullable public static String relativeTimeOrTextual(@Nullable final Context context, @Nullable final DateWrapper parsed, - final String textual) { + @Nullable final String textual) { if (parsed == null) { return textual; } else if (DEBUG && context != null && PreferenceManager diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c78845472..57f78c221 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -868,8 +868,8 @@ SoundCloud has discontinued the original Top 50 charts. The corresponding tab has been removed from your main page. YouTube combined trending removed YouTube has discontinued the combined trending page as of 21st July 2025. NewPipe replaced the default trending page with the trending livestreams.\n\nYou can also select different trending pages in \"Settings > Content > Content of main page\". - Gaming - Music - Movies - Podcasts + Gaming trends + Trending podcasts + Trending movies and shows + Trending music From b846746119fb037b39425775acbea53d92472673 Mon Sep 17 00:00:00 2001 From: Stypox Date: Thu, 31 Jul 2025 23:32:04 +0200 Subject: [PATCH 21/23] Update NewPipeExtractor to v0.24.8 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 54bd86a72..d6c93c1f7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -214,7 +214,7 @@ dependencies { // the corresponding commit hash, since JitPack sometimes deletes artifacts. // If there’s already a git hash, just add more of it to the end (or remove a letter) // to cause jitpack to regenerate the artifact. - implementation 'com.github.TeamNewPipe:NewPipeExtractor:7adbc48a0aa872c016b8ec089e278d5e12772054' + implementation 'com.github.TeamNewPipe:NewPipeExtractor:v0.24.8' implementation 'com.github.TeamNewPipe:NoNonsense-FilePicker:5.0.0' /** Checkstyle **/ From 5aefa4aff258487df72343ea5edcfbe43e1b3f2e Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 31 Jul 2025 23:42:34 +0200 Subject: [PATCH 22/23] Translated using Weblate (Tigrinya) Currently translated at 12.7% (95 of 748 strings) Co-authored-by: fool --- app/src/main/res/values-ti/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-ti/strings.xml b/app/src/main/res/values-ti/strings.xml index e1f61b7d1..f25b86cc1 100644 --- a/app/src/main/res/values-ti/strings.xml +++ b/app/src/main/res/values-ti/strings.xml @@ -5,7 +5,7 @@ ውጽኢት ናይ፦ %s ንኽትጅምር ነቲ ምድላይ ምልክት ጠውቆ። ዝተሓትመሉ ዕለት %1$s - ናይ ዥረት ተጻዋታይ ኣይተረኽበን። VLC ኣውርድ፧ + ናይ ዥረት ተጻዋታይ ኣይተረኽበን። VLC ይውርድ፧ ሐራይ ቅጥዕታት \"%1$s\" ማለቱ ድዩ፧ From d6c0dc32d1aea7d48405577db352488d7b633ff1 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Fri, 1 Aug 2025 10:50:54 +0200 Subject: [PATCH 23/23] Correctly ignore new version check for picasso --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 35846c551..dbffc2bf6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -280,7 +280,7 @@ dependencies { implementation "com.github.lisawray.groupie:groupie-viewbinding:${groupieVersion}" // Image loading - //noinspection GradleDependency --> 2.8 is the last version, not 2.71828! + //noinspection NewerVersionAvailable,GradleDependency --> 2.8 is the last version, not 2.71828! implementation "com.squareup.picasso:picasso:2.8" // Markdown library for Android