diff --git a/app/src/main/java/com/lagradost/cloudstream3/plugins/VotingApi.kt b/app/src/main/java/com/lagradost/cloudstream3/plugins/VotingApi.kt index f099ad1a..a45ab5f0 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/plugins/VotingApi.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/plugins/VotingApi.kt @@ -8,22 +8,14 @@ import com.lagradost.cloudstream3.AcraApplication.Companion.setKey import com.lagradost.cloudstream3.R import java.security.MessageDigest import com.lagradost.cloudstream3.app -import com.lagradost.cloudstream3.utils.Coroutines.ioSafe import com.lagradost.cloudstream3.utils.Coroutines.main -import kotlinx.coroutines.delay import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock object VotingApi { // please do not cheat the votes lol private const val LOGKEY = "VotingApi" - enum class VoteType(val value: Int) { - UPVOTE(1), - DOWNVOTE(-1), - NONE(0) - } - - private val apiDomain = "https://api.countapi.xyz" + private const val apiDomain = "https://counterapi.com/api" private fun transformUrl(url: String): String = // dont touch or all votes get reset MessageDigest @@ -35,12 +27,12 @@ object VotingApi { // please do not cheat the votes lol return getVotes(url) } - suspend fun SitePlugin.vote(requestType: VoteType): Int { - return vote(url, requestType) + fun SitePlugin.hasVoted(): Boolean { + return hasVoted(url) } - fun SitePlugin.getVoteType(): VoteType { - return getVoteType(url) + suspend fun SitePlugin.vote(): Int { + return vote(url) } fun SitePlugin.canVote(): Boolean { @@ -50,28 +42,31 @@ object VotingApi { // please do not cheat the votes lol // Plugin url to Int private val votesCache = mutableMapOf() - suspend fun getVotes(pluginUrl: String): Int { - val url = "${apiDomain}/get/cs3-votes/${transformUrl(pluginUrl)}" + private fun getRepository(pluginUrl: String) = pluginUrl + .split("/") + .drop(2) + .take(3) + .joinToString("-") + + private suspend fun readVote(pluginUrl: String): Int { + var url = "${apiDomain}/cs-${getRepository(pluginUrl)}/vote/${transformUrl(pluginUrl)}?readOnly=true" Log.d(LOGKEY, "Requesting: $url") - return votesCache[pluginUrl] ?: app.get(url).parsedSafe()?.value?.also { - votesCache[pluginUrl] = it - } ?: (0.also { - ioSafe { - createBucket(pluginUrl) + return app.get(url).parsedSafe()?.value ?: 0 + } + + private suspend fun writeVote(pluginUrl: String): Boolean { + var url = "${apiDomain}/cs-${getRepository(pluginUrl)}/vote/${transformUrl(pluginUrl)}" + Log.d(LOGKEY, "Requesting: $url") + return app.get(url).parsedSafe()?.value != null + } + + suspend fun getVotes(pluginUrl: String): Int = + votesCache[pluginUrl] ?: readVote(pluginUrl).also { + votesCache[pluginUrl] = it } - }) - } - fun getVoteType(pluginUrl: String): VoteType { - return getKey("cs3-votes/${transformUrl(pluginUrl)}") ?: VoteType.NONE - } - - private suspend fun createBucket(pluginUrl: String) { - val url = - "${apiDomain}/create?namespace=cs3-votes&key=${transformUrl(pluginUrl)}&value=0&update_lowerbound=-2&update_upperbound=2&enable_reset=0" - Log.d(LOGKEY, "Requesting: $url") - app.get(url) - } + fun hasVoted(pluginUrl: String) = + getKey("cs3-votes/${transformUrl(pluginUrl)}") ?: false fun canVote(pluginUrl: String): Boolean { if (!PluginManager.urlPlugins.contains(pluginUrl)) return false @@ -79,7 +74,7 @@ object VotingApi { // please do not cheat the votes lol } private val voteLock = Mutex() - suspend fun vote(pluginUrl: String, requestType: VoteType): Int { + suspend fun vote(pluginUrl: String): Int { // Prevent multiple requests at the same time. voteLock.withLock { if (!canVote(pluginUrl)) { @@ -90,33 +85,21 @@ object VotingApi { // please do not cheat the votes lol return getVotes(pluginUrl) } - val savedType: VoteType = - getKey("cs3-votes/${transformUrl(pluginUrl)}") ?: VoteType.NONE - - val newType = if (requestType == savedType) VoteType.NONE else requestType - val changeValue = if (requestType == savedType) { - -requestType.value - } else if (savedType == VoteType.NONE) { - requestType.value - } else if (savedType != requestType) { - -savedType.value + requestType.value - } else 0 - - // Pre-emptively set vote key - setKey("cs3-votes/${transformUrl(pluginUrl)}", newType) - - val url = - "${apiDomain}/update/cs3-votes/${transformUrl(pluginUrl)}?amount=${changeValue}" - Log.d(LOGKEY, "Requesting: $url") - val res = app.get(url).parsedSafe()?.value - - if (res == null) { - // "Refund" key if the response is invalid - setKey("cs3-votes/${transformUrl(pluginUrl)}", savedType) - } else { - votesCache[pluginUrl] = res + if (hasVoted(pluginUrl)) { + main { + Toast.makeText(context, R.string.already_voted, Toast.LENGTH_SHORT) + .show() + } + return getVotes(pluginUrl) } - return res ?: 0 + + + if (writeVote(pluginUrl)) { + setKey("cs3-votes/${transformUrl(pluginUrl)}", true) + votesCache[pluginUrl] = votesCache[pluginUrl]?.plus(1) ?: 1 + } + + return getVotes(pluginUrl) } } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/settings/extensions/PluginDetailsFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/settings/extensions/PluginDetailsFragment.kt index d8047c11..7d733be0 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/settings/extensions/PluginDetailsFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/settings/extensions/PluginDetailsFragment.kt @@ -13,10 +13,9 @@ import com.lagradost.cloudstream3.AcraApplication.Companion.openBrowser import com.lagradost.cloudstream3.R import com.lagradost.cloudstream3.databinding.FragmentPluginDetailsBinding import com.lagradost.cloudstream3.plugins.PluginManager -import com.lagradost.cloudstream3.plugins.VotingApi import com.lagradost.cloudstream3.plugins.VotingApi.canVote -import com.lagradost.cloudstream3.plugins.VotingApi.getVoteType import com.lagradost.cloudstream3.plugins.VotingApi.getVotes +import com.lagradost.cloudstream3.plugins.VotingApi.hasVoted import com.lagradost.cloudstream3.plugins.VotingApi.vote import com.lagradost.cloudstream3.utils.Coroutines.ioSafe import com.lagradost.cloudstream3.utils.Coroutines.main @@ -106,7 +105,6 @@ class PluginDetailsFragment(val data: PluginViewData) : BottomSheetDialogFragmen } if (!metadata.canVote()) { - downvote.alpha = .6f upvote.alpha = .6f } @@ -137,19 +135,11 @@ class PluginDetailsFragment(val data: PluginViewData) : BottomSheetDialogFragmen upvote.setOnClickListener { ioSafe { - metadata.vote(VotingApi.VoteType.UPVOTE).main { + metadata.vote().main { updateVoting(it) } } } - downvote.setOnClickListener { - ioSafe { - metadata.vote(VotingApi.VoteType.DOWNVOTE).main { - updateVoting(it) - } - - } - } ioSafe { metadata.getVotes().main { @@ -163,33 +153,14 @@ class PluginDetailsFragment(val data: PluginViewData) : BottomSheetDialogFragmen val metadata = data.plugin.second binding?.apply { pluginVotes.text = value.toString() - when (metadata.getVoteType()) { - VotingApi.VoteType.UPVOTE -> { - upvote.imageTintList = ColorStateList.valueOf( - context?.colorFromAttribute(R.attr.colorPrimary) ?: R.color.colorPrimary - ) - downvote.imageTintList = ColorStateList.valueOf( - context?.colorFromAttribute(R.attr.white) ?: R.color.white - ) - } - - VotingApi.VoteType.DOWNVOTE -> { - downvote.imageTintList = ColorStateList.valueOf( - context?.colorFromAttribute(R.attr.colorPrimary) ?: R.color.colorPrimary - ) - upvote.imageTintList = ColorStateList.valueOf( - context?.colorFromAttribute(R.attr.white) ?: R.color.white - ) - } - - VotingApi.VoteType.NONE -> { - upvote.imageTintList = ColorStateList.valueOf( - context?.colorFromAttribute(R.attr.white) ?: R.color.white - ) - downvote.imageTintList = ColorStateList.valueOf( - context?.colorFromAttribute(R.attr.white) ?: R.color.white - ) - } + if (metadata.hasVoted()) { + upvote.imageTintList = ColorStateList.valueOf( + context?.colorFromAttribute(R.attr.colorPrimary) ?: R.color.colorPrimary + ) + } else { + upvote.imageTintList = ColorStateList.valueOf( + context?.colorFromAttribute(R.attr.colorOnSurface) ?: R.color.white + ) } } } diff --git a/app/src/main/res/layout/fragment_plugin_details.xml b/app/src/main/res/layout/fragment_plugin_details.xml index 35ab9216..7a8f85e4 100644 --- a/app/src/main/res/layout/fragment_plugin_details.xml +++ b/app/src/main/res/layout/fragment_plugin_details.xml @@ -284,23 +284,10 @@ android:layout_gravity="center" android:gravity="center_horizontal|center_vertical"> - - تعذر إنشاء واجهة المستخدم بشكل صحيح ، وهذا خطأ كبير ويجب الإبلاغ عنه على الفور %s حدد الوضع لتصفية تنزيل المكونات الإضافية تعطيل + @string/default_subtitles + لا توجد اضافة في المستودع + المستودع لم يتم العثور عليه، تحقق من العنوان اوجرب شبكة افتراضية خاصة(vpn) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index a2c3df3e..f304199e 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -571,6 +571,9 @@ \n \nPOZNÁMKA: Pokud je součet 10 nebo vyšší, přehrávač automaticky přeskočí načítání při načtení daného odkazu! Nepodařilo se správně vytvořit rozhraní. Toto je VÁŽNÁ CHYBA, kterou je potřeba ihned nahlásit %s - Zakázat + Vypnout Výběr režimu pro filtrování stahování doplňků + V repozitáři nebyly nalezeny žádné doplňky + Repozitář nenalezen, zkontrolujte adresu URL a zkuste použít VPN + @string/default_subtitles diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index c24c0971..e88e4fc0 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -214,7 +214,7 @@ Να μην εμφανιστεί ξανά Παράλειψη της τρέχουσας ενημέρωσης Ενημέρωση - Προτιμώμενη ποιότητας παρακολούθησης + Προτιμώμενη ποιότητας παρακολούθησης (WiFi) Μέγιστος αριθμός χαρακτήρων τίτλου Ανάλυση προγράμματος αναπαραγωγής βίντεο Μέγεθος buffer για βίντεο @@ -452,7 +452,7 @@ Ανάμεικτοι τίτλοι τέλους -30 Κριτική - @string/ova + OVA Ενημερώσεις εφαρμογής Αντίγραφο ασφαλείας Extensions @@ -500,16 +500,53 @@ Ταξινόμηση με βάση Αλφαβητικά (Α προς Ω) Διάλεξε βιβλιοθήκη - Φαίνεται πως η λίστα είναι άδεια, δοκίμασε να μεταβείς σε μία άλλη + Αυτή η λίστα είναι άδεια. Δοκιμάστε μια άλλη. Αφαίρεση από παρακολουθημένα Περιηγητής Άνοιγμα με - Φαίνεται πως η βιβλιοθήκη σου είναι άδεια :( -\nΣυνδέσου σε έναν λογαριασμό που έχει βιβλιοθήκη, ή πρόσθεσε σειρές στην τοπική βιβλιοθήκη σου + Η βιβλιοθήκη σας είναι άδεια :( +\nΣυνδεθείτε με έναν λογαριασμό βιβλιοθήκης ή προσθέστε σειρές στην τοπική βιβλιοθήκη σας. Βρέθηκε αρχείο Ασφαλούς Λειτουργίας! \nΔεν πρόκειται να φορτωθούν extensions κατά το ξεκίνημα μέχρι να διαγραφεί το αρχείο. Αρχείο Καταγραφής Απέτυχε Πέτυχε Εκκίνηση + Δε βρέθηκαν επεκτάσεις στο αποθετήριο + Δε βρέθηκε αποθετήριο, ελέγξτε την URL και δοκιμάστε VPN + Από εδώ μπορείτε να αλλάξετε τον τρόπο σειράς των πηγών. Εάν ένα βίντεο έχει υψηλότερη προτεραιότητα, θα εμφανίζεται ψηλότερα στην επιλογή πηγής. Το άθροισμα της προτεραιότητας πηγής και της ποιότητας, είναι η προτεραιότητα του βίντεο. +\n +\nΠηγή Α: 3 +\nΠοιότητα Β: 7 +\nΘα έχει συνδυασμένη προτεραιότητα βίντεο 10. +\n +\nΣΗΜΕΙΩΣΗ: Εάν το άθροισμα είναι 10 ή περισσότερο, η συσκευή αναπαραγωγής θα παραλείψει αυτόματα τη φόρτωση όταν φορτωθεί αυτός ο σύνδεσμος! + Δοκιμή παρόχου + Προτιμώμενη ποιότητας παρακολούθησης (Δεδομένα τηλεφώνου) + Διακομιστής μεσολάβησης raw.githubusercontent.com + Android TV + Ενημέρωση εγγεγραμμένων εκπομπών + Έγινε εγγραφή σε %s + Επαναφορά + Δημοσιεύθηκε το επεισόδιο %d! + Βοήθεια + Ποιότητες + Φόντο προφίλ + Επανεκκίνηση + Το GitHub δεν είναι προσβάσιμο. Ενεργοποίηση διακομιστή μεσολάβησης jsDelivr… + Παράκαμψη ISP + Αφαιρέθηκε η εγγραφή από %s + Εγγεγραμμένος + Προφίλ %d + Wi-Fi + Δεδομένα τηλεφώνου + Ορισμός προεπιλογής + Χρήση + Επεξεργασία + Προφίλ + Το UI δεν ήταν σε θέση να δημιουργηθεί σωστά, είναι ένα σφάλμα και θα πρέπει να αναφερθεί αμέσως %s + Επιλέξτε κατάσταση για φιλτράρισμα επεκτάσεων για λήψη + Απενεργοποιημένο + @string/default_subtitles + Τέλος diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 1ac81c20..42e07c90 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -550,4 +550,6 @@ Selecciona el modo para filtrar la descarga de los plugins Desactivar @string/default_subtitles + No se encontraron complementos en el repositorio + Repositorio no encontrado, comprueba la URL y prueba la VPN diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 2e4b89b3..f9d28e24 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -45,4 +45,12 @@ کارتونها استفاده شده برنامه + بازگشت + آغاز قسمت بعد پس از پایان قسمت فعلی + تغییر ارائه دهنده + حذف + اطلاعات بیشتر + شرح + زبان زیرنویس + زیرنویس diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 92920ab4..35df36ac 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -417,22 +417,22 @@ Dodaj repository Ime repositorya URL spremišta (repositorija) - Dodatak je učitan - Dodatak je izbrisan + Dodatak učitan + Dodatak izbrisan Nije moguće učitati %s 18+ Započelo preuzimanje %d %s… Preuzeto %d %s Sve %s je već preuzeto Skupno preuzimanje - plugin - plugins - Ovo će također izbrisati sve dodatke spremišta + dodatak + dodaci + Ovo će također izbrisati sve dodatke repozitorija Izbriši repository Preuzmi popis stranica koje želite koristiti Preuzeto: %d Onemogućeno: %d - Nije preuzeto: %d + Nepreuzeto: %d CloudStream nema instalirane web stranice prema zadanim postavkama. Morate instalirati stranice iz repozitorija. \n \nZbog bezumnog uklanjanja DMCA od strane Sky UK Limited 🤮 ne možemo povezati web mjesto repozitorija u aplikaciji. @@ -459,9 +459,9 @@ Podržano Jezik HLS Playlista - Automatski instaliraj ekstenzije + Automatski instaliraj dodatke Zasluge - Automatski instaliraj sve neinstalirane ekstenzije iz dodanih repozitorija. + Automatski instaliraj sve neinstalirane dodatke iz dodanih repozitorija. Preferirani video player Interni player Prvo instalirajte ekstenziju @@ -479,7 +479,7 @@ Ne Instaliranje ažuriranja aplikacije… Nije moguće instalirati novu verziju aplikacije - Ažurirano %d ekstenzija + Ažurirano %d dodataka Mješoviti početak Uvod Linkovi @@ -565,4 +565,5 @@ Kvalitete Pozadina profila Nije bilo moguće ispravno izraditi korisničko sučelje. Ovo je ZNAČAJNA GREŠKA i treba se odmah prijaviti %s + Odaberi modus za filtriranje preuzimanja dodataka diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index c413ba60..2bd86090 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -572,4 +572,6 @@ UI tidak dapat dibuat dengan benar, ini adalah BUG UTAMA dan harus segera dilaporkan %s Nonaktif Pilih mode untuk memfilter unduhan plugin + Tidak ada plugin yang ditemukan di repositori + Repositori tidak ditemukan, periksa URL dan coba VPN diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 431b2a8c..dddc57c4 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -121,7 +121,7 @@ Pulsante di ridimensionamento del video Rimuovi bordi neri Sottotitoli - Impostazioni sottotitoli + Impostazioni sottotitoli lettore Sottotitoli Chromecast Impostazioni sottotitoli Chromecast Modalità Eigengravy @@ -226,7 +226,7 @@ Altri Film - Serie TV + Serie Cartoni Anime OVA @@ -568,4 +568,10 @@ Dati Mobili Qualità Sfondo profilo + Nessun plugin trovato nel repository + Repository non trovato, controlla l\'URL e prova la VPN + Non è stato possibile creare correttamente l\'interfaccia utente, questo è un GRANDE BUG e dovrebbe essere segnalato immediatamente %s + Seleziona la modalità per filtrare il download dei plugin + @string/default_subtitles + Disabilita diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 7131ee25..af4ea695 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -211,4 +211,11 @@ 窓の色 エッジタイプ ダウンロードを一時停止する + 使用タイプの検索 + フォント + 言語をダウンロードする + 字幕の言語 + フォントサイズ + プロバイダーから探す + 言語の自動選択 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index dff95be7..5f60ac14 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -568,4 +568,10 @@ \n \nNOTITIE: Als de som 10 of hoger is zal de speler automatisch het laden overslaan wanneer die link is geladen! Profiel %d + Repository niet gevonden, controleer de URL en probeer een VPN + Geen plug-ins gevonden in de repository + Selecteer een modus om het downloaden van plug-ins te filteren + Uitzetten + De gebruikersinterface kon niet correct worden gemaakt, dit is een ERNSTIG PROBLEEM en moet onmiddellijk gerapporteerd worden %s + @string/default_subtitles diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 773598bf..b2504e84 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -546,4 +546,10 @@ \nTerá uma prioridade de vídeo combinada de 10. \n \nNOTA: Se a soma for 10 ou mais, o leitor saltará automaticamente o carregamento quando essa ligação for carregada! + Selecionar o modo para filtrar a transferência de plug-ins + Não foi possível criar corretamente a interface do utilizador, trata-se de um GRANDE BUG e deve ser comunicado imediatamente %s + \@ string/legendas_padrão + Desativar + Não foram encontrados plugins no repositório + Repositório não encontrado, verifique o URL e tente a VPN diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 294abcfd..1f288d2a 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -29,7 +29,7 @@ Descărcări Setări Căutare… - Căutați %s... + Căutați %s… Fără date Mai multe opțiunii Episodul următor @@ -37,7 +37,7 @@ Distribuie Deschide în browser Săriți încărcarea - Se încarcă... + Se încarcă… În curs de vizualizare În așteptare Finalizat @@ -49,7 +49,7 @@ Stream Torrent Surse Subtitrare - Încercați să vă conectați din nou... + Încercați să vă conectați din nou… Înapoi Redă episodul Descărcare @@ -125,9 +125,9 @@ Modul Eigengravy Adăugați opțiunea de viteză în player Derulați spre înainte/înapoi - Glisați dintr-o parte în alta pentru a vă controla poziția într-un videoclip + Derulați dintr-o parte în alta pentru a controla timpul de difuzare a videoclipului Derulați pentru a modifica setările - Glisați spre stânga sau spre dreapta pentru a schimba luminozitatea sau volumul + Glisați în sus sau în jos pe partea stângă sau dreaptă pentru a schimba luminozitatea sau volumul Atingeți de două ori pentru a merge înainte/înapoi Atingeți de două ori pentru a pune pauză Atingeți de două ori partea stângă sau dreaptă a ecranului pentru a derula rapid înainte sau înapoi videoclipul @@ -442,8 +442,7 @@ Autori Raportarea accidentelor Adaugă depozit - Se pare că biblioteca ta este goală :( -\nConectează-te la un cont de bibliotecă sau adaugă emisiuni în biblioteca ta locală + Se pare că biblioteca ta este goală :( Conectează-te la un cont de bibliotecă sau adaugă emisiuni în biblioteca ta locală. Eliminați subtitrările închise din subtitrări Descărcați lista de site-uri pe care doriți să le utilizați Evaluare (Ridicat la Scăzut) @@ -501,7 +500,7 @@ Descriere Plugin Descărcat Sunteți sigur că vreți să ieșiți\? - Se pare că această listă este goală, încercați să treceți la o alta + Se pare că această listă este goală, încercați să treceți la o alta. Sortați după Player intern Prestabile @@ -548,4 +547,27 @@ Player video preferat Actualizări al aplicației Subtitrări + Dezactivați + Aici puteți schimba modul în care sunt ordonate sursele. Dacă un videoclip are o prioritate mai mare, acesta va apărea mai sus în selecția surselor. Suma dintre prioritatea sursei și prioritatea calității reprezintă prioritatea video. +\n +\nSursa A: 3 +\nCalitate B: 7 +\nVa avea o prioritate video combinată de 10. +\n +\nNOTĂ: Dacă suma este 10 sau mai mare, playerul va sări automat peste încărcare atunci când este încărcat link-ul respectiv! + Nu s-a găsit plugin-uri în depozit + Nu s-a găsit depozitul, verificați URL-ul și încercați cu un VPN + Editați + Profiluri + Ajutor + Profilul %d + Wi-FI + Date mobile + Calități + Profil de fundal + Setați ca implicit + Utilizați + UI nu a putut fi creată corect, acesta este un BUG MAJOR și trebuie raportat imediat %s + Selectați modul de filtrare a descărcării plugin-urilor + @string/default_subtitles diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index e246c673..2c5d4197 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -546,4 +546,10 @@ Редагувати Якості Фон профілю + Не вдалося створити UI коректно, це ВАЖЛИВА ПОМИЛКА, про яку слід негайно повідомити %s + Виберіть режим для фільтрації завантаження плагінів + Вимкнути + @string/default_subtitles + Репозиторій не знайдено, перевірте URL-адресу та спробуйте VPN + Не знайдено жодних плагінів у репозиторії diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e019ae2b..ea716315 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -688,4 +688,5 @@ tv_no_focus_tag + You have already voted diff --git a/fastlane/metadata/android/ar/changelogs/2.txt b/fastlane/metadata/android/ar/changelogs/2.txt new file mode 100644 index 00000000..911b9b32 --- /dev/null +++ b/fastlane/metadata/android/ar/changelogs/2.txt @@ -0,0 +1 @@ +- تمت إضافة سجل التغيير! diff --git a/fastlane/metadata/android/ar/full_description.txt b/fastlane/metadata/android/ar/full_description.txt new file mode 100644 index 00000000..9bbe01ef --- /dev/null +++ b/fastlane/metadata/android/ar/full_description.txt @@ -0,0 +1,12 @@ +يتيح لك كلاود ستريم -3 بث وتنزيل الأفلام والمسلسلات التلفزيونية والأنيمي. + +يأتي التطبيق بدون أي إعلانات وتحليلات. +و يدعم العديد من مواقع البث الاولي(التريلر) والأفلام والمزيد. وتشمل الميزات: + +إشارات مرجعية + +قم بتنزيل ودفق الأفلام والبرامج التلفزيونية والأنيمي + +تنزيلات الترجمة + +دعم كروم كاست diff --git a/fastlane/metadata/android/ar/short_description.txt b/fastlane/metadata/android/ar/short_description.txt new file mode 100644 index 00000000..f396ff81 --- /dev/null +++ b/fastlane/metadata/android/ar/short_description.txt @@ -0,0 +1 @@ +بث وتحميل الأفلام والأنمي والمسلسلات التلفزيونية. diff --git a/fastlane/metadata/android/ar/title.txt b/fastlane/metadata/android/ar/title.txt new file mode 100644 index 00000000..635e1390 --- /dev/null +++ b/fastlane/metadata/android/ar/title.txt @@ -0,0 +1 @@ +كلاود ستريم diff --git a/fastlane/metadata/android/cs-CZ/changelogs/2.txt b/fastlane/metadata/android/cs-CZ/changelogs/2.txt new file mode 100644 index 00000000..c100e834 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/2.txt @@ -0,0 +1 @@ +- Přidán seznam změn! diff --git a/fastlane/metadata/android/cs-CZ/full_description.txt b/fastlane/metadata/android/cs-CZ/full_description.txt new file mode 100644 index 00000000..3e2d8308 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/full_description.txt @@ -0,0 +1,10 @@ +CloudStream-3 umožňuje streamovat a stahovat filmy, televizní seriály a anime. + +Aplikace je bez reklam a analytik a podporuje +spoustu stránek s trailery a filmy a další, např. + +Záložky + +Stahování titulků + +Podpora Chromecastu diff --git a/fastlane/metadata/android/cs-CZ/short_description.txt b/fastlane/metadata/android/cs-CZ/short_description.txt new file mode 100644 index 00000000..d934429d --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/short_description.txt @@ -0,0 +1 @@ +Streamování a stahování filmů, TV seriálů a anime. diff --git a/fastlane/metadata/android/cs-CZ/title.txt b/fastlane/metadata/android/cs-CZ/title.txt new file mode 100644 index 00000000..dde89d58 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/title.txt @@ -0,0 +1 @@ +CloudStream diff --git a/fastlane/metadata/android/de-DE/changelogs/2.txt b/fastlane/metadata/android/de-DE/changelogs/2.txt new file mode 100644 index 00000000..fc9e0cb9 --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/2.txt @@ -0,0 +1 @@ +- Änderungsprotokoll hinzugefügt! diff --git a/fastlane/metadata/android/de-DE/full_description.txt b/fastlane/metadata/android/de-DE/full_description.txt index 20fa580c..df314372 100644 --- a/fastlane/metadata/android/de-DE/full_description.txt +++ b/fastlane/metadata/android/de-DE/full_description.txt @@ -1,14 +1,12 @@ -Mit CloudStream-3 kannst du Filme, TV-Serien und Anime streamen und herunterladen. Die App kommt ganz ohne Werbung und Analytik aus. Sie unterstützt mehrere Trailer-, Filmseiten und vieles mehr. Integrierte Features: - +Mit CloudStream-3 kannst du Filme, TV-Serien und Anime streamen und herunterladen. +Die App kommt ganz ohne Werbung und Analytik aus. +Sie unterstützt mehrere Trailer-, Filmseiten und vieles mehr. Integrierte Features: Lesezeichen - Herunterladen und Streamen von Filmen, Fernsehsendungen und Animes - Downloads von Untertiteln - Chromecast-Unterstützung diff --git a/fastlane/metadata/android/de-DE/short_description.txt b/fastlane/metadata/android/de-DE/short_description.txt index 90f289be..d03eaf7d 100644 --- a/fastlane/metadata/android/de-DE/short_description.txt +++ b/fastlane/metadata/android/de-DE/short_description.txt @@ -1 +1 @@ -Streame und downloade Filme, TV-Serien und Animes. +Filme, Fernsehserien und Animes streamen und herunterladen. diff --git a/fastlane/metadata/android/el-GR/changelogs/2.txt b/fastlane/metadata/android/el-GR/changelogs/2.txt new file mode 100644 index 00000000..63b5f9cc --- /dev/null +++ b/fastlane/metadata/android/el-GR/changelogs/2.txt @@ -0,0 +1 @@ +- Προστέθηκε ο κατάλογος αλλαγών! diff --git a/fastlane/metadata/android/el-GR/full_description.txt b/fastlane/metadata/android/el-GR/full_description.txt new file mode 100644 index 00000000..8062d1c1 --- /dev/null +++ b/fastlane/metadata/android/el-GR/full_description.txt @@ -0,0 +1,10 @@ +Το CloudStream-3 σάς επιτρέπει να μεταδώσετε και να κατεβάζετε Ταινίες, Τηλεοπτικές σειρές και Anime. + +Η εφαρμογή έρχεται χωρίς διαφημίσεις και αναλυτικά στοιχεία και +υποστηρίζει πολλούς ιστότοπους με τρέιλερ ταινιών και πολλά άλλα, π.χ. + +Σελιδοδείκτες + +Λήψεις υποτίτλων + +Υποστήριξη Chromecast diff --git a/fastlane/metadata/android/el-GR/short_description.txt b/fastlane/metadata/android/el-GR/short_description.txt new file mode 100644 index 00000000..b868574a --- /dev/null +++ b/fastlane/metadata/android/el-GR/short_description.txt @@ -0,0 +1 @@ +Μετάδοση και λήψη ταινιών, σειρών και anime. diff --git a/fastlane/metadata/android/el-GR/title.txt b/fastlane/metadata/android/el-GR/title.txt new file mode 100644 index 00000000..dde89d58 --- /dev/null +++ b/fastlane/metadata/android/el-GR/title.txt @@ -0,0 +1 @@ +CloudStream diff --git a/fastlane/metadata/android/it-IT/changelogs/2.txt b/fastlane/metadata/android/it-IT/changelogs/2.txt new file mode 100644 index 00000000..04112af3 --- /dev/null +++ b/fastlane/metadata/android/it-IT/changelogs/2.txt @@ -0,0 +1 @@ +- Aggiunto registro delle modifiche! diff --git a/fastlane/metadata/android/it-IT/full_description.txt b/fastlane/metadata/android/it-IT/full_description.txt index cc7dd597..fe80c88e 100644 --- a/fastlane/metadata/android/it-IT/full_description.txt +++ b/fastlane/metadata/android/it-IT/full_description.txt @@ -1,14 +1,10 @@ -CloudStream-3 ti consente di riprodurre in streaming e scaricare film, serie TV e anime. L'app viene fornita senza pubblicità e tracking. Supporta più siti di trailer e film e altro ancora. Le caratteristiche includono: - +CloudStream-3 ti consente di riprodurre in streaming e scaricare film, serie TV e anime. +L'app viene fornita senza pubblicità e tracking. +Supporta più siti di trailer e film e altro ancora, ad esempio: Preferiti - -Scarica e riproduci in streaming film, serie TV e anime - - -scarica sottotitoli - +Download di sottotitoli Supporto a Chromecast diff --git a/fastlane/metadata/android/it-IT/short_description.txt b/fastlane/metadata/android/it-IT/short_description.txt index 64c8e0d0..693131d5 100644 --- a/fastlane/metadata/android/it-IT/short_description.txt +++ b/fastlane/metadata/android/it-IT/short_description.txt @@ -1 +1 @@ -Scarica e riproduci in streaming film, serie TV e anime +Scarica e riproduci in streaming film, serie TV e anime. diff --git a/fastlane/metadata/android/it-IT/title.txt b/fastlane/metadata/android/it-IT/title.txt new file mode 100644 index 00000000..dde89d58 --- /dev/null +++ b/fastlane/metadata/android/it-IT/title.txt @@ -0,0 +1 @@ +CloudStream diff --git a/fastlane/metadata/android/ro/changelogs/2.txt b/fastlane/metadata/android/ro/changelogs/2.txt new file mode 100644 index 00000000..cc15b07a --- /dev/null +++ b/fastlane/metadata/android/ro/changelogs/2.txt @@ -0,0 +1 @@ +- Changelog adăugat! diff --git a/fastlane/metadata/android/ro/full_description.txt b/fastlane/metadata/android/ro/full_description.txt new file mode 100644 index 00000000..deb77fb6 --- /dev/null +++ b/fastlane/metadata/android/ro/full_description.txt @@ -0,0 +1,10 @@ +CloudStream-3 vă permite să difuzați și să descărcați filme, seriale TV și anime. + +Aplicația vine fără reclame și analize și +suportă mai multe site-uri de rulare și filme, și nu numai, de ex. + +Marcaje + +Descărcări de subtitrări + +Suport pentru Chromecast diff --git a/fastlane/metadata/android/ro/short_description.txt b/fastlane/metadata/android/ro/short_description.txt new file mode 100644 index 00000000..1d8b97a1 --- /dev/null +++ b/fastlane/metadata/android/ro/short_description.txt @@ -0,0 +1 @@ +Transmiteți și descărcați filme, seriale TV și anime. diff --git a/fastlane/metadata/android/ro/title.txt b/fastlane/metadata/android/ro/title.txt new file mode 100644 index 00000000..dde89d58 --- /dev/null +++ b/fastlane/metadata/android/ro/title.txt @@ -0,0 +1 @@ +CloudStream diff --git a/fastlane/metadata/android/uk/full_description.txt b/fastlane/metadata/android/uk/full_description.txt index 554b08ac..31770635 100644 --- a/fastlane/metadata/android/uk/full_description.txt +++ b/fastlane/metadata/android/uk/full_description.txt @@ -1,14 +1,10 @@ -CloudStream-3 дозволяє транслювати та завантажувати фільми, серіали та аніме. Застосунок не містить реклами та аналітики. Підтримує безліч сайтів з трейлерами та фільмами тощо. Особливості застосунку: - +CloudStream-3 дозволяє транслювати та завантажувати фільми, серіали та аніме. +Застосунок не містить реклами та аналітики й +підтримує безліч сайтів з трейлерами, фільмами тощо, а також багато іншого, наприклад: Закладки - -Завантаження та трансляція фільмів, серіалів та аніме - - -завантаження субтитрів - +Завантаження субтитрів Підтримка Chromecast