Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kasts for openSUSE:Factory checked in at 2026-05-11 16:53:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kasts (Old) and /work/SRC/openSUSE:Factory/.kasts.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kasts" Mon May 11 16:53:02 2026 rev:39 rq:1351607 version:26.04.1 Changes: -------- --- /work/SRC/openSUSE:Factory/kasts/kasts.changes 2026-04-17 21:52:06.664083150 +0200 +++ /work/SRC/openSUSE:Factory/.kasts.new.1966/kasts.changes 2026-05-11 17:00:22.204305203 +0200 @@ -1,0 +2,15 @@ +Thu May 7 08:02:28 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 26.04.1 + * New bugfix release + * For more details please see: + * https://kde.org/announcements/gear/26.04.1/ +- Changes since 26.04.0: + * Fix the hasEnclosure check by only executing it once + * Some more fixes to clean up and avoid db corruption (kde#519232) + * Fix doing quick feed updates (kde#519232) + * Fix casting of globaldrawer to correct type + * Update appstream data with release information about 26.04.0 + * Fix Android build with Qt 6.11 + +------------------------------------------------------------------- Old: ---- kasts-26.04.0.tar.xz kasts-26.04.0.tar.xz.sig New: ---- kasts-26.04.1.tar.xz kasts-26.04.1.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kasts.spec ++++++ --- /var/tmp/diff_new_pack.wjzI0F/_old 2026-05-11 17:00:23.608363140 +0200 +++ /var/tmp/diff_new_pack.wjzI0F/_new 2026-05-11 17:00:23.620363635 +0200 @@ -21,7 +21,7 @@ %bcond_without released Name: kasts -Version: 26.04.0 +Version: 26.04.1 Release: 0 Summary: Kirigami-based podcast player License: GPL-2.0-or-later ++++++ kasts-26.04.0.tar.xz -> kasts-26.04.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/CMakeLists.txt new/kasts-26.04.1/CMakeLists.txt --- old/kasts-26.04.0/CMakeLists.txt 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/CMakeLists.txt 2026-05-05 04:45:21.000000000 +0200 @@ -8,7 +8,7 @@ # KDE Applications version, managed by release script. set(RELEASE_SERVICE_VERSION_MAJOR "26") set(RELEASE_SERVICE_VERSION_MINOR "04") -set(RELEASE_SERVICE_VERSION_MICRO "0") +set(RELEASE_SERVICE_VERSION_MICRO "1") set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") project(kasts VERSION ${RELEASE_SERVICE_VERSION}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/android/build.gradle new/kasts-26.04.1/android/build.gradle --- old/kasts-26.04.0/android/build.gradle 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/android/build.gradle 2026-05-05 04:45:21.000000000 +0200 @@ -9,7 +9,7 @@ buildscript { repositories { google() - jcenter() + mavenCentral() } dependencies { @@ -19,7 +19,7 @@ repositories { google() - jcenter() + mavenCentral() } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/org.kde.kasts.appdata.xml new/kasts-26.04.1/org.kde.kasts.appdata.xml --- old/kasts-26.04.0/org.kde.kasts.appdata.xml 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/org.kde.kasts.appdata.xml 2026-05-05 04:45:21.000000000 +0200 @@ -97,7 +97,7 @@ <p xml:lang="ar">كاست تطبيق مدونات صوتية بشكل جميل للحاسب والهاتف</p> <p xml:lang="ca">El Kasts és una aplicació convergent de pòdcast que funciona bé a l'escriptori i al mòbil.</p> <p xml:lang="ca-valencia">Kasts és una aplicació convergent de pòdcast que treballa bé en l'escriptori i en el mòbil.</p> - <p xml:lang="cs">Kasts je konvergovaná aplikace pro podcasty, která vypadá dobře na počítači i mobilu.</p> + <p xml:lang="cs">Kasts je konvergentní aplikace pro podcasty, která vypadá dobře na počítači i mobilu.</p> <p xml:lang="da">Kasts er et konvergerende podcastprogram, der ser godt ud på desktop og mobiler.</p> <p xml:lang="de">Kasts ist eine konvergente Podcast-Anwendung, die sowohl auf Desktop-Rechnern, als auch auf Mobilgeräten gut aussieht.</p> <p xml:lang="en-GB">Kasts is a convergent podcast application that looks good on desktop and mobile.</p> @@ -349,7 +349,7 @@ <caption xml:lang="ar">كاست على سطح المكتب مع الشريط الرأسي المبدئي</caption> <caption xml:lang="ca">El Kasts a l'escriptori amb la barra de capçalera predeterminada</caption> <caption xml:lang="ca-valencia">Kasts en l'escriptori amb la barra de capçalera predeterminada</caption> - <caption xml:lang="cs">Kasty na ploše s výchozím záhlavím</caption> + <caption xml:lang="cs">Kasts na ploše s výchozím záhlavím</caption> <caption xml:lang="da">Kast på desktoppen med standard overskriftsbar</caption> <caption xml:lang="de">Kasts auf der Arbeitsfläche mit Standard-Kopfleiste</caption> <caption xml:lang="en-GB">Kasts on the desktop with default header bar</caption> @@ -385,7 +385,7 @@ <caption xml:lang="ar">كاست على سطح المكتب مع شريط رأسي مصغر</caption> <caption xml:lang="ca">El Kasts a l'escriptori amb la barra de capçalera minimitzada</caption> <caption xml:lang="ca-valencia">Kasts en l'escriptori amb la barra de capçalera minimitzada</caption> - <caption xml:lang="cs">Kasty na ploše s minimalizovaným záhlavím</caption> + <caption xml:lang="cs">Kasts na ploše s minimalizovaným záhlavím</caption> <caption xml:lang="da">Kasts på desktoppen med minimeret overskriftsbar</caption> <caption xml:lang="de">Kasts auf der Arbeitsfläche mit minimierter Kopfleiste</caption> <caption xml:lang="en-GB">Kasts on the desktop with minimised header bar</caption> @@ -495,7 +495,240 @@ </screenshots> <launchable type="desktop-id">org.kde.kasts.desktop</launchable> <releases> - <release version="26.04.0" date="2026-04-16"/> + <release version="26.04.1" date="2026-05-07"/> + <release version="26.04.0" date="2026-04-16"> + <description> + <p>New features in this release:</p> + <p xml:lang="ar">مزايا جديدة في هذا الإصدار:</p> + <p xml:lang="ca">Característiques noves d'aquesta versió:</p> + <p xml:lang="ca-valencia">Característiques noves d'esta versió:</p> + <p xml:lang="cs">Nové funkce v této verzi:</p> + <p xml:lang="de">Neue Funktionen in dieser Version:</p> + <p xml:lang="es">Nuevas funciones de esta versión:</p> + <p xml:lang="fr">Nouvelles fonctionnalités dans cette version :</p> + <p xml:lang="he">יכולות חדשות במהדורה הזאת:</p> + <p xml:lang="ia">Nove characteristicas in iste version:</p> + <p xml:lang="is">Nýir eiginleikar í þessari útgáfu:</p> + <p xml:lang="it">Nuove funzionalità di questa versione:</p> + <p xml:lang="ka">ახალი ფუნქციები ამ გამოცემაში:</p> + <p xml:lang="nl">Nieuwe functies in deze uitgave:</p> + <p xml:lang="pt-BR">Novas funcionalidades nesta versão:</p> + <p xml:lang="ru">Новое в этом выпуске:</p> + <p xml:lang="sk">New features in this release:</p> + <p xml:lang="sl">Nove zmožnosti v tej izdaji:</p> + <p xml:lang="tr">Bu sürümdeki yeni özellikler:</p> + <p xml:lang="uk">Нові можливості у цьому випуску:</p> + <ul> + <li>A large part of the app backend (e.g. database storage) has been rewritten to use unique identifiers for podcasts and episodes. This solves several known issues (e.g. database conflicts) and paves the way to future improvements in UI speed and memory/cpu consumption.</li> + <li xml:lang="ar">أعيدت كتابة جزء كبير من البنية الخلفية للتطبيق (مثل تخزين قاعدة البيانات) بحيث تستخدم معرّفات فريدة للبودكاست والحلقات. ويحل هذا العديد من المشكلات المعروفة (مثل تعارضات قاعدة البيانات) ويمهد الطريق لتحسينات مستقبلية في سرعة واجهة المستخدم واستهلاك الذاكرة/وحدة المعالجة المركزية.</li> + <li xml:lang="ca">Una gran part del dorsal de l'aplicació (p. ex., l'emmagatzematge de la base de dades) s'ha reescrit per a utilitzar identificadors únics de podcasts i episodis. Això resol diversos problemes coneguts (p. ex., conflictes de bases de dades) i aplana el camí a millores futures en la velocitat de la IU i el consum de memòria / CPU.</li> + <li xml:lang="ca-valencia">Una gran part del dorsal de l'aplicació (p. ex., l'emmagatzematge de la base de dades) s'ha reescrit per a utilitzar identificadors únics de pòdcast i episodis. Açò resol diversos problemes coneguts (p. ex., conflictes de bases de dades) i aplana el camí cap a millores futures en la velocitat de la IU i el consum de memòria / CPU.</li> + <li xml:lang="cs">Velká část podpůrné vrstvy aplikace (např. úložiště databáze) byla přepracována tak, aby pro podcasty a epizody používala jedinečné identifikátory. Tím se vyřešilo několik známých problémů (např. konflikty v databázi) a připravila se půda pro budoucí zlepšení rychlosti uživatelského rozhraní a snížení spotřeby paměti a procesoru.</li> + <li xml:lang="es">Gran parte del motor de la aplicación (por ejemplo, el almacenamiento de la base de datos) se ha reescrito para usar identificadores únicos para pódcast y episodios. Esto resuelve varios problemas conocidos (por ejemplo, conflictos de base de datos) y allana el camino para futuras mejoras en la velocidad de la interfaz de usuario y el consumo de memoria/CPU.</li> + <li xml:lang="fr">Une grande partie du moteur de l'application (Par exemple l'enregistrement dans la base de données) a été réécrite pour utiliser des identifiants uniques pour les podcasts et les épisodes. Cela résout plusieurs problèmes connus (Par exemple, les conflits dans la base de données) et ouvre la voie à de futures améliorations pour la réactivité de l'interface utilisateur et de la consommation de mémoire / processeur.</li> + <li xml:lang="he">חלק גדול ממנגנון היישום (כלומר אחסון במסד נתונים) שוכתב כך שישתמש במזהים ייחודיים להסכתים ולפרקים. השכתוב הזה פותר מגוון תקלות ידועות (כלומר סתירות במסד הנתונים) וסולל את הדרך לשיפורים עתידיים במהירות ממשק המשתמש וצריכה של זיכרון/מעבד.</li> + <li xml:lang="ia">Un grande parte del backend (retro administration) del application (p.ex. le immagazinage in bases de datos) ha essite rescribite pro usar identificatores unic pro podcasts e episodios. Isto resolve plure problemas cognoscite (p.ex. conflictos de base de datos) e prepara le via pro meliorationes futur in le velocitate del UI e le consumo de memoria/CPU.</li> + <li xml:lang="it">Gran parte del motore dell'applicazione (ad esempio, l'archiviazione della banca dati) è stata riscritta per utilizzare identificatori univoci per podcast ed episodi. Questo risolve diversi problemi noti (ad esempio, conflitti della banca dati) e apre la strada a futuri miglioramenti in termini di velocità dell'interfaccia utente e consumo di memoria/CPU.</li> + <li xml:lang="ka">აპის უკანაბოლოს დიდი ნაწილი (მაგ: მონაცემთა ბაზის საცავი) თავიდან იქნა დაწერილი, რომ გამოიყენოს უნიკალური იდენტიფიკატორები პოდკასტებისა და ეპიზოდებისთვის. ეს ჭრის რამდენიმე ცნობილ პრობლემას (მაგ: მონაცემთა ბაზის კონფლიქტებს) და გვაძლევს გზას მომავალში ინტერფეისის სიჩქარისა და მეხსიერების/პროცესორის გამოყენების ოპტიმიზაციისკენ.</li> + <li xml:lang="nl">Een groot deel van de backend van de toepassing (bijv. databaseopslag) is herschreven om unieke identificatoren te gebruiken voor podcasts en afleveringen. Dit lost verschillende bekende problemen op (bijv. databaseconflicten) en maakt de weg vrij voor toekomstige verbeteringen in de snelheid van de gebruikersinterface en het geheugen-/CPU-verbruik.</li> + <li xml:lang="pt-BR">Grande parte do backend do aplicativo (por exemplo, o armazenamento do banco de dados) foi reescrita para usar identificadores exclusivos para podcasts e episódios. Isso resolve diversos problemas conhecidos (como conflitos no banco de dados) e abre caminho para futuras melhorias na velocidade da interface do usuário e no consumo de memória/CPU.</li> + <li xml:lang="sk">Veľká časť backendu aplikácie (napr. databázové úložisko) bola prepísaná na používanie jedinečných identifikátorov pre podcasty a epizódy. To rieši niekoľko známych problémov (napr. konflikty databázy) a pripravuje cestu pre budúce vylepšenia rýchlosti rozhrania a spotreby pamäte/procesora.</li> + <li xml:lang="sl">Velik del zalednega dela aplikacije (npr. shranjevanje podatkovne baze) je bil prepisan tako, da za podcaste in epizode uporablja enolične identifikatorje. To rešuje več znanih težav (npr. konflikte podatkovnih baz) in utira pot prihodnjim izboljšavam hitrosti uporabniškega vmesnika in porabe pomnilnika/procesorja.</li> + <li xml:lang="tr">Uygulama arka planının büyük bir kısmı (örneğin verit abanı depolaması) pod yayınları ve bölümler için benzersiz tanımlayıcılar kullanacak şekilde yeniden yazıldı. Bu, bilinen çeşitli sorunları (örneğin veri tabanı çakışmaları) çözüyor ve kullanıcı arayüzü hızı ile bellek/işlemci tüketiminde gelecekteki iyileştirmelerin önünü açıyor.</li> + <li xml:lang="uk">Значну частину серверної частини програми (наприклад, сховище бази даних) було переписано з метою використання унікальних ідентифікаторів для трансляцій та епізодів. Це вирішує кілька відомих проблем (наприклад, конфлікти бази даних) та прокладає шлях до майбутніх покращень швидкості інтерфейсу користувача та споживання пам'яті/процесора.</li> + <li>Due to this rewrite, bulk episode actions (e.g. add/remove from queue, mark as favorite) should now be much faster on large selections.</li> + <li xml:lang="ar">بفضل هذه التعديلات، من المفترض أن تصبح الإجراءات الجماعية المتعلقة بالحلقات (مثل الإضافة إلى قائمة الانتظار أو الحذف منها، أو وضع علامة ”مفضلة“) أسرع بكثير عند التعامل مع مجموعات كبيرة من الحلقات.</li> + <li xml:lang="ca">A causa d'aquesta reescriptura, les accions en massa d'episodis (p. ex. afegir/eliminar de la cua, marcar com a favorit) ara haurien de ser molt més ràpides en seleccions grans.</li> + <li xml:lang="ca-valencia">A causa d'esta reescriptura, les accions en massa d'episodis (p. ex., afegir/eliminar de la cua, marcar com a favorit) ara haurien de ser molt més ràpides en seleccions grans.</li> + <li xml:lang="cs">Díky této úpravě by hromadné operace s epizodami (např. přidání do fronty, odebrání z fronty, označení jako oblíbené) měly být nyní při výběru většího počtu položek mnohem rychlejší.</li> + <li xml:lang="es">Gracias a esta reescritura, las acciones masivas sobre episodios (por ejemplo, añadir/eliminar de la cola, marcar como favorito) deberían ser ahora mucho más rápidas en selecciones grandes.</li> + <li xml:lang="fr">En raison de cette réécriture, les actions en masse sur les épisodes (Par exemple, l'ajout /suppression dans la file d'attente, le marquage comme favori) devraient désormais être beaucoup plus réactifs sur de grandes sélections.</li> + <li xml:lang="he">בעקבות השכתוב הזה, פעולות על פרקים במרוכז (כלומר: הוספה/הסרה מהתור, סימון כמועדף) עכשיו אמורות להיות מהירות יותר במקרה של בחירות גדולות.</li> + <li xml:lang="ia">Debite a iste re-scriptura, le actiones de episodios in massa (p.ex. adder/remover del cauda, marcar como favorite) deberea ora esser multo plus rapide sur selectiones grande.</li> + <li xml:lang="it">Grazie a questa riscrittura, le operazioni in blocco sugli episodi (ad esempio, aggiunta/rimozione dalla coda, aggiunta ai preferiti) dovrebbero ora essere molto più veloci anche con selezioni di grandi dimensioni.</li> + <li xml:lang="ka">ამ თავიდან დაწერის გამო მასიური ეპიზოდის ქმედებები (მაგ: რიგიდან ამოღება/ჩამატება, მათი რჩეულად მონიშვნა) ახლა ბევრი ელემენტის მონიშვნისას გაცილებით სწრაფი უნდა იყოს.</li> + <li xml:lang="nl">Door deze herziening zouden bulkacties met afleveringen (bijv. toevoegen/verwijderen uit de wachtrij, markeren als favoriet) nu veel sneller moeten verlopen bij grote selecties.</li> + <li xml:lang="pt-BR">Graças a essa reformulação, as ações em massa relacionadas a episódios (por exemplo, adicionar/remover da fila, marcar como favorito) agora devem ser muito mais rápidas em grandes seleções.</li> + <li xml:lang="sk">Vďaka tomuto prepísaniu by hromadné akcie s epizódami (napr. pridanie/odobranie z poradia, označenie ako obľúbené) mali byť teraz oveľa rýchlejšie pri veľkých výberoch.</li> + <li xml:lang="sl">Zaradi te prenove bi morala biti množična dejanja epizod (npr. dodajanje/odstranjevanje iz čakalne vrste, označevanje kot priljubljeno) zdaj veliko hitrejša pri velikih izborih.</li> + <li xml:lang="tr">Bu yeniden yazım sayesinde, toplu bölüm işlemleri (örneğin, sıraya ekleme/çıkarma, favori olarak imleme) artık büyük seçimlerde çok daha hızlı gerçekleşecektir.</li> + <li xml:lang="uk">Завдяки цьому переписуванню, пакетні дії з епізодами (наприклад, додавання/вилучення з черги, позначення улюбленим) тепер мають бути набагато швидшими для великих вибраних списків.</li> + <li>There is now a setting that controls the maximum amount of parallel episode downloads (the default is 2).</li> + <li xml:lang="ar">يوجد الآن إعداد يحدد الحد الأقصى لعدد الحلقات التي يمكن تنزيلها في وقت واحد (القيمة المبدئية هي 2).</li> + <li xml:lang="ca">Ara hi ha una opció que controla la quantitat màxima de descàrregues d'episodis en paral·lel (el valor predeterminat és 2).</li> + <li xml:lang="ca-valencia">Ara hi ha una opció que controla la quantitat màxima de descàrregues d'episodis en paral·lel (el valor predeterminat és 2).</li> + <li xml:lang="cs">Nyní je k dispozici nastavení, které určuje maximální počet souběžných stahování epizod (výchozí hodnota je 2).</li> + <li xml:lang="es">Ahora existe un ajuste que controla la cantidad máxima de descargas simultáneas de episodios (el valor predeterminado es 2).</li> + <li xml:lang="fr">Il existe maintenant un paramètre contrôlant le nombre maximum de téléchargements d'épisodes simultanément (La valeur par défaut est de 2).</li> + <li xml:lang="he">מעתה יש הגדרה ששולטת בכמות ההורדות המרביות במקביל (ברירת המחדל היא 2).</li> + <li xml:lang="ia">Il ha ora un preferentia que controla le amonta maxime de discargas de episodios in parallel (le valor predefinite es 2).</li> + <li xml:lang="it">Ora è disponibile un'impostazione che controlla il numero massimo di scaricamenti paralleli degli episodi (il valore predefinito è 2).</li> + <li xml:lang="ka">ახლა არსებობს პარამეტრი, რომელიც აკონტროლებს ეპიზოდების პარალელური გადმოწერის მაქს. რაოდენობას (ნაგულისხმევია 2).</li> + <li xml:lang="nl">Er is nu een instelling waarmee het maximale aantal gelijktijdige afleveringsdownloads kan worden geregeld (de standaardwaarde is 2).</li> + <li xml:lang="pt-BR">Agora existe uma configuração que controla a quantidade máxima de downloads paralelos de episódios (o padrão é 2).</li> + <li xml:lang="sk">Teraz je k dispozícii nastavenie, ktoré ovláda maximálny počet paralelných sťahovaní epizód (predvolená hodnota je 2).</li> + <li xml:lang="sl">Zdaj je na voljo nastavitev, ki nadzoruje največje število vzporednih prenosov epizod (privzeta vrednost je 2).</li> + <li xml:lang="tr">Artık eşzamanlı olarak indirilebilecek en çok bölüm sayısını kontrol eden bir ayar var (öntanımlı değer 2’dir).</li> + <li xml:lang="uk">У новій версії передбачено параметр, який контролює максимальну кількість паралельних завантажень епізодів (типово — 2).</li> + <li>Podcast updates that are hosted on the same server will now be processed sequentially. This is done to avoid triggering server limits, e.g. maximum allowed parallel connections. Podcasts hosted on different servers are still processed in parallel.</li> + <li xml:lang="ar">أصبحت تحديثات البودكاست المستضافة على نفس الخادم تُعالج الآن بشكل متسلسل. ويهدف ذلك إلى تجنب تجاوز حدود الخادم، مثل الحد الأقصى المسموح به للاتصالات المتوازية. أما البودكاست المستضافة على خوادم مختلفة، فلا تزال تُعالج بشكل متوازٍ.</li> + <li xml:lang="ca">Les actualitzacions de pòdcast que estan allotjades en el mateix servidor ara es processaran seqüencialment. Això es fa per a evitar l'activació dels límits del servidor, p. ex. el màxim permès de connexions en paral·lel. Els pòdcasts allotjats en diferents servidors encara es processen en paral·lel.</li> + <li xml:lang="ca-valencia">Les actualitzacions de pòdcast que estan allotjades en el mateix servidor ara es processaran seqüencialment. Açò es fa per a evitar l'activació dels límits del servidor, p. ex., el màxim permés de connexions en paral·lel. Els pòdcast allotjats en diferents servidors encara es processen en paral·lel.</li> + <li xml:lang="cs">Aktualizace podcastů, které jsou hostovány na stejném serveru, budou nyní zpracovávány postupně. Důvodem je snaha zabránit překročení limitů serveru, např. maximálního povoleného počtu souběžných připojení. Podcasty hostované na různých serverech jsou i nadále zpracovávány souběžně.</li> + <li xml:lang="es">Las actualizaciones de pódcast alojadas en el mismo servidor se procesarán ahora de forma secuencial. Esto se hace para evitar alcanzar los límites del servidor, como el número máximo de conexiones paralelas permitidas. Los pódcast alojados en servidores diferentes se seguirán procesando en paralelo.</li> + <li xml:lang="fr">Les mises à jour de podcasts hébergés sur le même serveur seront désormais traitées de manière séquentielle. Cela est fait pour éviter de déclencher les limites du serveur, par exemple, le nombre maximum de connexions parallèles autorisées. Les podcasts hébergés sur différents serveurs sont toujours traités en parallèle.</li> + <li xml:lang="he">עדכוני הסכתים שמתארחים באותו שרת יעובדו ברצף. זה נעשה כך כדי להימנע מהפעלת מגבלות שרת, למשל חיבורים מרביים במקביל. הסכתים שמתארחים בשרתים שונים עדיין מעובדים במקביל.</li> + <li xml:lang="ia">Actualisationes de podcast que es albergate in le mesme servitor essera ora processate sequentialmente. Isto es facite pro evitar le activation de limites del servitor, p.ex. le maximo de connexiones parallel permittite. Podcasts albergate in differente servitores es ancora processate in parallel.</li> + <li xml:lang="it">Gli aggiornamenti dei podcast ospitati sullo stesso server saranno ora elaborati in sequenza. Questo per evitare di superare i limiti del server, ad esempio il numero massimo di connessioni parallele consentite. I podcast ospitati su server diversi continuano a essere elaborati in parallelo.</li> + <li xml:lang="ka">პოდკასტის განახლებები, რომლებიც იგივე სერვერზეა მოთავსებული, მიმდევრობით განხორციელდება. ეს ხდება იმიტომ, რომ არ მოხდეს სერვერის ლიმიტების (მაგ: მაქს. დაშვებული პარალელური კავშირების) გადაჭარბება. სხვადასხვა სერვერებზე მოთავსებული პოდკასტების გადმოწერა მაინც პარალელურად მოხდება.</li> + <li xml:lang="nl">Bijgewerkte podcasts die op dezelfde server worden gehost, worden nu sequentieel verwerkt. Dit wordt gedaan om te voorkomen dat serverlimieten worden overschreden, bijvoorbeeld het maximaal toegestane aantal parallelle verbindingen. Podcasts die op verschillende servers worden gehost, worden nog steeds parallel verwerkt.</li> + <li xml:lang="pt-BR">As atualizações de podcasts hospedadas no mesmo servidor agora serão processadas sequencialmente. Isso é feito para evitar o acionamento dos limites do servidor, como o número máximo de conexões paralelas permitidas. Podcasts hospedados em servidores diferentes ainda são processados em paralelo.</li> + <li xml:lang="sk">Aktualizácie podcastov umiestnených na rovnakom serveri sa teraz budú spracovávať postupne. Dôvodom je vyhnúť sa prekročeniu limitov servera, napr. maximálnemu povolenému počtu paralelných pripojení. Podcasty umiestnené na rôznych serveroch sa stále spracovávajú paralelne.</li> + <li xml:lang="sl">Posodobitve podkastov, ki gostujejo na istem strežniku, bodo zdaj obdelane zaporedno. To se naredi, da se prepreči sprožanje omejitev strežnika, npr. največje dovoljeno število vzporednih povezav. Podkasti, ki gostujejo na različnih strežnikih, se še vedno obdelujejo vzporedno.</li> + <li xml:lang="tr">Aynı sunucuda barındırılan pod yayınları güncellemeleri artık sırayla işlenecektir. Bu, sunucu sınırlarının (örneğin, izin verilen en çok paralel bağlantı sayısı) tetiklenmesini önlemek için yapılır. Farklı sunucularda barındırılan pod yayınları ise paralel olarak işlenmeyi sürdürecektir.</li> + <li xml:lang="uk">Оновлення трансляцій, розміщені на одному сервері, тепер обробляються послідовно. Це зроблено для того, щоб уникнути спрацьовування обмежень сервера, наприклад, максимально дозволеної кількості паралельних з'єднань. Трансляції, розміщені на різних серверах, все одно оброблятимуться паралельно.</li> + <li>Long episode titles will now be fully visible on the episode details page. The text will be wrapped rather than elided.</li> + <li xml:lang="ar">ستظهر عناوين الحلقات الطويلة الآن بالكامل في صفحة تفاصيل الحلقة. سيُلف النص بدلاً من حذفه.</li> + <li xml:lang="ca">Els títols llargs d'episodis ara seran completament visibles a la pàgina de detalls de l'episodi. El text s'ajustarà en lloc d'elidir-se.</li> + <li xml:lang="ca-valencia">Els títols llargs d'episodis ara seran completament visibles a la pàgina de detalls de l'episodi. El text s'ajustarà en lloc d'elidir-se.</li> + <li xml:lang="cs">Dlouhé názvy epizod budou nyní na stránce s podrobnostmi o epizodě zobrazeny v plném znění. Text se automaticky zalomí, místo aby byl zkrácen.</li> + <li xml:lang="es">Los títulos largos de los episodios serán ahora completamente visibles en la página de detalles del episodio. El texto se ajustará de forma automática en lugar de omitirse.</li> + <li xml:lang="fr">Les longs titres d'épisodes seront désormais entièrement visibles sur la page des détails de l'épisode. Le texte sera renvoyé à la ligne plutôt que tronqué.</li> + <li xml:lang="he">כותרות ארוכות של פרקים גלויות עתה במלואן בעמוד פרטי הפרק. הטקסט יגלוש במקום להיחתך.</li> + <li xml:lang="ia">Titulos longe de episodios essera ora completemente visibile sur le pagina de detalios del episodio. Le texto essera involvite in loco de esser elidite.</li> + <li xml:lang="it">I titoli lunghi degli episodi saranno ora completamente visibili nella pagina dei dettagli dell'episodio. Il testo andrà a capo automaticamente anziché essere troncato.</li> + <li xml:lang="ka">გრძელი ეპიზოდის სათაურები ახლა სრულად ხილული იქნება ეპიზოდის დეტალების გვერდზე. ტექსტი წაკვეთის მაგიერ ახლა გადატანილი იქნება.</li> + <li xml:lang="nl">Lange afleveringstitels zullen nu volledig zichtbaar zijn op de pagina met afleveringsdetails. De tekst wordt opgebroken in plaats van ingekort.</li> + <li xml:lang="pt-BR">Os títulos longos dos episódios agora serão exibidos por completo na página de detalhes do episódio. O texto será exibido em sequência, em vez de ser cortado.</li> + <li xml:lang="sk">Dlhé názvy epizód budú teraz plne viditeľné na stránke podrobností epizódy. Text sa zalomí namiesto skrátenia.</li> + <li xml:lang="sl">Dolgi naslovi epizod bodo odslej v celoti vidni na strani s podrobnostmi epizode. Besedilo bo prelomljeno in ne izpuščeno.</li> + <li xml:lang="tr">Uzun bölüm başlıkları artık bölüm ayrıntıları sayfasında tamamen görünür olacak. Metin kısaltılmak yerine satır sonuna kadar kaydırılır.</li> + <li xml:lang="uk">У новій версії довгі назви епізодів будуть повністю видимими сторінці параметрів епізоду. Текст буде перенесено на наступний рядок, а не пропущено.</li> + </ul> + <p>Bugfixes in this release:</p> + <p xml:lang="ar">إصلاحات علل في هذا الإصدار:</p> + <p xml:lang="ca">Correccions d'errors d'aquesta versió:</p> + <p xml:lang="ca-valencia">Esmenes d'errors d'esta versió:</p> + <p xml:lang="cs">Opravy chyb v této verzi:</p> + <p xml:lang="de">Fehlerkorrekturen in dieser Version:</p> + <p xml:lang="es">Correcciones de fallos de esta versión:</p> + <p xml:lang="fr">Correction de bogues dans cette version :</p> + <p xml:lang="he">תיקוני תקלות במהדורה הזאת:</p> + <p xml:lang="ia">Correctiones de faltas in iste version:</p> + <p xml:lang="it">Correzioni di bug in questa versione:</p> + <p xml:lang="ka">გასწორებული შეცდომები ამ გამოცემაში:</p> + <p xml:lang="nl">Reparaties van fouten in deze uitgave:</p> + <p xml:lang="pt-BR">Correções de bugs nesta versão:</p> + <p xml:lang="sk">Opravy chýb v tomto vydaní:</p> + <p xml:lang="sl">Popravki napak v tej izdaji:</p> + <p xml:lang="tr">Bu sürümdeki hata düzeltmeleri:</p> + <p xml:lang="uk">Виправлення вад у цьому випуску:</p> + <ul> + <li>Fix the issue where the dialogs for setting up synchronization would show up in the wrong window.</li> + <li xml:lang="ar">إصلاح المشكلة التي كانت تؤدي إلى ظهور نوافذ الحوار الخاصة بإعداد المزامنة في النافذة الخاطئة.</li> + <li xml:lang="ca">Corregeix el problema on els diàlegs per a configurar la sincronització es mostraven en la finestra incorrecta.</li> + <li xml:lang="ca-valencia">Corregix el problema on els diàlegs per a configurar la sincronització es mostraven en la finestra incorrecta.</li> + <li xml:lang="cs">Opraven problém, kvůli kterému se dialogová okna pro nastavení synchronizace zobrazovala v nesprávném okně.</li> + <li xml:lang="es">Se ha corregido el problema que mostraba los diálogos de configuración de la sincronización en la ventana incorrecta.</li> + <li xml:lang="fr">Correction du problème où les boîtes de dialogue pour configurer la synchronisation apparaissaient dans la mauvaise fenêtre.</li> + <li xml:lang="he">תיקון התקלה שבה החלוניות להגדרת הסנכרון הופיעו בחלון הלא נכון.</li> + <li xml:lang="ia">Corrige le problema ubi le dialogos pro configurar le synchronisation appareva in le fenestra incorrecte.</li> + <li xml:lang="it">Corregge il problema per cui le finestre per la configurazione della sincronizzazione venivano visualizzate nella finestra sbagliata.</li> + <li xml:lang="ka">გასწორდა პრობლემა, სადაც დიალოგების სინქრონიზაციის მოსარგებლად არასწორ ფანჯარაში ჩანდა ხოლმე.</li> + <li xml:lang="nl">Los het probleem op waarbij de dialoogvensters voor het instellen van synchronisatie in het verkeerde venster verschenen.</li> + <li xml:lang="pt-BR">Corrigido o problema em que as caixas de diálogo para configurar a sincronização apareciam na janela errada.</li> + <li xml:lang="sk">Oprava problému, keď sa dialógy na nastavenie synchronizácie zobrazovali v nesprávnom okne.</li> + <li xml:lang="sl">Odpravljena je težava, pri kateri so se pogovorna okna za nastavitev sinhronizacije prikazovala v napačnem oknu.</li> + <li xml:lang="tr">Eşzamanlama ayarlarını yapmak için kullanılan iletişim kutularının yanlış pencerede görünmesi sorunu düzeltildi.</li> + <li xml:lang="uk">Виправлено проблему, через яку діалогові вікна для налаштування синхронізації було показано не у тому вікні.</li> + <li>Fix and optimize the scaling of podcast and episode images throughout the app.</li> + <li xml:lang="ar">إصلاح وتحسين حجم صور البودكاست والحلقات في جميع أنحاء التطبيق.</li> + <li xml:lang="ca">Corregeix i optimitza l'escalat d'imatges de podcast i episodi a tota l'aplicació.</li> + <li xml:lang="ca-valencia">Corregix i optimitza l'escalat d'imatges de pòdcast i episodi a tota l'aplicació.</li> + <li xml:lang="cs">Opraveno a optimalizováno měřítko obrázků podcastů a epizod v celé aplikaci.</li> + <li xml:lang="es">Se ha corregido y optimizado el escalado de las imágenes de pódcast y episodios en toda la aplicación.</li> + <li xml:lang="fr">Correction et optimisation de la mise à l'échelle des images de podcasts et d'épisodes dans la totalité de l'application.</li> + <li xml:lang="he">תוקן ומוטב שינוי קנה מידה של תמונות של הסכתים פרקים על פני היישום.</li> + <li xml:lang="ia">Corrige e optimisa le scalar del imagines de podcast e episodios in tote le application.</li> + <li xml:lang="it">Corregge e ottimizza il ridimensionamento delle immagini di podcast ed episodi in tutta l'applicazione.</li> + <li xml:lang="ka">გასწორდა და მოხდა პოდკასტის და ეპიზოდის გამოსახულებების მასშტაბის ოპტიმიზაცია მთელ აპლიკაციაში.</li> + <li xml:lang="nl">Corrigeer en optimaliseer de schaalvergroting van podcast- en afleveringsafbeeldingen in de hele toepassing.</li> + <li xml:lang="pt-BR">Corrigido e otimizado o dimensionamento das imagens de podcasts e episódios em todo o aplicativo.</li> + <li xml:lang="sk">Oprava a optimalizácia škálovania obrázkov podcastov a epizód v celej aplikácii.</li> + <li xml:lang="sl">Popravi in optimizira merilo slik podkastov in epizod v celotni aplikaciji.</li> + <li xml:lang="tr">Uygulama genelinde pod yayını ve bölüm görsellerinin ölçeklendirmesi düzeltildi ve eniyilendi.</li> + <li xml:lang="uk">Виправлено та оптимізовано масштабування зображень трансляцій та епізодів у всій програмі.</li> + <li>Fix an issue where an invalid image URL in an episode description could make the app crash.</li> + <li xml:lang="ar">إصلاح مشكلة كانت تؤدي إلى تعطل التطبيق بسبب وجود عنوان URL غير صالح لصورة في وصف الحلقة.</li> + <li xml:lang="ca">Corregeix un problema en què un URL d'imatge no vàlid en una descripció d'episodi podria fer que l'aplicació falli.</li> + <li xml:lang="ca-valencia">Corregix un problema en què un URL d'imatge no vàlid en una descripció d'episodi podria fer que l'aplicació falle.</li> + <li xml:lang="cs">Opravena chyba, kvůli které mohla neplatná adresa URL obrázku v popisu epizody způsobit pád aplikace.</li> + <li xml:lang="es">Se ha corregido un problema por el cual una URL de imagen no válida en la descripción de un episodio podía provocar que la aplicación fallara.</li> + <li xml:lang="fr">Correction d'un problème où une URL d'image invalide dans la description d'un épisode pouvait faire planter l'application.</li> + <li xml:lang="he">תוקנה בעיה שכתובת תמונה שגויה בתיאור פרק יכלה לגרום ליישום לקרוס.</li> + <li xml:lang="ia">Corrige un problema ubi un URL de imagine invalide in un description de episodio poteva causar le collapso del application.</li> + <li xml:lang="it">Corregge un problema per cui un URL di immagine non valido nella descrizione di un episodio poteva causare l'arresto anomalo dell'applicazione.</li> + <li xml:lang="ka">გასწორდა პრობლემა, სადაც არასწორი გამოსახულების ბმული ეპიზოდის აღწერაში აპლიკაციის ავარიულად დასრულებას იწვევდა.</li> + <li xml:lang="nl">Er is een probleem opgelost waarbij een ongeldige afbeeldings-URL in een afleveringsbeschrijving ervoor kon zorgen dat de toepassing vastliep.</li> + <li xml:lang="pt-BR">Corrigido um problema em que um URL de imagem inválido na descrição de um episódio podia causar o travamento do aplicativo.</li> + <li xml:lang="sk">Oprava problému, keď neplatná URL adresa obrázka v popise epizódy mohla spôsobiť pád aplikácie.</li> + <li xml:lang="sl">Odpravljena je težava, pri kateri je lahko neveljaven URL slike v opisu epizode povzročil sesutje aplikacije.</li> + <li xml:lang="tr">Bölüm açıklamasındaki geçersiz görsel URL’lerinin uygulamanın çökmesine neden olabileceği bir sorun düzeltildi.</li> + <li xml:lang="uk">Виправлено проблему, через яку нечинна адреса зображення в описі епізоду могла призвести до аварійного завершення роботи програми.</li> + <li>When streaming episodes, first try the original episode URL. If that one fails, try again with the URL obtained after following all redirects. For some reason either one can fail (for any of the available audio backends), so let's try both.</li> + <li xml:lang="ar">عند بث الحلقات، جرب أولاً رابط الحلقة الأصلي. إذا لم ينجح ذلك، فجرب مرة أخرى باستخدام الرابط الذي حصلت عليه بعد اتباع جميع عمليات إعادة التوجيه. قد يفشل أي منهما لسبب ما (بالنسبة لأي من الخوادم الصوتية المتاحة)، لذا دعنا نجرب كليهما.</li> + <li xml:lang="ca">Quan es transmeten episodis, primer intenta l'URL de l'episodi original. Si això falla, ho torna a intentar amb l'URL obtingut després de seguir totes les redireccions. Pot fallar per algun motiu qualsevol (per a qualsevol dels dorsals d'àudio disponibles), així que prova tots dos.</li> + <li xml:lang="ca-valencia">Quan es transmeten episodis, primer intenta l'URL de l'episodi original. Si açò falla, ho torna a intentar amb l'URL obtingut després de seguir totes les redireccions. Pot fallar per algun motiu qualsevol (per a qualsevol dels dorsals d'àudio disponibles), així que prova tots dos.</li> + <li xml:lang="cs">Při streamování epizod se nejprve zkouší původní URL adresa epizody. Pokud to nevyjde, zkouší se to znovu s URL adresou, která je získána po absolvování všech přesměrování. Z nějakého důvodu může selhat kterákoli z těchto možností (u kteréhokoli z dostupných zvukových podpůrných vrstev), proto se zkouší obě.</li> + <li xml:lang="es">Al reproducir episodios en streaming, primero se intenta con la URL original del episodio. Si no funciona, se vuelve a intentar con la URL obtenida tras seguir todas las redirecciones. Por alguna razón, cualquiera de las dos puede fallar (con cualquiera de los servicios de audio disponibles), así que probamos ambas.</li> + <li xml:lang="fr">Lors du streaming des épisodes, veuillez d'abord essayer l'URL originale de l'épisode. Si celle-ci échoue, veuillez essayer à nouveau avec l'URL obtenue après avoir suivi toutes les redirections. Pour une raison quelconque, l'une ou l'autre peut échouer (Pour n'importe lequel des moteurs audio disponibles). Par conséquent, veuillez essayer les deux.</li> + <li xml:lang="he">בעת הזרמת פרקים, קודם לנסות את כתובת הפרק המקורית. אם היא נכשלת, לנסות שוב עם הכתובת שהושגה לאחר מעקב אחר כל ההפניות. מסיבות כלשהן אחת השיטות עלולה להיכשל (עבור כל אחד ממנגנוני השמע הזמינים), אז כדאי לנסות את שניהם.</li> + <li xml:lang="ia">Quando on transmitte episodios in fluxo, tenta primo le URL original del episodio. Si illo falle, tenta de novo con le URL obtenite post sequer tote le redirectiones. Per alcun ration, qualcunque de illos pote faller (pro qualcunque del backends de audio disponibile), assi que nos tenta ambe.</li> + <li xml:lang="it">Quando si riproducono gli episodi in streaming, prova prima con l'URL originale dell'episodio. Se non funziona, riprova con l'URL ottenuto dopo aver seguito tutti i reindirizzamenti. Per qualche motivo, entrambi i metodi possono non funzionare (con qualsiasi motore audio disponibile), quindi proviamoli entrambi.</li> + <li xml:lang="ka">ეპიზოდების დასტრიმვისას ჯერ სცადეთ ორიგინალი ეპიზოდის ბმული. თუ ის ჩავარდება, სცადეთ ბმული, რომელსაც ყველა გადამისამართების შემდეგ მიიღებთ. თუ რამე მიზეზით ერთ-ერთმა არ იმუშავა (ნებისმიერი ხელმისაწვდომი აუდიოს უკანაბოლოსთვის), ორივე ვცადოთ.</li> + <li xml:lang="nl">Probeer bij het streamen van afleveringen eerst de originele URL van de aflevering. Als die niet werkt, probeer het dan opnieuw met de URL die u krijgt na alle omleidingen. Om welke reden dan ook kunnen beide methoden mislukken (voor elk van de beschikbare audio-backends), dus laten we ze allebei proberen.</li> + <li xml:lang="pt-BR">Ao reproduzir episódios, tenta primeiro o URL original do episódio. Se esse também falhar, tenta novamente com o URL obtido após seguir todos os redirecionamentos. Por algum motivo, qualquer um dos dois pode falhar (para qualquer um dos servidores de áudio disponíveis), então vamos tentar ambos.</li> + <li xml:lang="sk">Pri streamovaní epizód sa najprv skúsi pôvodná URL adresa epizódy. Ak zlyhá, skúsi sa znova s URL adresou získanou po nasledovaní všetkých presmerovaní. Z nejakého dôvodu môže zlyhať ktorákoľvek z nich (pre akýkoľvek dostupný zvukový backend), tak sa skúsia obe.</li> + <li xml:lang="sl">Pri pretakanju epizod najprej poskusi z izvirnim URL-jem epizode. Če ta ne uspe, poskusi znova z URL-jem, ki ste ga pridobili po vseh preusmeritvah. Iz nekega razloga lahko kateri koli od njiju ne uspe (za kateri koli od razpoložljivih zvočnih strežnikov), zato poskusimo oba.</li> + <li xml:lang="tr">Bölümleri yayınlarken, önce özgün bölüm URL’sini deneyin. Eğer bu başarısız olursa tüm yönlendirmeleri takip ettikten sonra elde ettiğiniz URL ile yeniden deneyin. Herhangi bir ses arka ucu için (kullanılabilir ses arka uçlarının herhangi biri için) her iki URL de başarısız olabilir, bu yüzden ikisini de deneyelim.</li> + <li xml:lang="uk">Під час потокового передавання епізодів реалізовано початкове використання оригінальної адреси епізоду. Якщо ця спроба не спрацює, спробуйте ще раз з адресою, отриманою після виконання всіх переспрямовувань. З якоїсь причини будь-яка з цих спроб може не спрацювати (для будь-якого з доступних аудіосерверів), тому програма намагається спробувати обидві.</li> + <li>Fix issues with the layout on android version 15 or higher.</li> + <li xml:lang="ar">إصلاح المشكلات المتعلقة بالتصميم في إصدار أندرويد 15 أو الأحدث.</li> + <li xml:lang="ca">Corregeix els problemes amb la disposició a la versió 15 o superior d'Android.</li> + <li xml:lang="ca-valencia">Corregix els problemes amb la disposició a la versió 15 o superior d'Android.</li> + <li xml:lang="cs">Opraven problém s rozvržením v systému Android verze 15 a vyšší.</li> + <li xml:lang="es">Se han corregido problemas de diseño en Android versión 15 o superior.</li> + <li xml:lang="fr">Correction des problèmes de mise en page sous Android version 15 ou ultérieure.</li> + <li xml:lang="he">תוקנו תקלות בפריסה ב־Android בגרסה 15 ומעלה.</li> + <li xml:lang="ia">Corrige problemas con le disposition in le version 15 de Android o superior.</li> + <li xml:lang="it">Corregge i problemi con la disposizione su Android versione 15 o superiore.</li> + <li xml:lang="ka">გასწორდა პრობლემები განლაგებასთან Android-ის ვერსიაში 15, ან უფრო ახალი.</li> + <li xml:lang="nl">Los problemen met de indeling op in Android-versie 15 of hoger.</li> + <li xml:lang="pt-BR">Corrigidos problemas de layout no Android versão 15 ou superior.</li> + <li xml:lang="sk">Oprava problémov s rozložením na Androide verzie 15 alebo vyššej.</li> + <li xml:lang="sl">Odpravi težave s postavitvijo v sistemu Android različice 15 ali novejše.</li> + <li xml:lang="tr">Android sürüm 15 ve üzerinde yerleşim sorunları düzeltildi.</li> + <li xml:lang="uk">Виправлено вади з компонуванням вікна у версіях android 15 та новіших.</li> + <li>Use 'episode' instead of 'track' in the UI.</li> + <li xml:lang="ar">استخدم كلمة ”حلقة“ بدلاً من ”مقطع“ في واجهة المستخدم.</li> + <li xml:lang="ca">Utilitza «episode» en lloc de «track» a la interfície d'usuari.</li> + <li xml:lang="ca-valencia">Utilitza «episode» en lloc de «track» a la interfície d'usuari.</li> + <li xml:lang="cs">V uživatelském rozhraní použit výraz 'epizoda' namísto 'stopa'.</li> + <li xml:lang="es">Usar «episodio» en lugar de «pista» en la interfaz de usuario.</li> + <li xml:lang="fr">Utilisation de « épisode » au lieu de « piste » dans l'interface utilisateur.</li> + <li xml:lang="he">להשתמש ב‚פרק’ במקום ב‚רצועה’ בממשק המשתמש.</li> + <li xml:lang="ia">Usa 'episodio' in loco de 'tracia' in le UI.</li> + <li xml:lang="it">Nell'interfaccia, uso di «episodio» al posto di «traccia».</li> + <li xml:lang="ka">ინტერფეისში 'ეპიზოდის' გამოყენება 'ტრეკის' მაგიერ.</li> + <li xml:lang="nl">Gebruik 'episode' in plaats van 'track' in de gebruikersinterface.</li> + <li xml:lang="pt-BR">Usar 'episódio' em vez de 'faixa' na interface do usuário.</li> + <li xml:lang="sk">Použitie „epizóda“ namiesto „stopa“ v rozhraní.</li> + <li xml:lang="sl">Uporabi 'epizoda' namesto 'skladba' v uporabniškem vmesniku.</li> + <li xml:lang="tr">Arayüzde artık “parça” yerine “bölüm” kullanılıyor.</li> + <li xml:lang="uk">В інтерфейсі програми здійснено перехід від терміна «доріжка» до терміна «епізод».</li> + </ul> + </description> + </release> <release version="25.12.3" date="2026-03-05"/> <release version="25.12.2" date="2026-02-05"/> <release version="25.12.1" date="2026-01-08"/> @@ -931,7 +1164,7 @@ <li xml:lang="nl">Het interface is vereenvoudigd doordat er slechts één pagina tegelijk wordt weergegeven in plaats van kolommen toe te voegen, en doordat de podcastpagina is gecombineerd met de pagina met de lijst van podcastafleveringen.</li> <li xml:lang="pt-BR">A interface foi simplificada exibindo apenas uma página por vez, em vez de adicionar colunas, e combinando a página do podcast com a página da lista de episódios do podcast.</li> <li xml:lang="ru">Интерфейс упрощён за счёт отображения только одной страницы за раз вместо добавления столбцов, а также за счёт объединения страницы подкаста со страницей списка выпусков подкаста;</li> - <li xml:lang="sk">The interface is simplified by only showing one page at a time instead of adding columns, and by combining the podcast page with the podcast epizóda list page.</li> + <li xml:lang="sk">Rozhranie je zjednodušené tým, že sa zobrazuje iba jedna stránka naraz namiesto pridávania stĺpcov a kombinovaním stránky podcastu so stránkou zoznamu epizód podcastu.</li> <li xml:lang="sl">Vmesnik je poenostavljen tako, da se namesto dodajanja stolpcev prikazuje le ena stran naenkrat, stran podkasta pa je združena s stranjo s seznamom epizod podkasta.</li> <li xml:lang="tr">Sütunlar eklemek yerine aynı anda yalnızca bir sayfa gösterilerek ve pod yayını sayfası ile pod yayını bölüm listesi sayfası birleştirilerek arayüz basitleştirildi.</li> <li xml:lang="uk">Інтерфейс спрощено завдяки показу лише однієї сторінки за раз замість додавання стовпців, а також поєднанню сторінки подкасту зі сторінкою списку епізодів подкасту.</li> @@ -949,7 +1182,7 @@ <li xml:lang="nl">De informatiepagina's voor podcasts en afleveringen zijn verbeterd door een knoppenbalk toe te voegen (waardoor acties niet langer in de toepassingskop staan) en door de indeling van de informatie te herzien.</li> <li xml:lang="pt-BR">As páginas de informações sobre podcasts e episódios foram aprimoradas com a adição de uma barra de ferramentas com botões (removendo as ações do cabeçalho do aplicativo) e com a reformulação do layout das informações.</li> <li xml:lang="ru">На страницах с информацией о подкастах и выпусках добавлена панель кнопок (действия вынесены из заголовка приложения) и переработана структура размещения информации;</li> - <li xml:lang="sk">The podcast and epizóda info pages are improved by adding a button toolbar (moving actions out of the app header) and by reworking the information layout.</li> + <li xml:lang="sk">Stránky s informáciami o podcaste a epizóde sú vylepšené pridaním panela nástrojov tlačidiel (premiestnením akcií z hlavičky aplikácie) a prepracovaním rozloženia informácií.</li> <li xml:lang="sl">Strani z informacijami o podkastu in epizodi sta izboljšani z dodajanjem orodne vrstice z gumbi (dejanja so prestavljena iz glave aplikacije) in s preoblikovanjem postavitve informacij.</li> <li xml:lang="tr">Pod yayını ve bölüm bilgisi sayfaları, bir düğme araç çubuğu eklenerek (eylemler uygulama başlığının dışına taşınarak) ve bilgi yerleşimi yeniden çalışılarak iyileştirildi.</li> <li xml:lang="uk">Сторінки інформації про подкасти та епізоди удосконалено шляхом додавання панелі інструментів із кнопками (переміщення кнопок за межі заголовка програми) та переробки компонування відомостей.</li> @@ -1003,7 +1236,7 @@ <li xml:lang="nl">Kasts heeft nu de mogelijkheid om alle lokale aflevering-statussen naar de synchronisatieserver te sturen.</li> <li xml:lang="pt-BR">O Kasts agora tem a capacidade de enviar todos os estados locais dos episódios para o servidor de sincronização.</li> <li xml:lang="ru">Добавлена возможность отправки всех локальных состояний эпизодов на сервер синхронизации;</li> - <li xml:lang="sk">Kasts now has the ability to push all local epizóda states to the sync server.</li> + <li xml:lang="sk">Kasts má teraz možnosť odosielať všetky lokálne stavy epizód na server synchronizácie.</li> <li xml:lang="sl">Kasts ima zdaj možnost pošiljanja vseh lokalnih stanj epizod na strežnik za sinhronizacijo.</li> <li xml:lang="tr">Kastlar, artık tüm yerel bölüm durumlarını eşzamanlama sunucusuna gönderme yeteneğine sahip.</li> <li xml:lang="uk">Нова версія Kasts здатна надсилати усі локальні стани епізодів на сервер синхронізації.</li> @@ -1021,7 +1254,7 @@ <li xml:lang="nl">Een instelling is toegevoegd waarmee Kasts kan aangeven hoeveel recente afleveringen als niet-afgespeeld moeten worden gemarkeerd bij het toevoegen van een nieuwe podcast.</li> <li xml:lang="pt-BR">Foi adicionada uma configuração para indicar ao Kasts quantos episódios recentes devem ser marcados como não reproduzidos ao adicionar um novo podcast.</li> <li xml:lang="ru">Добавлена настройка для указания количества последних выпусков, которые будут помечаться как непрослушанные при добавлении нового подкаста;</li> - <li xml:lang="sk">A setting has been added to tell Kasts how many recent epizódas should be marked as unplayed when adding a new podcast.</li> + <li xml:lang="sk">Bolo pridané nastavenie, ktoré informuje Kasts o počte posledných epizód, ktoré sa majú označiť ako neprehrané pri pridávaní nového podcastu.</li> <li xml:lang="sl">Dodana je bila nastavitev, ki Kastsu pove, koliko nedavnih epizod naj bo označenih kot nepreigranih pri dodajanju novega podkasta.</li> <li xml:lang="tr">Yeni bir pod yayını eklerken kaç tane son bölümün dinlenmiş olarak imlenmesi gerektiğini Kastlar’a söyleyen bir ayar eklendi.</li> <li xml:lang="uk">Додано пункт параметрів, який повідомляє Kasts, скільки нещодавніх епізодів слід позначити як невідтворені під час додавання нового подкасту.</li> @@ -1064,7 +1297,7 @@ <li xml:lang="nl">De routine voor het bijwerken van podcasts is volledig herzien, waardoor diverse fouten zijn verholpen. Er wordt nu gebruikgemaakt van multithreading en bestaande afleveringsinformatie wordt ook bijgewerkt.</li> <li xml:lang="pt-BR">A rotina de atualização do podcast foi completamente reformulada, corrigindo diversos bugs. Agora utiliza multithreading e também atualiza as informações dos episódios existentes.</li> <li xml:lang="ru">Процедура обновления подкастов полностью переработана; исправлено несколько ошибок; используется многопоточность; реализовано обновление информации о существующих эпизодах.</li> - <li xml:lang="sk">The podcast update routine has been completely overhauled, solving several bugs. It's now using multithreading, and it will also update existing epizóda information.</li> + <li xml:lang="sk">Rutina aktualizácie podcastov bola úplne prepracovaná, čím sa vyriešilo niekoľko chýb. Teraz používa viacvláknovanie a bude tiež aktualizovať existujúce informácie o epizódach.</li> <li xml:lang="sl">Rutina posodabljanja podkastov je bila popolnoma prenovljena in odpravljenih je bilo več napak. Zdaj uporablja večnitnost in posodobila bo tudi obstoječe informacije o epizodah.</li> <li xml:lang="tr">Pod yayını güncelleme yordamı tamamen elden geçirildi ve çeşitli hatalar çözüldü. Artık çoklu iş parçacığı kullanıyor ve var olan bölüm bilgilerini de güncelleyecek.</li> <li xml:lang="uk">Процедуру оновлення подкастів було повністю перероблено, що усунуло декілька вад. У новій версії використано багатопотоковість, а також оновлення відомостей про наявні епізоди.</li> @@ -1118,7 +1351,7 @@ <li xml:lang="nl">Nieuwe afleveringen zullen aan de wachtrij in aflopende chronologische volgorde toegevoegd worden (in plaats van oplopend) per podcast.</li> <li xml:lang="pt-BR">Novos episódios serão adicionados à fila em ordem cronológica crescente (em vez de decrescente) para cada podcast.</li> <li xml:lang="ru">Новые выпуски добавляются в очередь в порядке возрастания даты выпуска (а не убывания) для каждого подкаста;</li> - <li xml:lang="sk">New epizódas will be added to the poradie in ascending chronological order (rather than descending) per podcast.</li> + <li xml:lang="sk">Nové epizódy budú pridávané do poradia vo vzostupnom chronologickom poradí (nie zostupnom) pre každý podcast.</li> <li xml:lang="sl">Nove epizode bodo dodane v čakalno vrsto v naraščajočem kronološkem vrstnem redu (namesto padajočega) za vsak podkast.</li> <li xml:lang="tr">Yeni bölümler, her bir pod yayını için azalan yerine artan kronolojik sırayla kuyruğa eklenecek.</li> <li xml:lang="uk">Нові епізоди будуть додаватися до черги у порядку зростання (а не спадання) за часом для кожного подкасту.</li> @@ -1154,7 +1387,7 @@ <li xml:lang="nl">De pagina's met afleveringendetails hebben een contextactie om direct naar de lijst met afleveringen voor die podcast te gaan.</li> <li xml:lang="pt-BR">As páginas de detalhes do episódio agora possuem uma ação contextual que leva diretamente à lista de episódios daquele podcast.</li> <li xml:lang="ru">На страницах сведений о выпуске добавлено контекстное действие для перехода к списку выпусков этого подкаста;</li> - <li xml:lang="sk">The epizóda details pages now have a context action to go straight to the list of epizódas for that podcast.</li> + <li xml:lang="sk">Stránky s podrobnosťami o epizóde teraz obsahujú kontextovú akciu na priechod priamo na zoznam epizód daného podcastu.</li> <li xml:lang="sl">Strani s podrobnostmi o epizodi imajo zdaj kontekstno dejanje, s katerim se lahko neposredno premaknete na seznam epizod za ta podcast.</li> <li xml:lang="tr">Bölüm ayrıntıları sayfaları, artık söz konusu pod yayını için bölüm listesine doğrudan gitmek için bir bağlam eylemine sahip.</li> <li xml:lang="uk">Для сторінок з параметрами епізоду реалізовано контекстну дію для переходу безпосередньо до списку епізодів цього подкасту.</li> @@ -1247,7 +1480,7 @@ <li>Keep fetching episode actions until we get the current timestamp</li> <li xml:lang="ar">الاستمرار في جلب إجراءات الحلقات حتى الحصول على الختم الزمني الحالي</li> <li xml:lang="ca">Continua recuperant les accions d'episodis fins que s'obté la marca horària actual</li> - <li xml:lang="ca-valencia">Continua recuperant les accions d'episodis fins que s'obté la marca horària actual</li> + <li xml:lang="ca-valencia">Continua recuperant les accions d'episodis fins que s'obté la marca de temps actual</li> <li xml:lang="cs">Načtené epizody se uchovávají, pokud se nezíská aktuální časové razítko</li> <li xml:lang="es">Se siguen extrayendo acciones de los episodios hasta que se obtenga la marca temporal actual.</li> <li xml:lang="fr">Continuer à récupérer les actions des épisodes jusqu'à obtenir l'horodatage courant</li> @@ -1290,6 +1523,7 @@ <p xml:lang="ca">Característiques noves d'aquesta versió:</p> <p xml:lang="ca-valencia">Característiques noves d'esta versió:</p> <p xml:lang="cs">Nové funkce v této verzi:</p> + <p xml:lang="de">Neue Funktionen in dieser Version:</p> <p xml:lang="es">Nuevas funciones de esta versión:</p> <p xml:lang="fr">Nouvelles fonctionnalités dans cette version :</p> <p xml:lang="he">יכולות חדשות במהדורה הזאת:</p> @@ -1364,6 +1598,7 @@ <li xml:lang="ca">Pàgina de configuració reelaborada</li> <li xml:lang="ca-valencia">Pàgina de configuració reelaborada</li> <li xml:lang="cs">Přepracována stránka nastavení</li> + <li xml:lang="de">Einstellungsseite überarbeitet</li> <li xml:lang="es">La página de ajustes se ha rediseñado.</li> <li xml:lang="fr">Refonte de la page de configuration</li> <li xml:lang="he">עמוד ההגדרות עבר שיפוץ</li> @@ -1400,6 +1635,7 @@ <li xml:lang="ca">Diverses correccions d'errors.</li> <li xml:lang="ca-valencia">Diverses esmenes d'errors.</li> <li xml:lang="cs">Několik oprav chyb.</li> + <li xml:lang="de">Einige Fehlerkorrekturen.</li> <li xml:lang="es">Diversas correcciones de errores.</li> <li xml:lang="fr">Plusieurs corrections de bogues.</li> <li xml:lang="he">מגוון תיקוני תקלות.</li> @@ -1434,7 +1670,7 @@ <p xml:lang="nl">Naast enkele kleine reparaties van fouten is het nu mogelijk om de locatie te wijzigen waar de gedownloade podcastafleveringen en gecachede afbeeldingen worden opgeslagen. Deze bestanden kunnen veel schijfruimte in beslag nemen, dus het is prettig om ze elders te kunnen opslaan op systemen met beperkte schijfruimte in de thuismap. De bijbehorende instellingen tonen nu de schijfruimte die door afleveringen en afbeeldingen wordt gebruikt en maken het mogelijk om de afbeeldingscache te wissen.</p> <p xml:lang="pt-BR">Além de algumas pequenas correções de bugs, agora é possível alterar o local onde os episódios de podcast baixados e as imagens em cache são salvos. Esses arquivos podem ocupar muito espaço em disco, então é ótimo poder armazená-los em outro local em sistemas com espaço limitado na pasta pessoal. As configurações relacionadas agora mostram o espaço em disco usado por episódios e imagens e permitem limpar o cache de imagens.</p> <p xml:lang="ru">Помимо исправления нескольких незначительных ошибок, теперь можно изменить каталог для сохранения загруженных выпусков подкастов и кэшированных изображений. Эти файлы могут занимать много места на диске, поэтому возможность хранить их в другом месте полезна в системах с ограниченным дисковым пространством домашней папки. В соответствующих настройках теперь отображается объём дискового пространства, занятый выпусками и изображениями, а также доступна очистка кэша изображений.</p> - <p xml:lang="sk">Next to some minor bugfixes, it is now possible to change the location where the sťahovanieed podcast epizódas and cached images are saved. These files can take up a lot of disk space, so it's nice to be able to store them elsewhere on systems with limited home folder disk space. The related settings now show the disk space used by epizódas and images, and allow to clear the image cache.</p> + <p xml:lang="sk">Okrem niekoľkých menších opráv chýb je teraz možné zmeniť umiestnenie, kde sa ukladajú stiahnuté epizódy podcastov a obrázky z vyrovnávacej pamäte. Tieto súbory môžu zaberať veľa miesta na disku, preto je fajn môcť ich uložiť inde v systémoch s obmedzeným miestom na domovskom priečinku. Súvisiace nastavenia teraz zobrazujú miesto na disku využité epizódami a obrázkami a umožňujú vymazať vyrovnávaciu pamäť obrázkov.</p> <p xml:lang="sl">Poleg nekaj manjših popravkov napak je zdaj mogoče spremeniti lokacijo, kamor se shranjujejo prenesene epizode podkastov in predpomnjene slike. Te datoteke lahko zavzamejo veliko prostora na disku, zato je lepo, da jih lahko shranite drugje v sistemih z omejenim prostorom na disku v domači mapi. Sorodne nastavitve zdaj prikazujejo prostor na disku, ki ga zasedajo epizode in slike, ter omogočajo brisanje predpomnilnika slik.</p> <p xml:lang="tr">Bazı küçük hata düzeltmelerinin yanı sıra, artık indirilen pod yayını bölümlerinin ve önbelleğe alınmış görsellerin kaydedildiği konumu değiştirmek olanaklı. Bu dosyalar çok fazla disk alanı kaplayabilir, bu nedenle ev dizininde sınırlı disk alanı olan sistemlerde bunları başka bir yerde depolayabilmek güzeldir. İlgili ayarlar artık bölümler ve görseller tarafından kullanılan disk alanını gösterir ve görsel önbelleğini temizlemeye izin verir.</p> <p xml:lang="uk">Окрім деяких незначних виправлень вад, тепер можна змінити місце, де зберігаються завантажені епізоди подкастів та кешовані зображення. Ці файли можуть займати багато місця на диску, тому зручно мати можливість зберігати їх в іншому місці на системах з обмеженим дисковим простором домашньої теки. У пов'язаних параметрах тепер буде показано місце на диску, яке використовується епізодами та зображеннями, і можна буде очистити кеш зображень.</p> @@ -1448,6 +1684,7 @@ <p xml:lang="ca">Característiques noves d'aquesta versió:</p> <p xml:lang="ca-valencia">Característiques noves d'esta versió:</p> <p xml:lang="cs">Nové funkce v této verzi:</p> + <p xml:lang="de">Neue Funktionen in dieser Version:</p> <p xml:lang="es">Nuevas funciones de esta versión:</p> <p xml:lang="fr">Nouvelles fonctionnalités dans cette version :</p> <p xml:lang="he">יכולות חדשות במהדורה הזאת:</p> @@ -1576,6 +1813,7 @@ <li xml:lang="ca">Diverses correccions d'errors.</li> <li xml:lang="ca-valencia">Diverses esmenes d'errors.</li> <li xml:lang="cs">Několik oprav chyb.</li> + <li xml:lang="de">Einige Fehlerkorrekturen.</li> <li xml:lang="es">Diversas correcciones de errores.</li> <li xml:lang="fr">Plusieurs corrections de bogues.</li> <li xml:lang="he">מגוון תיקוני תקלות.</li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/po/de/kasts.po new/kasts-26.04.1/po/de/kasts.po --- old/kasts-26.04.0/po/de/kasts.po 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/po/de/kasts.po 2026-05-05 04:45:21.000000000 +0200 @@ -1,15 +1,15 @@ # SPDX-FileCopyrightText: 2021 Burkhard Lück <[email protected]> # SPDX-FileCopyrightText: 2022 Frank Steinmetzger <[email protected]> -# SPDX-FileCopyrightText: 2022, 2023 Frederik Schwarzer <[email protected]> +# SPDX-FileCopyrightText: 2022-2023 Frederik Schwarzer <[email protected]> # SPDX-FileCopyrightText: 2023 Johannes Obermayr <[email protected]> # SPDX-FileCopyrightText: 2024 Alois.spitzbart <[email protected]> -# SPDX-FileCopyrightText: 2025, 2026 Philipp Kiemle <[email protected]> +# SPDX-FileCopyrightText: 2025-2026 Philipp Kiemle <[email protected]> msgid "" msgstr "" "Project-Id-Version: kasts\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2026-03-25 02:47+0000\n" -"PO-Revision-Date: 2026-01-27 17:12+0100\n" +"PO-Revision-Date: 2026-04-24 08:01+0200\n" "Last-Translator: Philipp Kiemle <[email protected]>\n" "Language-Team: German <[email protected]>\n" "Language: de\n" @@ -17,7 +17,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 25.12.1\n" +"X-Generator: Lokalize 25.12.3\n" #, kde-format msgctxt "NAME OF TRANSLATORS" @@ -556,35 +556,28 @@ msgstr "Keine Downloads" #: qml/DownloadListPage.qml:74 -#, fuzzy, kde-format -#| msgid "Downloading" +#, kde-format msgctxt "@title:group Status of downloaded episodes" msgid "Downloading" msgstr "Wird heruntergeladen" #: qml/DownloadListPage.qml:74 -#, fuzzy, kde-format -#| msgid "Incomplete Downloads" +#, kde-format msgctxt "@title:group Status of downloaded episodes" msgid "Incomplete Downloads" msgstr "Unvollständige Downloads" #: qml/DownloadListPage.qml:74 -#, fuzzy, kde-format -#| msgid "Downloaded" +#, kde-format msgctxt "@title:group Status of downloaded episodes" msgid "Downloaded" msgstr "Heruntergeladen" #: qml/DownloadListPage.qml:74 -#, fuzzy, kde-format -#| msgctxt "" -#| "@title of page showing the list queued items; this is the noun 'the " -#| "queue', not the verb" -#| msgid "Queue" +#, kde-format msgctxt "@title:group Status of downloaded episodes" msgid "Queued" -msgstr "Warteschlange" +msgstr "In der Warteschlange" #: qml/EntryPage.qml:24 #, kde-format @@ -1561,9 +1554,7 @@ msgstr "Alle Episoden als nicht wiedergegeben markieren" #: qml/Settings/NetworkSettingsPage.qml:28 -#, fuzzy, kde-format -#| msgctxt "@title of page with list of downloaded episodes" -#| msgid "Downloads" +#, kde-format msgctxt "@title Form header for download related settings" msgid "Downloads" msgstr "Downloads" @@ -1572,7 +1563,7 @@ #, kde-format msgctxt "@label:spinbox" msgid "Maximum number of parallel episode downloads" -msgstr "" +msgstr "Maximale Anzahl gleichzeitiger Episoden-Downloads" #: qml/Settings/NetworkSettingsPage.qml:53 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/po/pl/kasts.po new/kasts-26.04.1/po/pl/kasts.po --- old/kasts-26.04.0/po/pl/kasts.po 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/po/pl/kasts.po 2026-05-05 04:45:21.000000000 +0200 @@ -8,7 +8,7 @@ "Project-Id-Version: kasts\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2026-03-25 02:47+0000\n" -"PO-Revision-Date: 2026-04-04 19:42+0200\n" +"PO-Revision-Date: 2026-04-11 09:53+0200\n" "Last-Translator: Łukasz Wojniłowicz <[email protected]>\n" "Language-Team: pl\n" "Language: pl\n" @@ -841,7 +841,7 @@ #, kde-format msgctxt "@action:button" msgid "Search Online" -msgstr "Znajdź w sieci" +msgstr "Poszukaj w sieci" #: qml/FeedListGridView.qml:76 #, kde-format @@ -1698,7 +1698,7 @@ #, kde-format msgctxt "@title:menu Category in settings" msgid "Storage" -msgstr "Przestrzeń dyskowa" +msgstr "Pamięć na dysku" #: qml/Settings/SettingsView.qml:35 #, kde-format @@ -1734,7 +1734,7 @@ #, kde-format msgctxt "@title Form header for settings related to storage paths" msgid "Storage path" -msgstr "Ścieżka przechowywania" +msgstr "Ścieżka na dysku" #: qml/Settings/StorageSettingsPage.qml:33 #, kde-format @@ -1746,7 +1746,7 @@ #, kde-format msgctxt "@label showing path used for local storage" msgid "Storage path" -msgstr "Ścieżka przechowywania" +msgstr "Ścieżka na dysku" #: qml/Settings/StorageSettingsPage.qml:55 #, kde-format @@ -1765,20 +1765,20 @@ msgctxt "" "@title Form header for section showing information about local storage" msgid "Information" -msgstr "Informacja" +msgstr "Szczegóły" #: qml/Settings/StorageSettingsPage.qml:76 #, kde-format msgctxt "@label showing the storage space used by local podcast downloads" msgid "Podcast downloads" -msgstr "Pobierane podkasty" +msgstr "Pobrane podkasty" #: qml/Settings/StorageSettingsPage.qml:77 #: qml/Settings/StorageSettingsPage.qml:84 #, kde-format msgctxt "@label Using <amount of bytes> of disk space" msgid "Using %1 of disk space" -msgstr "Wykorzystane %1 miejsca na dysku" +msgstr "Wykorzystują %1 miejsca na dysku" #: qml/Settings/StorageSettingsPage.qml:83 #, kde-format @@ -1821,7 +1821,7 @@ #, kde-format msgctxt "@action:button" msgid "Login" -msgstr "Logowanie" +msgstr "Zaloguj" #: qml/Settings/SynchronizationSettingsPage.qml:52 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/po/sk/kasts.po new/kasts-26.04.1/po/sk/kasts.po --- old/kasts-26.04.0/po/sk/kasts.po 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/po/sk/kasts.po 2026-05-05 04:45:21.000000000 +0200 @@ -1911,12 +1911,12 @@ "\n" "Continue?" msgstr "" -"Please všimnite si, že pushing the playback state of all local episodes to " -"the server might take a very long time and/or might overload the server. " -"Also všimnite si, že this action will overwrite all existing episode states " -"on the server.\n" +"Upozorňujeme, že odosielanie stavu prehrávania všetkých lokálnych epizód na " +"server môže trvať veľmi dlho a/alebo môže preťažiť server. Tiež " +"upozorňujeme, že táto akcia prepíše všetky existujúce stavy epizód na " +"serveri.\n" "\n" -"Continue?" +"Pokračovať?" #: qml/Settings/SynchronizationSettingsPage.qml:234 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/src/database.cpp new/kasts-26.04.1/src/database.cpp --- old/kasts-26.04.0/src/database.cpp 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/src/database.cpp 2026-05-05 04:45:21.000000000 +0200 @@ -88,6 +88,14 @@ TRUE_OR_RETURN(migrateTo13()); if (dbversion < 14) TRUE_OR_RETURN(migrateTo14()); + if (dbversion < 15) + TRUE_OR_RETURN(migrateTo15()); + if (dbversion > 15) { + qCritical() << "Database version number" << dbversion + << "is larger than the highest version supported by the app. You've likely downgraded the app. Stopping now since continuing will lead to " + "corruption of the database."; + } + return true; } @@ -700,6 +708,34 @@ TRUE_OR_RETURN(commit()); return true; } + +bool Database::migrateTo15() +{ + qDebug() << "Migrating database to version 15"; + + // no backup needed since we only add one extra column + + TRUE_OR_RETURN(transaction()); + TRUE_OR_RETURN(execute(QStringLiteral("ALTER TABLE Entries ADD COLUMN removed BOOL DEFAULT 0;"))); + + TRUE_OR_RETURN(execute(QStringLiteral("PRAGMA user_version = 15;"))); + TRUE_OR_RETURN(commit()); + + // Update the hasEnclosure field in case there are no enclosures in the + // database that are linked to that entryuid. This shouldn't happen, but + // if it does, then it will mess up the app. (Also see BUG 519232) + TRUE_OR_RETURN(execute( + QStringLiteral("UPDATE Entries SET hasEnclosure = 0 WHERE NOT EXISTS (SELECT 1 FROM Enclosures WHERE Entries.entryuid = Enclosures.entryuid);"))); + + // Wipe the hashes for feed updates on app startup. + // This is mainly done to mitigate the side effects of BUG 519232, and + // should probably be removed in the future in favour of a "force update" + // button + TRUE_OR_RETURN(execute(QStringLiteral("UPDATE Feeds SET lastHash = NULL;"))); + + return true; +} + bool Database::execute(const QString &queryString) { QSqlQuery q; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/src/database.h new/kasts-26.04.1/src/database.h --- old/kasts-26.04.0/src/database.h 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/src/database.h 2026-05-05 04:45:21.000000000 +0200 @@ -66,6 +66,7 @@ bool migrateTo12(); bool migrateTo13(); bool migrateTo14(); + bool migrateTo15(); void createBackup(const QString &suffix); void cleanup(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/src/datamanager.cpp new/kasts-26.04.1/src/datamanager.cpp --- old/kasts-26.04.0/src/datamanager.cpp 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/src/datamanager.cpp 2026-05-05 04:45:21.000000000 +0200 @@ -173,6 +173,7 @@ // Remove entries from Queue bulkQueueStatus(false, entries); + // TODO: Optimize the file deletion; do not depend on the entry objects // Delete entries themselves qCDebug(kastsDataManager) << "delete entries of" << feeduid; for (auto &entryuid : std::as_const(entries)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/src/qml/Main.qml new/kasts-26.04.1/src/qml/Main.qml --- old/kasts-26.04.0/src/qml/Main.qml 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/src/qml/Main.qml 2026-05-05 04:45:21.000000000 +0200 @@ -112,7 +112,7 @@ property bool showGlobalDrawer: !Kirigami.Settings.isMobile || WindowUtils.isWidescreen - globalDrawer: globalDrawerLoader.item as globalDrawer + globalDrawer: globalDrawerLoader.item as KastsGlobalDrawer Loader { id: globalDrawerLoader diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kasts-26.04.0/src/utils/updatefeedjob.cpp new/kasts-26.04.1/src/utils/updatefeedjob.cpp --- old/kasts-26.04.0/src/utils/updatefeedjob.cpp 2026-04-09 05:29:41.000000000 +0200 +++ new/kasts-26.04.1/src/utils/updatefeedjob.cpp 2026-05-05 04:45:21.000000000 +0200 @@ -775,8 +775,8 @@ // new entries writeQuery.prepare( - QStringLiteral("INSERT INTO Entries (feeduid, id, title, content, created, updated, link, read, new, hasEnclosure, image, favorite) VALUES " - "(:feeduid, :id, :title, :content, :created, :updated, :link, :read, :new, :hasEnclosure, :image, :favorite);")); + QStringLiteral("INSERT INTO Entries (feeduid, id, title, content, created, updated, link, read, new, hasEnclosure, image, favorite, removed) VALUES " + "(:feeduid, :id, :title, :content, :created, :updated, :link, :read, :new, :hasEnclosure, :image, :favorite, :removed);")); for (const EntryDetails &entryDetails : std::as_const(m_feed.entries)) { if (entryDetails.state == RecordState::New) { writeQuery.bindValue(QStringLiteral(":feeduid"), entryDetails.feeduid); @@ -791,10 +791,11 @@ writeQuery.bindValue(QStringLiteral(":new"), entryDetails.isNew); writeQuery.bindValue(QStringLiteral(":image"), entryDetails.image); writeQuery.bindValue(QStringLiteral(":favorite"), false); + writeQuery.bindValue(QStringLiteral(":removed"), false); if (dbExecute(writeQuery)) { QVariant lastId = writeQuery.lastInsertId(); if (lastId.isValid()) { - m_feed.entries[entryDetails.id].entryuid = lastId.toLongLong(); // TODO: check if this is ok wrt 'detaching' + m_feed.entries[entryDetails.id].entryuid = lastId.toLongLong(); newEntryuids.insert(lastId.toLongLong()); } else { qCDebug(kastsUpdater) << "new episode did not get a valid entryuid" << entryDetails.id; @@ -860,21 +861,23 @@ writeQuery.clear(); // delete entry authors that were removed - writeQuery.prepare(QStringLiteral("DELETE FROM EntryAuthors WHERE entryuid=:entryuid AND name=:name;")); - for (const EntryDetails &entryDetails : std::as_const(m_feed.entries)) { - if (entryDetails.state != RecordState::Deleted) { - for (const AuthorDetails &authorDetails : std::as_const(entryDetails.authors)) { - if (authorDetails.state == RecordState::Deleted) { - updatedEntryuids.insert(entryDetails.entryuid); - writeQuery.bindValue(QStringLiteral(":entryuid"), entryDetails.entryuid); - writeQuery.bindValue(QStringLiteral(":name"), authorDetails.name); - dbExecute(writeQuery); - qCDebug(kastsUpdater) << "deleted old entry author:" << m_feed.feeduid << entryDetails.entryuid << authorDetails.name; + if (SettingsManager::self()->doFullUpdate()) { // only if this is a full update + writeQuery.prepare(QStringLiteral("DELETE FROM EntryAuthors WHERE entryuid=:entryuid AND name=:name;")); + for (const EntryDetails &entryDetails : std::as_const(m_feed.entries)) { + if (entryDetails.state != RecordState::Deleted) { + for (const AuthorDetails &authorDetails : std::as_const(entryDetails.authors)) { + if (authorDetails.state == RecordState::Deleted) { + updatedEntryuids.insert(entryDetails.entryuid); + writeQuery.bindValue(QStringLiteral(":entryuid"), entryDetails.entryuid); + writeQuery.bindValue(QStringLiteral(":name"), authorDetails.name); + dbExecute(writeQuery); + qCDebug(kastsUpdater) << "deleted old entry author:" << m_feed.feeduid << entryDetails.entryuid << authorDetails.name; + } } } } + writeQuery.clear(); } - writeQuery.clear(); // new enclosures writeQuery.prepare( @@ -923,20 +926,22 @@ writeQuery.clear(); // delete removed enclosures - writeQuery.prepare(QStringLiteral("DELETE FROM Enclosures WHERE enclosureuid=:enclosureuid;")); - for (const EntryDetails &entryDetails : std::as_const(m_feed.entries)) { - if (entryDetails.state != RecordState::Deleted) { - for (const EnclosureDetails &enclosureDetails : std::as_const(entryDetails.enclosures)) { - if (enclosureDetails.state == RecordState::Deleted) { - updatedEntryuids.insert(entryDetails.entryuid); - writeQuery.bindValue(QStringLiteral(":enclosureuid"), enclosureDetails.enclosureuid); - dbExecute(writeQuery); - qCDebug(kastsUpdater) << "deleted old enclosure:" << m_feed.feeduid << enclosureDetails.enclosureuid << enclosureDetails.url; + if (SettingsManager::self()->doFullUpdate()) { // only if this is a full update + writeQuery.prepare(QStringLiteral("DELETE FROM Enclosures WHERE enclosureuid=:enclosureuid;")); + for (const EntryDetails &entryDetails : std::as_const(m_feed.entries)) { + if (entryDetails.state != RecordState::Deleted) { + for (const EnclosureDetails &enclosureDetails : std::as_const(entryDetails.enclosures)) { + if (enclosureDetails.state == RecordState::Deleted) { + updatedEntryuids.insert(entryDetails.entryuid); + writeQuery.bindValue(QStringLiteral(":enclosureuid"), enclosureDetails.enclosureuid); + dbExecute(writeQuery); + qCDebug(kastsUpdater) << "deleted old enclosure:" << m_feed.feeduid << enclosureDetails.enclosureuid << enclosureDetails.url; + } } } } + writeQuery.clear(); } - writeQuery.clear(); // new chapters writeQuery.prepare(QStringLiteral("INSERT INTO Chapters (entryuid, start, title, link, image) VALUES (:entryuid, :start, :title, :link, :image);"));
