mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-08-20 13:19:28 +02:00
Compare commits
27 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4017253470 | ||
|
b0b6ddb8fd | ||
|
192b7fc6ce | ||
|
b74dbb973c | ||
|
46ccf8478b | ||
|
9a354ecf0e | ||
|
738dd5649f | ||
|
9f50d8db2d | ||
|
eeb57dbe35 | ||
|
cbcc8c4eaf | ||
|
f4d27c8494 | ||
|
7507e7bf5c | ||
|
783e8029b6 | ||
|
3554257918 | ||
|
ef98ceaaa2 | ||
|
86540e703d | ||
|
1b7c340e2c | ||
|
ba6148dfef | ||
|
6b47048e43 | ||
|
b698947ecf | ||
|
e677d3179c | ||
|
25ef35c13c | ||
|
ba167fed33 | ||
|
d03c4dec4e | ||
|
e2525eef74 | ||
|
35caec61c5 | ||
|
33a7af216c |
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Deinstaliraj s uređaja",
|
||||
"onlyWorksWithNonVersionDetectApps": "Radi samo za aplikacije s onemogućenom detekcijom verzije.",
|
||||
"releaseDateAsVersion": "Koristi datum izdanja kao verziju",
|
||||
"releaseTitleAsVersion": "Use release title as version string",
|
||||
"releaseDateAsVersionExplanation": "Ova opcija bi se trebala koristiti samo za aplikacije gdje detekcija verzije ne radi ispravno, ali je datum izdavanja dostupan.",
|
||||
"changes": "Promjene",
|
||||
"releaseDate": "Datum izdavanja",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Pomoć/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Konfiguracije aplikacije obezbeđene pomoću velikog broja ljudi (crowdsourcing) (koristite na svoju odgovornost)",
|
||||
"allowInsecure": "Allow insecure HTTP requests",
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"removeAppQuestion": {
|
||||
"one": "Želite li ukloniti aplikaciju?",
|
||||
"other": "Želite li ukloniti aplikacije?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Odinstalovat ze zařízení",
|
||||
"onlyWorksWithNonVersionDetectApps": "Funguje pouze pro aplikace s vypnutou detekcí verze.",
|
||||
"releaseDateAsVersion": "Použít datum vydání jako verzi",
|
||||
"releaseTitleAsVersion": "Použít název verze jako řetězec verze",
|
||||
"releaseDateAsVersionExplanation": "Tato možnost by měla být použita pouze u aplikace, kde detekce verzí nefunguje správně, ale je k dispozici datum vydání.",
|
||||
"changes": "Změny",
|
||||
"releaseDate": "Datum vydání",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Nápověda/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Konfigurace aplikací s využitím crowdsourcingu (použití na vlastní nebezpečí)",
|
||||
"allowInsecure": "Povolení nezabezpečených požadavků HTTP",
|
||||
"stayOneVersionBehind": "Zůstaňte o jednu verzi pozadu za nejnovější",
|
||||
"removeAppQuestion": {
|
||||
"one": "Odstranit Apku?",
|
||||
"other": "Odstranit Apky?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Afinstaller fra enhed",
|
||||
"onlyWorksWithNonVersionDetectApps": "Virker kun for apps med versionsregistrering deaktiveret.",
|
||||
"releaseDateAsVersion": "Brug udgivelsesdato som versionsstreng",
|
||||
"releaseTitleAsVersion": "Brug udgivelsestitel som versionsstreng",
|
||||
"releaseDateAsVersionExplanation": "Denne indstilling bør kun bruges til apps, hvor versionsregistrering ikke virker korrekt, men hvor en udgivelsesdato er tilgængelig.",
|
||||
"changes": "Ændringer",
|
||||
"releaseDate": "Udgivelsesdato",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Hjælp/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Crowdsourcede app-konfigurationer (brug på egen risiko)",
|
||||
"allowInsecure": "Tillad usikre HTTP-anmodninger",
|
||||
"stayOneVersionBehind": "Vær en version bagud i forhold til den nyeste",
|
||||
"removeAppQuestion": {
|
||||
"one": "Fjern app?",
|
||||
"other": "Fjern apps?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Vom Gerät deinstallieren",
|
||||
"onlyWorksWithNonVersionDetectApps": "Funktioniert nur bei Apps mit deaktivierter Versionserkennung.",
|
||||
"releaseDateAsVersion": "Veröffentlichungsdatum als Version verwenden",
|
||||
"releaseTitleAsVersion": "Versionstitel als Versionsstring verwenden",
|
||||
"releaseDateAsVersionExplanation": "Diese Option sollte nur für Apps verwendet werden, bei denen die Versionserkennung nicht korrekt funktioniert, aber ein Veröffentlichungsdatum verfügbar ist.",
|
||||
"changes": "Änderungen",
|
||||
"releaseDate": "Veröffentlichungsdatum",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Hilfe/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Crowdsourced App-Konfigurationen (Verwendung auf eigene Gefahr)",
|
||||
"allowInsecure": "Unsichere HTTP-Anfragen zulassen",
|
||||
"stayOneVersionBehind": "Eine Version hinter der neuesten Version bleiben",
|
||||
"removeAppQuestion": {
|
||||
"one": "App entfernen?",
|
||||
"other": "Apps entfernen?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Malinstali el la disponaĵo",
|
||||
"onlyWorksWithNonVersionDetectApps": "Funkcias nur por apoj kun malaktiva versiodetekto.",
|
||||
"releaseDateAsVersion": "Uzi eldondato kiel versioĉeno",
|
||||
"releaseTitleAsVersion": "Use release title as version string",
|
||||
"releaseDateAsVersionExplanation": "Tiu opcio devas esti uzata nur por apoj, por kiu la versiodetekto ne funkcias ĝuste, sed eldondato estas havebla.",
|
||||
"changes": "Modifoj",
|
||||
"releaseDate": "Eldondato",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Helpo/Vikio",
|
||||
"crowdsourcedConfigsLabel": "Komunumaj apo-agordoj (uzu kun singardo)",
|
||||
"allowInsecure": "Allow insecure HTTP requests",
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"removeAppQuestion": {
|
||||
"one": "Forigi la aplikaĵon?",
|
||||
"other": "Forigi la aplikaĵojn?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Uninstall from Device",
|
||||
"onlyWorksWithNonVersionDetectApps": "Only works for Apps with version detection disabled.",
|
||||
"releaseDateAsVersion": "Use release date as version string",
|
||||
"releaseTitleAsVersion": "Use release title as version string",
|
||||
"releaseDateAsVersionExplanation": "This option should only be used for Apps where version detection does not work correctly, but a release date is available.",
|
||||
"changes": "Changes",
|
||||
"releaseDate": "Release Date",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Help/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
|
||||
"allowInsecure": "Allow insecure HTTP requests",
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"removeAppQuestion": {
|
||||
"one": "Remove App?",
|
||||
"other": "Remove Apps?"
|
||||
@@ -375,4 +377,4 @@
|
||||
"one": "{} APK",
|
||||
"other": "{} APKs"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Desinstalar del dispositivo",
|
||||
"onlyWorksWithNonVersionDetectApps": "Solo funciona para aplicaciones con la detección de versiones desactivada.",
|
||||
"releaseDateAsVersion": "Por fecha de publicación",
|
||||
"releaseTitleAsVersion": "Utilizar el título de la versión como cadena de versión",
|
||||
"releaseDateAsVersionExplanation": "Esta opción solo se debería usar con aplicaciones en las que la detección de versiones no funciona pero hay disponible una fecha de publicación.",
|
||||
"changes": "Cambios",
|
||||
"releaseDate": "Fecha de publicación",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Ayuda/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (uso bajo su propia responsabilidad)",
|
||||
"allowInsecure": "Permitir peticiones HTTP inseguras",
|
||||
"stayOneVersionBehind": "Mantenerse una versión por detrás de la última",
|
||||
"removeAppQuestion": {
|
||||
"one": "¿Eliminar aplicación?",
|
||||
"other": "¿Eliminar aplicaciones?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "حذف نصب از دستگاه",
|
||||
"onlyWorksWithNonVersionDetectApps": "فقط برای برنامههایی کار میکند که تشخیص نسخه غیرفعال است.",
|
||||
"releaseDateAsVersion": "از تاریخ انتشار به عنوان نسخه استفاده کنید",
|
||||
"releaseTitleAsVersion": "Use release title as version string",
|
||||
"releaseDateAsVersionExplanation": "این گزینه فقط باید برای برنامه هایی استفاده شود که تشخیص نسخه به درستی کار نمی کند، اما تاریخ انتشار در دسترس است.",
|
||||
"changes": "تغییرات",
|
||||
"releaseDate": "تاریخ انتشار",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "راهنما/ویکی",
|
||||
"crowdsourcedConfigsLabel": "تنظیمات برنامه Crowdsourced (با مسئولیت خود استفاده کنید)",
|
||||
"allowInsecure": "درخواست های HTTP ناامن را مجاز کنید",
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"removeAppQuestion": {
|
||||
"one": "برنامه حذف شود؟",
|
||||
"other": "برنامه ها حذف شوند؟"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Désinstaller de l'appareil",
|
||||
"onlyWorksWithNonVersionDetectApps": "Ne fonctionne que pour les applications dont la détection de la version est désactivée.",
|
||||
"releaseDateAsVersion": "Utiliser la date de sortie comme version",
|
||||
"releaseTitleAsVersion": "Utiliser le titre de la version comme chaîne de caractères de la version",
|
||||
"releaseDateAsVersionExplanation": "Cette option ne doit être utilisée que pour les applications pour lesquelles la détection de la version ne fonctionne pas correctement, mais dont une date de sortie est disponible.",
|
||||
"changes": "Modifications",
|
||||
"releaseDate": "Date de sortie",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Aide/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Configurations d'applications par la communauté (à utiliser à vos risques et périls)",
|
||||
"allowInsecure": "Autoriser les requêtes HTTP non sécurisées",
|
||||
"stayOneVersionBehind": "Rester à une version de la dernière",
|
||||
"removeAppQuestion": {
|
||||
"one": "Supprimer l'application ?",
|
||||
"other": "Supprimer les applications ?"
|
||||
|
@@ -31,7 +31,7 @@
|
||||
"xIsTrackOnly": "A(z) {} csak nyomonkövethető",
|
||||
"source": "Forrás",
|
||||
"app": "Alkalmazás",
|
||||
"appsFromSourceAreTrackOnly": "Az ebből a forrásból származó alkalmazások „csak nyomonkövethetőek”.",
|
||||
"appsFromSourceAreTrackOnly": "Az ebből a forrásból származó alkalmazások „csak nyomonkövethetők”.",
|
||||
"youPickedTrackOnly": "„Csak nyomonkövetés” opciót választotta.",
|
||||
"trackOnlyAppDescription": "Az alkalmazás frissítéseit nyomon követi, de az Obtainium nem tudja letölteni vagy telepíteni.",
|
||||
"cancelled": "Visszavonva",
|
||||
@@ -55,7 +55,7 @@
|
||||
"pleaseWait": "Kis türelmet",
|
||||
"updateAvailable": "Frissítés érhető el",
|
||||
"notInstalled": "Nem telepített",
|
||||
"pseudoVersion": "pszeudo-verzió",
|
||||
"pseudoVersion": "pszeudoverzió",
|
||||
"selectAll": "Összes kiválasztása",
|
||||
"deselectX": "A(z) {} kiválasztásának elvetése",
|
||||
"xWillBeRemovedButRemainInstalled": "A(z) {} el lesz távolítva az Obtainiumból, de továbbra is telepítve marad az eszközön.",
|
||||
@@ -63,7 +63,7 @@
|
||||
"removeSelectedApps": "A kiválasztott alkalmazások eltávolítása",
|
||||
"updateX": "A(z) {} frissítése",
|
||||
"installX": "A(z) {} telepítése",
|
||||
"markXTrackOnlyAsUpdated": "Megjelölés: {}\n(Csak nyomon követhető)\nmint Frissített",
|
||||
"markXTrackOnlyAsUpdated": "Megjelölés: {}\n(Csak nyomonkövetés)\nFrissítettként",
|
||||
"changeX": "{} változtatás",
|
||||
"installUpdateApps": "Alkalmazások telepítése/frissítése",
|
||||
"installUpdateSelectedApps": "A kiválasztott alkalmazások telepítése/frissítése",
|
||||
@@ -75,8 +75,8 @@
|
||||
"unpinFromTop": "Kitűzés megszüntetése",
|
||||
"resetInstallStatusForSelectedAppsQuestion": "Visszaállítja a kiválasztott alkalmazások telepítési állapotát?",
|
||||
"installStatusOfXWillBeResetExplanation": "A kiválasztott alkalmazások telepítési állapota visszaáll.\n\nEz akkor segíthet, ha az Obtainiumban megjelenített alkalmazás-verzió hibás, a frissítések vagy egyéb problémák miatt.",
|
||||
"customLinkMessage": "Ezek a hivatkozások a telepített Obtainium-mal rendelkező eszközökön működnek",
|
||||
"shareAppConfigLinks": "Alkalmazás-konfiguráció megosztása HTML hivatkozásként",
|
||||
"customLinkMessage": "Ezek a hivatkozások a telepített Obtainiummal rendelkező eszközökön működnek",
|
||||
"shareAppConfigLinks": "Alkalmazás-konfiguráció megosztása HTML-hivatkozásként",
|
||||
"shareSelectedAppURLs": "A kiválasztott alkalmazás hivatkozásának megosztása",
|
||||
"resetInstallStatus": "Telepítési állapot visszaállítása",
|
||||
"more": "További",
|
||||
@@ -91,18 +91,18 @@
|
||||
"importExport": "Import/Export",
|
||||
"settings": "Beállítások",
|
||||
"exportedTo": "Exportálva ide: {}",
|
||||
"obtainiumExport": "Obtainium adatainak exportálása",
|
||||
"obtainiumExport": "Obtainium adatok exportálása",
|
||||
"invalidInput": "Hibás bemenet",
|
||||
"importedX": "Importálva innen: {}",
|
||||
"obtainiumImport": "Obtainium adatok importálása",
|
||||
"importFromURLList": "Importálás webcím-listából",
|
||||
"importFromURLList": "Importálás webcímlistából",
|
||||
"searchQuery": "Keresési lekérdezés",
|
||||
"appURLList": "Alkalmazás webcím-lista",
|
||||
"appURLList": "Alkalmazás-webcímlista",
|
||||
"line": "Sor",
|
||||
"searchX": "{} keresése",
|
||||
"noResults": "Nincs találat",
|
||||
"importX": "{} importálása",
|
||||
"importedAppsIdDisclaimer": "Előfordulhat, hogy az importált alkalmazások helytelenül „Nincs telepítve” jelzéssel jelennek meg.\nA probléma megoldásához telepítse újra őket az Obtainiumon keresztül.\nEz nem érinti az alkalmazásadatokat.\n\nCsak a hivatkozásokra és a harmadik féltől származó importálási módszerekre vonatkozik..",
|
||||
"importedAppsIdDisclaimer": "Előfordulhat, hogy az importált alkalmazások helytelenül „Nincs telepítve” jelzéssel jelennek meg.\nA probléma megoldásához telepítse újra őket az Obtainiumon keresztül.\nEz nem érinti az alkalmazásadatokat.\n\nCsak a webcímekre és a harmadik féltől származó importálási módszerekre vonatkozik.",
|
||||
"importErrors": "Importálási hibák",
|
||||
"importedXOfYApps": "{}/{} alkalmazás importálva.",
|
||||
"followingURLsHadErrors": "A következő webcímek hibákat tartalmaztak:",
|
||||
@@ -118,11 +118,11 @@
|
||||
"appSortBy": "Elrendezés",
|
||||
"authorName": "Szerző/Név",
|
||||
"nameAuthor": "Név/Szerző",
|
||||
"asAdded": "Mint hozzáadott",
|
||||
"appSortOrder": "Rendezési sorrend",
|
||||
"ascending": "Emelkedő",
|
||||
"asAdded": "Hozzáadás dátuma",
|
||||
"appSortOrder": "Elrendezés sorrendje",
|
||||
"ascending": "Növekvő",
|
||||
"descending": "Csökkenő",
|
||||
"bgUpdateCheckInterval": "Időtartam a frissítések háttér-ellenőrzése között",
|
||||
"bgUpdateCheckInterval": "Időtartam a frissítések háttérellenőrzése között",
|
||||
"neverManualOnly": "Soha – csak kézi",
|
||||
"appearance": "Megjelenés",
|
||||
"showWebInAppView": "Forrás megjelenítése az alkalmazásnézetben",
|
||||
@@ -135,14 +135,14 @@
|
||||
"close": "Bezárás",
|
||||
"share": "Megosztás",
|
||||
"appNotFound": "Az alkalmazás nem található",
|
||||
"obtainiumExportHyphenatedLowercase": "obtainium-export",
|
||||
"obtainiumExportHyphenatedLowercase": "obtainium-adat",
|
||||
"pickAnAPK": "Válasszon egy APK-t",
|
||||
"appHasMoreThanOnePackage": "A(z) {} egynél több csomaggal rendelkezik:",
|
||||
"deviceSupportsXArch": "Ez az eszköz támogatja a(z) {} CPU architektúrát.",
|
||||
"deviceSupportsFollowingArchs": "Ez az eszköz a következő CPU architektúrákat támogatja:",
|
||||
"warning": "Figyelem",
|
||||
"sourceIsXButPackageFromYPrompt": "Az alkalmazás forrása a(z) „{}” tároló, de a kiadási csomag innen származik: „{}”. Folytatja?",
|
||||
"updatesAvailable": "Frissítések érhetőek el",
|
||||
"updatesAvailable": "Frissítések érhetők el",
|
||||
"updatesAvailableNotifDescription": "Értesíti a felhasználót, hogy egy vagy több, az Obtainium által nyomonkövetett alkalmazáshoz frissítések állnak rendelkezésre",
|
||||
"noNewUpdates": "Nincsenek új frissítések.",
|
||||
"xHasAnUpdate": "A(z) {} frissítést kapott.",
|
||||
@@ -186,7 +186,7 @@
|
||||
"update": "Frissítés",
|
||||
"markUpdated": "Frissítettnek jelölés",
|
||||
"additionalOptions": "További beállítások",
|
||||
"disableVersionDetection": "Verzió érzékelés letiltása",
|
||||
"disableVersionDetection": "Verzióérzékelés letiltása",
|
||||
"noVersionDetectionExplanation": "Ezt a beállítást csak olyan alkalmazásoknál szabad használni, ahol a verzióérzékelés nem működik megfelelően.",
|
||||
"downloadingX": "{} letöltése",
|
||||
"downloadX": "{} letöltése",
|
||||
@@ -194,7 +194,7 @@
|
||||
"releaseAsset": "Kiadási csomag",
|
||||
"downloadNotifDescription": "Értesíti a felhasználót az alkalmazás letöltésének előrehaladásáról",
|
||||
"noAPKFound": "Nem található APK",
|
||||
"noVersionDetection": "Nincs verzió érzékelés",
|
||||
"noVersionDetection": "Nincs verzióérzékelés",
|
||||
"categorize": "Kategorizálás",
|
||||
"categories": "Kategóriák",
|
||||
"category": "Kategória",
|
||||
@@ -212,12 +212,13 @@
|
||||
"removeFromObtainium": "Eltávolítás az Obtainiumból",
|
||||
"uninstallFromDevice": "Eltávolítás az eszközről",
|
||||
"onlyWorksWithNonVersionDetectApps": "Csak azoknál az alkalmazásoknál működik, amelyeknél a verzióérzékelés le van tiltva.",
|
||||
"releaseDateAsVersion": "Használja a kiadás dátumát, mint verziót",
|
||||
"releaseDateAsVersion": "Használja a kiadás dátumát verzióként",
|
||||
"releaseTitleAsVersion": "A kiadás címét verziószálként használja",
|
||||
"releaseDateAsVersionExplanation": "Ezt a beállítást csak olyan alkalmazásoknál szabad használni, ahol a verzióérzékelés nem működik megfelelően, de elérhető a kiadás dátuma.",
|
||||
"changes": "Változások",
|
||||
"releaseDate": "Kiadás dátuma",
|
||||
"importFromURLsInFile": "Importálás fájlban található webcímből (pl. OPML)",
|
||||
"versionDetectionExplanation": "A verzió-karakterlánc egyeztetése az OS által észlelt verzióval",
|
||||
"versionDetectionExplanation": "A verziókarakterlánc egyeztetése az rendszer által észlelt verzióval",
|
||||
"versionDetection": "Verzióérzékelés",
|
||||
"standardVersionDetection": "Alapértelmezett verzióérzékelés",
|
||||
"groupByCategory": "Csoportosítás kategória alapján",
|
||||
@@ -226,7 +227,7 @@
|
||||
"dontShowAgain": "Ne jelenítse meg ezt többé",
|
||||
"dontShowTrackOnlyWarnings": "Ne jelenítse meg a „Csak nyomonkövetés” figyelmeztetést",
|
||||
"dontShowAPKOriginWarnings": "Ne jelenítse meg az APK eredetére vonatkozó figyelmeztetéseket",
|
||||
"moveNonInstalledAppsToBottom": "Helyezze át a nem telepített alkalmazásokat az alkalmazás-nézet aljára",
|
||||
"moveNonInstalledAppsToBottom": "Helyezze át a nem telepített alkalmazásokat az alkalmazásnézet aljára",
|
||||
"gitlabPATLabel": "GitLab személyes hozzáférési token",
|
||||
"about": "Névjegy",
|
||||
"requiresCredentialsInSettings": "A(z) {} alkalmazásnak további hitelesítő adatokra van szüksége (a beállításokban)",
|
||||
@@ -241,9 +242,9 @@
|
||||
"addInfoBelow": "Adja hozzá ezt az információt alább.",
|
||||
"addInfoInSettings": "Adja hozzá ezt az információt a beállításokban.",
|
||||
"githubSourceNote": "A GitHub/GitLab lekérdezés-korlátozás elkerülhető egy API-kulcs használatával.",
|
||||
"sortByLastLinkSegment": "Rendezés csak a hivatkozás utolsó szegmense szerint",
|
||||
"sortByLastLinkSegment": "Rendezés csak a hivatkozás utolsó szakasza szerint",
|
||||
"filterReleaseNotesByRegEx": "Kiadási megjegyzések szűrése reguláris kifejezéssel",
|
||||
"customLinkFilterRegex": "Egyéni APK hivatkozásszűrő reguláris kifejezéssel (Alapértelmezett „.apk$”)",
|
||||
"customLinkFilterRegex": "Egyéni APK-hivatkozásszűrő reguláris kifejezéssel (Alapértelmezett „.apk$”)",
|
||||
"appsPossiblyUpdated": "Megkísérelt alkalmazás-frissítések",
|
||||
"appsPossiblyUpdatedNotifDescription": "Értesíti a felhasználót, hogy egy vagy több alkalmazás frissítése lehetséges a háttérben",
|
||||
"xWasPossiblyUpdatedToY": "A(z) {} frissülhetett a következőre: {}.",
|
||||
@@ -251,8 +252,8 @@
|
||||
"backgroundUpdateReqsExplanation": "Előfordulhat, hogy nem minden alkalmazásnál lehetséges a háttérbeli frissítés.",
|
||||
"backgroundUpdateLimitsExplanation": "A háttérben történő telepítés sikeressége csak az Obtainium megnyitásakor állapítható meg.",
|
||||
"verifyLatestTag": "Ellenőrizze a „legújabb” címkét",
|
||||
"intermediateLinkRegex": "Szűrés egy „köztes” hivatkozás megnyitásához",
|
||||
"filterByLinkText": "Hivatkozások szűrése egy hivatkozásszöveg alapján",
|
||||
"intermediateLinkRegex": "Szűrő egy „köztes” hivatkozás felkereséséhez",
|
||||
"filterByLinkText": "Hivatkozások szűrése hivatkozásszöveg alapján",
|
||||
"intermediateLinkNotFound": "Köztes hivatkozás nem található",
|
||||
"intermediateLink": "Köztes hivatkozás",
|
||||
"exemptFromBackgroundUpdates": "Mentes a háttérben történő frissítések alól (ha engedélyezett)",
|
||||
@@ -278,7 +279,7 @@
|
||||
"versionExtractWholePage": "„Verziókarakterlánc-kivonatolása reguláris kifejezéssel” alkalmazása az egész oldalra",
|
||||
"installing": "Telepítés",
|
||||
"skipUpdateNotifications": "A frissítési értesítések kihagyása",
|
||||
"updatesAvailableNotifChannel": "Frissítések érhetőek el",
|
||||
"updatesAvailableNotifChannel": "Frissítések érhetők el",
|
||||
"appsUpdatedNotifChannel": "Alkalmazások frissítve",
|
||||
"appsPossiblyUpdatedNotifChannel": "Megkísérelt alkalmazás-frissítések",
|
||||
"errorCheckingUpdatesNotifChannel": "Hiba a frissítések keresésekor",
|
||||
@@ -299,22 +300,23 @@
|
||||
"useVersionCodeAsOSVersion": "Az alkalmazás verziókódjának használata a rendszer által észlelt verzióként",
|
||||
"requestHeader": "Kérelemfejléc",
|
||||
"useLatestAssetDateAsReleaseDate": "A kiadás dátumaként használja a legutóbbi csomagfeltöltést",
|
||||
"defaultPseudoVersioningMethod": "Alapértelmezett pszeudo-verziós módszer",
|
||||
"defaultPseudoVersioningMethod": "Alapértelmezett pszeudoverziós módszer",
|
||||
"partialAPKHash": "Részleges APK hasító értéke",
|
||||
"APKLinkHash": "APK hivatkozás hasító értéke",
|
||||
"directAPKLink": "Közvetlen APK hivatkozás",
|
||||
"pseudoVersionInUse": "Egy pszeudo-verzió van használatban",
|
||||
"pseudoVersionInUse": "Egy pszeudoverzió van használatban",
|
||||
"installed": "Telepített",
|
||||
"latest": "Legújabb",
|
||||
"invertRegEx": "Reguláris kifejezés invertálása",
|
||||
"note": "Megjegyzés",
|
||||
"selfHostedNote": "A(z) „{}” legördülő menü segítségével elérhetővé válnak a bármilyen más forrásból származó saját üzemeltetésű- vagy egyéni példányok.",
|
||||
"selfHostedNote": "A(z) „{}” legördülő menü segítségével elérhetővé válnak a bármilyen más forrásból származó saját üzemeltetésű vagy egyéni példányok.",
|
||||
"badDownload": "Az APK-t nem lehetett elemezni (inkompatibilis vagy részleges letöltés)",
|
||||
"beforeNewInstallsShareToAppVerifier": "Új alkalmazások megosztása az AppVerifierrel (ha elérhető)",
|
||||
"appVerifierInstructionToast": "Ossza meg az AppVerifierrel, majd térjen vissza ide, ha kész.",
|
||||
"wiki": "Súgó/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Crowdsource-ből származó alkalmazások beállítása (saját felelősségére használja)",
|
||||
"allowInsecure": "Bizonytalan HTTP-kérések engedélyezése",
|
||||
"allowInsecure": "Nem biztonságos HTTP-kérések engedélyezése",
|
||||
"stayOneVersionBehind": "Maradjon egy verzióval a legfrissebb mögött",
|
||||
"removeAppQuestion": {
|
||||
"one": "Eltávolítja az alkalmazást?",
|
||||
"other": "Eltávolítja az alkalmazásokat?"
|
||||
|
380
assets/translations/id.json
Normal file
380
assets/translations/id.json
Normal file
@@ -0,0 +1,380 @@
|
||||
{
|
||||
"invalidURLForSource": "Bukan URL aplikasi {} yang valid",
|
||||
"noReleaseFound": "Tidak dapat menemukan rilis yang sesuai",
|
||||
"noVersionFound": "Tidak dapat memastikan versi rilis yang sesuai",
|
||||
"urlMatchesNoSource": "URL tidak sesuai dengan sumber yang diketahui",
|
||||
"cantInstallOlderVersion": "Tidak dapat memasang versi aplikasi yang lebih lama",
|
||||
"appIdMismatch": "ID paket yang diunduh tidak sama dengan ID aplikasi yang ada",
|
||||
"functionNotImplemented": "Kelas ini belum mengimplementasikan fungsi ini",
|
||||
"placeholder": "Tempat penampung",
|
||||
"someErrors": "Terjadi beberapa kesalahan",
|
||||
"unexpectedError": "Kesalahan tidak terduga",
|
||||
"ok": "Oke",
|
||||
"and": "dan",
|
||||
"githubPATLabel": "Token Akses Pribadi GitHub (tingkatkan batasan tarif)",
|
||||
"includePrereleases": "Sertakan pra-rilis",
|
||||
"fallbackToOlderReleases": "Alternatif kembali ke rilis lama",
|
||||
"filterReleaseTitlesByRegEx": "Filter judul rilis dengan ekspresi reguler",
|
||||
"invalidRegEx": "Ekspresi reguler tidak valid",
|
||||
"noDescription": "Tidak ada deskripsi",
|
||||
"cancel": "Batal",
|
||||
"continue": "Lanjut",
|
||||
"requiredInBrackets": "(Diperlukan)",
|
||||
"dropdownNoOptsError": "KESALAHAN: DROPDOWN HARUS MEMILIKI SETIDAKNYA SATU OPSI",
|
||||
"colour": "Warna",
|
||||
"standard": "Standar",
|
||||
"custom": "Kustom",
|
||||
"useMaterialYou": "Gunakan Material You",
|
||||
"githubStarredRepos": "Repositori berbintang GitHub",
|
||||
"uname": "Nama pengguna",
|
||||
"wrongArgNum": "Salah memberikan jumlah argumen",
|
||||
"xIsTrackOnly": "{} adalah Pelacakan Saja",
|
||||
"source": "Sumber",
|
||||
"app": "Aplikasi",
|
||||
"appsFromSourceAreTrackOnly": "Aplikasi dari sumber ini hanya untuk 'Pelacakan Saja'.",
|
||||
"youPickedTrackOnly": "Anda telah memilih opsi Pelacakan Saja.",
|
||||
"trackOnlyAppDescription": "Aplikasi akan dilacak untuk pembaruan, tetapi Obtainium tidak akan dapat mengunduh atau memasangnya.",
|
||||
"cancelled": "Dibatalkan",
|
||||
"appAlreadyAdded": "Aplikasi sudah ditambahkan",
|
||||
"alreadyUpToDateQuestion": "Aplikasi sudah yang terbaru?",
|
||||
"addApp": "Tambah aplikasi",
|
||||
"appSourceURL": "Tambah sumber URL",
|
||||
"error": "Kesalahan",
|
||||
"add": "Tambah",
|
||||
"searchSomeSourcesLabel": "Cari (beberapa sumber saja)",
|
||||
"search": "Cari",
|
||||
"additionalOptsFor": "Opsi tambahan untuk {}",
|
||||
"supportedSources": "Sumber yang didukung",
|
||||
"trackOnlyInBrackets": "(Pelacakan Saja)",
|
||||
"searchableInBrackets": "(Dapat dicari)",
|
||||
"appsString": "Aplikasi",
|
||||
"noApps": "Tidak ada aplikasi",
|
||||
"noAppsForFilter": "Tidak ada aplikasi untuk difilter",
|
||||
"byX": "Oleh {}",
|
||||
"percentProgress": "Perkembangan: {}%",
|
||||
"pleaseWait": "Harap tunggu",
|
||||
"updateAvailable": "Pembaruan tersedia",
|
||||
"notInstalled": "Tidak terpasang",
|
||||
"pseudoVersion": "versi semu",
|
||||
"selectAll": "Pilih semua",
|
||||
"deselectX": "Batal pilih {}",
|
||||
"xWillBeRemovedButRemainInstalled": "{} akan dihapus dari Obtainium tetapi tetap terpasang di perangkat.",
|
||||
"removeSelectedAppsQuestion": "Hapus aplikasi terpilih?",
|
||||
"removeSelectedApps": "Hapus aplikasi terpilih",
|
||||
"updateX": "Perbarui {}",
|
||||
"installX": "Pasang {}",
|
||||
"markXTrackOnlyAsUpdated": "Tandai {}\n(Pelacakan Saja)\nsudah diperbarui",
|
||||
"changeX": "Ubah {}",
|
||||
"installUpdateApps": "Pasang/perbarui aplikasi",
|
||||
"installUpdateSelectedApps": "Pasang/perbarui aplikasi terpilih",
|
||||
"markXSelectedAppsAsUpdated": "Tandai {} aplikasi terpilih sudah diperbarui?",
|
||||
"no": "Tidak",
|
||||
"yes": "Ya",
|
||||
"markSelectedAppsUpdated": "Tandai aplikasi terpilih sudah diperbarui",
|
||||
"pinToTop": "Sematkan ke atas",
|
||||
"unpinFromTop": "Lepaskan semat dari atas",
|
||||
"resetInstallStatusForSelectedAppsQuestion": "Atur ulang status pemasangan untuk aplikasi terpilih?",
|
||||
"installStatusOfXWillBeResetExplanation": "Status pemasangan dari aplikasi terpilih akan diatur ulang.\n\nHal ini bisa membantu saat versi aplikasi yang ditampilkan di Obtainium salah akibat pembaruan yang gagal atau masalah lainnya.",
|
||||
"customLinkMessage": "Tautan ini berfungsi pada perangkat yang terpasang Obtainium",
|
||||
"shareAppConfigLinks": "Bagikan konfigurasi aplikasi sebagai tautan HTML",
|
||||
"shareSelectedAppURLs": "Bagikan URL aplikasi terpilih",
|
||||
"resetInstallStatus": "Atur ulang status pemasangan",
|
||||
"more": "Lebih banyak",
|
||||
"removeOutdatedFilter": "Hapus filter aplikasi yang usang",
|
||||
"showOutdatedOnly": "Tampilkan aplikasi yang usang saja",
|
||||
"filter": "Filter",
|
||||
"filterApps": "Filter aplikasi",
|
||||
"appName": "Nama aplikasi",
|
||||
"author": "Pencipta",
|
||||
"upToDateApps": "Aplikasi terbaru",
|
||||
"nonInstalledApps": "Aplikasi tidak terpasang",
|
||||
"importExport": "Impor/ekspor",
|
||||
"settings": "Pengaturan",
|
||||
"exportedTo": "Diekspor ke {}",
|
||||
"obtainiumExport": "Ekspor Obtainium",
|
||||
"invalidInput": "Masukan tidak valid",
|
||||
"importedX": "{} diimpor",
|
||||
"obtainiumImport": "Impor Obtainium",
|
||||
"importFromURLList": "Impor dari daftar URL",
|
||||
"searchQuery": "Cari Kueri",
|
||||
"appURLList": "Daftar URL aplikasi",
|
||||
"line": "Baris",
|
||||
"searchX": "Cari {}",
|
||||
"noResults": "Tidak ada hasil yang ditemukan",
|
||||
"importX": "Impor {}",
|
||||
"importedAppsIdDisclaimer": "Aplikasi yang diimpor mungkin secara salah ditampilkan sebagai \"Tidak terpasang\".\nUntuk memperbaikinya, lakukan pemasangan ulang melalui Obtainium.\nHal ini seharusnya tidak mempengaruhi data aplikasi.\n\nHanya mempengaruhi metode impor URL dan pihak ketiga.",
|
||||
"importErrors": "Kesalahan impor",
|
||||
"importedXOfYApps": "{} dari {} aplikasi diimpor.",
|
||||
"followingURLsHadErrors": "URL berikut mengalami kesalahan:",
|
||||
"selectURL": "Pilih URL",
|
||||
"selectURLs": "Pilih URL",
|
||||
"pick": "Pilih",
|
||||
"theme": "Tema",
|
||||
"dark": "Gelap",
|
||||
"light": "Terang",
|
||||
"followSystem": "Mengikuti sistem",
|
||||
"followSystemThemeExplanation": "Tema mengikuti sistem hanya mungkin dengan menggunakan aplikasi pihak ketiga",
|
||||
"useBlackTheme": "Gunakan tema hitam pekat",
|
||||
"appSortBy": "Penyortiran aplikasi berdasarkan",
|
||||
"authorName": "Pencipta/nama",
|
||||
"nameAuthor": "Nama/pencipta",
|
||||
"asAdded": "Tanggal ditambahkan",
|
||||
"appSortOrder": "Urutan penyortiran aplikasi",
|
||||
"ascending": "Menaik",
|
||||
"descending": "Menurun",
|
||||
"bgUpdateCheckInterval": "Interval pemeriksaan pembaruan di latar belakang",
|
||||
"neverManualOnly": "Tidak pernah - manual saja",
|
||||
"appearance": "Tampilan",
|
||||
"showWebInAppView": "Tampilkan halaman web sumber dalam tampilan aplikasi",
|
||||
"pinUpdates": "Sematkan pembaruan ke atas tampilan aplikasi",
|
||||
"updates": "Pembaruan",
|
||||
"sourceSpecific": "Sumber spesifik",
|
||||
"appSource": "Sumber aplikasi",
|
||||
"noLogs": "Tidak ada catatan",
|
||||
"appLogs": "Catatan aplikasi",
|
||||
"close": "Tutup",
|
||||
"share": "Bagikan",
|
||||
"appNotFound": "Aplikasi tidak ditemukan",
|
||||
"obtainiumExportHyphenatedLowercase": "ekspor-obtainium",
|
||||
"pickAnAPK": "Pilih APK",
|
||||
"appHasMoreThanOnePackage": "{} memiliki lebih dari satu paket:",
|
||||
"deviceSupportsXArch": "Perangkat Anda mendukung arsitektur CPU {}.",
|
||||
"deviceSupportsFollowingArchs": "Perangkat anda mendukung arsitektur CPU berikut:",
|
||||
"warning": "Peringatan",
|
||||
"sourceIsXButPackageFromYPrompt": "Sumber aplikasinya adalah '{}' tetapi paket rilisnya berasal dari '{}'. Lanjutkan?",
|
||||
"updatesAvailable": "Pembaruan tersedia",
|
||||
"updatesAvailableNotifDescription": "Memberi tahu pengguna bahwa pembaruan tersedia untuk aplikasi yang dilacak oleh Obtainium",
|
||||
"noNewUpdates": "Tidak ada pembaruan baru.",
|
||||
"xHasAnUpdate": "{} memiliki pembaruan.",
|
||||
"appsUpdated": "Aplikasi diperbarui",
|
||||
"appsNotUpdated": "Gagal memperbarui aplikasi",
|
||||
"appsUpdatedNotifDescription": "Memberi tahu pengguna bahwa pembaruan terhadap aplikasi diterapkan di latar belakang",
|
||||
"xWasUpdatedToY": "{} telah diperbarui ke {}.",
|
||||
"xWasNotUpdatedToY": "Gagal memperbarui {} ke {}.",
|
||||
"errorCheckingUpdates": "Kesalahan dalam memeriksa pembaruan",
|
||||
"errorCheckingUpdatesNotifDescription": "Notifikasi yang ditampilkan saat pemeriksaan pembaruan latar belakang gagal",
|
||||
"appsRemoved": "Aplikasi dihapus",
|
||||
"appsRemovedNotifDescription": "Memberi tahu pengguna bahwa aplikasi dihapus karena kesalahan saat memuatnya",
|
||||
"xWasRemovedDueToErrorY": "{} dihapus karena kesalahan berikut: {}",
|
||||
"completeAppInstallation": "Selesaikan pemasangan aplikasi",
|
||||
"obtainiumMustBeOpenToInstallApps": "Obtainium harus terbuka untuk memasang aplikasi",
|
||||
"completeAppInstallationNotifDescription": "Meminta pengguna kembali ke Obtainium untuk menyelesaikan pemasangan aplikasi",
|
||||
"checkingForUpdates": "Memeriksa pembaruan",
|
||||
"checkingForUpdatesNotifDescription": "Notifikasi sementara yang ditampilkan saat memeriksa pembaruan",
|
||||
"pleaseAllowInstallPerm": "Harap izinkan Obtainium untuk memasang aplikasi",
|
||||
"trackOnly": "Pelacakan Saja",
|
||||
"errorWithHttpStatusCode": "Kesalahan {}",
|
||||
"versionCorrectionDisabled": "Koreksi versi dinonaktifkan (sepertinya plugin tidak berfungsi)",
|
||||
"unknown": "Tidak diketahui",
|
||||
"none": "Tidak ada",
|
||||
"never": "Tidak pernah",
|
||||
"latestVersionX": "Terbaru: {}",
|
||||
"installedVersionX": "Terpasang: {}",
|
||||
"lastUpdateCheckX": "Terakhir memeriksa pembaruan: {}",
|
||||
"remove": "Hapus",
|
||||
"yesMarkUpdated": "Ya, tandai bahwa sudah diperbarui",
|
||||
"fdroid": "F-Droid Resmi",
|
||||
"appIdOrName": "ID atau nama aplikasi",
|
||||
"appId": "ID aplikasi",
|
||||
"appWithIdOrNameNotFound": "Tidak ada aplikasi yang ditemukan dengan ID atau nama tersebut",
|
||||
"reposHaveMultipleApps": "Repositori dapat berisi beberapa aplikasi",
|
||||
"fdroidThirdPartyRepo": "Repositori pihak ketiga F-Droid",
|
||||
"steamMobile": "Steam Mobile",
|
||||
"steamChat": "Obrolan Steam",
|
||||
"install": "Pasang",
|
||||
"markInstalled": "Tandai terpasang",
|
||||
"update": "perbarui",
|
||||
"markUpdated": "Tandai diperbarui",
|
||||
"additionalOptions": "Opsi tambahan",
|
||||
"disableVersionDetection": "Nonaktifkan pendeteksi versi",
|
||||
"noVersionDetectionExplanation": "Opsi ini hanya boleh digunakan untuk aplikasi dengan pendeteksi versi yang tidak berfungsi dengan benar.",
|
||||
"downloadingX": "Mengunduh {}",
|
||||
"downloadX": "Unduh {}",
|
||||
"downloadedX": "{} diunduh",
|
||||
"releaseAsset": "Aset rilis",
|
||||
"downloadNotifDescription": "Memberi tahu pengguna perkembangan dalam mengunduh aplikasi",
|
||||
"noAPKFound": "Tidak ada APK ditemukan",
|
||||
"noVersionDetection": "Tidak ada pendeteksi versi",
|
||||
"categorize": "Kategorikan",
|
||||
"categories": "Kategori",
|
||||
"category": "Kategori",
|
||||
"noCategory": "Tidak ada kategori",
|
||||
"noCategories": "Tidak ada kategori",
|
||||
"deleteCategoriesQuestion": "Hapus kategori?",
|
||||
"categoryDeleteWarning": "Semua aplikasi dalam kategori yang dihapus akan diatur sebagai tidak terkategori.",
|
||||
"addCategory": "Tambah kategori",
|
||||
"label": "Label",
|
||||
"language": "Bahasa",
|
||||
"copiedToClipboard": "Disalin ke papan klip",
|
||||
"storagePermissionDenied": "Izin penyimpanan ditolak",
|
||||
"selectedCategorizeWarning": "Ini akan mengganti pengaturan kategori yang ada untuk aplikasi terpilih.",
|
||||
"filterAPKsByRegEx": "Filter APK dengan ekspresi reguler",
|
||||
"removeFromObtainium": "Hapus dari Obtainium",
|
||||
"uninstallFromDevice": "Copot pemasangan dari perangkat",
|
||||
"onlyWorksWithNonVersionDetectApps": "Hanya bekerja untuk aplikasi dengan pendeteksi versi yang nonaktif.",
|
||||
"releaseDateAsVersion": "Gunakan tanggal rilis sebagai versi string",
|
||||
"releaseTitleAsVersion": "Gunakan judul rilis sebagai string versi",
|
||||
"releaseDateAsVersionExplanation": "Opsi ini hanya boleh digunakan untuk aplikasi dengan pendeteksi versi yang tidak berfungsi dengan benar, tetapi tanggal rilisnya tersedia.",
|
||||
"changes": "Perubahan",
|
||||
"releaseDate": "Tanggal rilis",
|
||||
"importFromURLsInFile": "Impor dari URL dalam berkas (seperti OPML)",
|
||||
"versionDetectionExplanation": "Sesuaikan string versi dengan versi yang terdeteksi dari OS",
|
||||
"versionDetection": "Pendeteksi versi",
|
||||
"standardVersionDetection": "Pendeteksi versi standar",
|
||||
"groupByCategory": "Kelompokkan berdasarkan kategori",
|
||||
"autoApkFilterByArch": "Coba filter APK berdasarkan arsitektur CPU jika memungkinkan",
|
||||
"overrideSource": "Ganti sumber",
|
||||
"dontShowAgain": "Jangan tampilkan lagi",
|
||||
"dontShowTrackOnlyWarnings": "Jangan tampilkan peringatan 'Pelacakan Saja'",
|
||||
"dontShowAPKOriginWarnings": "Jangan tampilkan peringatan asal APK",
|
||||
"moveNonInstalledAppsToBottom": "Pindahkan aplikasi tidak terpasang ke bawah tampilan aplikasi",
|
||||
"gitlabPATLabel": "Token Akses Pribadi GitLab",
|
||||
"about": "Tentang",
|
||||
"requiresCredentialsInSettings": "{} memerlukan kredensial tambahan (dalam pengaturan)",
|
||||
"checkOnStart": "Periksa pembaruan saat proses memulai",
|
||||
"tryInferAppIdFromCode": "Coba untuk menebak ID aplikasi dari kode sumber",
|
||||
"removeOnExternalUninstall": "Hapus otomatis aplikasi yang dicopot pemasangannya dari luar",
|
||||
"pickHighestVersionCode": "Pilih otomatis APK dengan versi kode tertinggi",
|
||||
"checkUpdateOnDetailPage": "Periksa pembaruan saat membuka halaman detail aplikasi",
|
||||
"disablePageTransitions": "Nonaktifkan animasi transisi halaman",
|
||||
"reversePageTransitions": "Animasi transisi halaman secara terbalik",
|
||||
"minStarCount": "Jumlah bintang minimum",
|
||||
"addInfoBelow": "Tambahkan info ini di bawah.",
|
||||
"addInfoInSettings": "Tambahkan info ini di pengaturan.",
|
||||
"githubSourceNote": "Pembatasan tarif pada GitHub dapat dihindari dengan menggunakan kunci API.",
|
||||
"sortByLastLinkSegment": "Urutkan hanya berdasarkan segmen terakhir tautan",
|
||||
"filterReleaseNotesByRegEx": "Filter catatan perilisan dengan ekspresi reguler",
|
||||
"customLinkFilterRegex": "Filter tautan APK kustom dengan ekspresi reguler (Standar '.apk$')",
|
||||
"appsPossiblyUpdated": "Pembaruan aplikasi dicoba",
|
||||
"appsPossiblyUpdatedNotifDescription": "Memberi tahu pengguna bahwa pembaruan terhadap aplikasi berpotensi diterapkan di latar belakang",
|
||||
"xWasPossiblyUpdatedToY": "{} mungkin telah diperbarui ke {}.",
|
||||
"enableBackgroundUpdates": "Aktifkan pembaruan latar belakang",
|
||||
"backgroundUpdateReqsExplanation": "Pembaruan latar belakang mungkin tidak dapat dilakukan untuk semua aplikasi.",
|
||||
"backgroundUpdateLimitsExplanation": "Keberhasilan pemasangan di latar belakang hanya dapat ditentukan ketika Obtainium terbuka.",
|
||||
"verifyLatestTag": "Verifikasi label 'terbaru'",
|
||||
"intermediateLinkRegex": "Filter tautan 'perantara' untuk dikunjungi",
|
||||
"filterByLinkText": "Filter tautan berdasarkan teks tautan",
|
||||
"intermediateLinkNotFound": "Tautan perantara tidak ditemukan",
|
||||
"intermediateLink": "Tautan perantara",
|
||||
"exemptFromBackgroundUpdates": "Dikecualikan dari pembaruan latar belakang (jika diaktifkan)",
|
||||
"bgUpdatesOnWiFiOnly": "Nonaktifkan pembaruan latar belakang saat tidak menggunakan WiFi",
|
||||
"autoSelectHighestVersionCode": "Pilih otomatis APK dengan versi kode tertinggi",
|
||||
"versionExtractionRegEx": "Reguler ekspresi terkait ekstraksi versi string",
|
||||
"trimVersionString": "Potong versi string dengan reguler ekspresi",
|
||||
"matchGroupToUseForX": "Cocokkan grup yang akan digunakan untuk \"{}\"",
|
||||
"matchGroupToUse": "Cocokkan grup yang akan digunakan untuk reguler ekspresi terkait ekstraksi versi string",
|
||||
"highlightTouchTargets": "Sorot target sentuh yang kurang jelas",
|
||||
"pickExportDir": "Pilih direktori ekspor",
|
||||
"autoExportOnChanges": "Otomatis ekspor terhadap perubahan",
|
||||
"includeSettings": "Sertakan pengaturan",
|
||||
"filterVersionsByRegEx": "Filter versi dengan ekspresi reguler",
|
||||
"trySelectingSuggestedVersionCode": "Coba pilih APK dengan version kode yang disarankan",
|
||||
"dontSortReleasesList": "Pertahankan urutan rilis dari API",
|
||||
"reverseSort": "Penyortiran terbalik",
|
||||
"takeFirstLink": "Ambil tautan pertama",
|
||||
"skipSort": "Lewati penyortiran",
|
||||
"debugMenu": "Menu debug",
|
||||
"bgTaskStarted": "Tugas latar belakang dimulai - periksa catatan.",
|
||||
"runBgCheckNow": "Jalankan pemeriksaan pembaruan latar belakang sekarang",
|
||||
"versionExtractWholePage": "Terapkan reguler ekspresi terkait ekstraksi versi string ke seluruh halaman",
|
||||
"installing": "Memasang",
|
||||
"skipUpdateNotifications": "Lewati notifikasi pembaruan",
|
||||
"updatesAvailableNotifChannel": "Pembaruan tersedia",
|
||||
"appsUpdatedNotifChannel": "Aplikasi diperbarui",
|
||||
"appsPossiblyUpdatedNotifChannel": "Pembaruan aplikasi dicoba",
|
||||
"errorCheckingUpdatesNotifChannel": "Kesalahan dalam memeriksa pembaruan",
|
||||
"appsRemovedNotifChannel": "Aplikasi dihapus",
|
||||
"downloadingXNotifChannel": "Mengunduh {}",
|
||||
"completeAppInstallationNotifChannel": "Selesaikan pemasangan aplikasi",
|
||||
"checkingForUpdatesNotifChannel": "Memeriksa pembaruan",
|
||||
"onlyCheckInstalledOrTrackOnlyApps": "Hanya periksa aplikasi yang dipasang dan ditandai 'Pelacakan Saja' untuk pembaruan",
|
||||
"supportFixedAPKURL": "Mendukung URL APK tetap",
|
||||
"selectX": "Pilih {}",
|
||||
"parallelDownloads": "Izinkan mengunduh paralel",
|
||||
"useShizuku": "Gunakan Shizuku atau Sui untuk memasang",
|
||||
"shizukuBinderNotFound": "Layanan Shizuku tidak berjalan",
|
||||
"shizukuOld": "Versi Shizuku lama (<11) - harap perbarui",
|
||||
"shizukuOldAndroidWithADB": "Shizuku berjalan di Android < 8.1 dengan ADB - perbarui Android atau gunakan Sui sebagai gantinya",
|
||||
"shizukuPretendToBeGooglePlay": "Atur Google Play sebagai sumber pemasangan (jika Shizuku digunakan)",
|
||||
"useSystemFont": "Gunakan font sistem",
|
||||
"useVersionCodeAsOSVersion": "Gunakan versi kode aplikasi sebagai versi yang terdeteksi OS",
|
||||
"requestHeader": "Header permintaan",
|
||||
"useLatestAssetDateAsReleaseDate": "Gunakan unggahan aset terbaru sebagai tanggal rilis",
|
||||
"defaultPseudoVersioningMethod": "Metode versi semu standar",
|
||||
"partialAPKHash": "Hash APK parsial",
|
||||
"APKLinkHash": "Hash tautan APK",
|
||||
"directAPKLink": "Tautan APK langsung",
|
||||
"pseudoVersionInUse": "Versi semu sedang digunakan",
|
||||
"installed": "Terpasang",
|
||||
"latest": "Terbaru",
|
||||
"invertRegEx": "Balikkan ekspresi reguler",
|
||||
"note": "Catatan",
|
||||
"selfHostedNote": "Dropdown \"{}\" bisa digunakan untuk menjangkau instansi yang dihosting sendiri/kustom dari sumber mana pun.",
|
||||
"badDownload": "APK tidak dapat diurai (tidak kompatibel atau diunduh sebagian)",
|
||||
"beforeNewInstallsShareToAppVerifier": "Bagikan aplikasi baru dengan AppVerifier (jika tersedia)",
|
||||
"appVerifierInstructionToast": "Bagikan ke AppVerifier, lalu kembali ke sini jika sudah siap.",
|
||||
"wiki": "Bantuan/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Konfigurasi aplikasi Crowdsourced (risiko penggunaan ditanggung sendiri)",
|
||||
"allowInsecure": "Izinkan permintaan HTTP yang tidak aman",
|
||||
"stayOneVersionBehind": "Tetap satu versi di belakang versi terbaru",
|
||||
"removeAppQuestion": {
|
||||
"one": "Hapus aplikasi?",
|
||||
"other": "Hapus aplikasi?"
|
||||
},
|
||||
"tooManyRequestsTryAgainInMinutes": {
|
||||
"one": "Terlalu banyak permintaan (tarif dibatasi) - coba lagi dalam {} menit",
|
||||
"other": "Terlalu banyak permintaan (tarif dibatasi) - coba lagi dalam {} menit"
|
||||
},
|
||||
"bgUpdateGotErrorRetryInMinutes": {
|
||||
"one": "Pemeriksaan pembaruan latar belakang menemui {}, akan menjadwalkan pemeriksaan ulang dalam {} menit",
|
||||
"other": "Pemeriksaan pembaruan latar belakang menemui {}, akan menjadwalkan pemeriksaan ulang dalam {} menit"
|
||||
},
|
||||
"bgCheckFoundUpdatesWillNotifyIfNeeded": {
|
||||
"one": "Pemeriksaan pembaruan latar belakang menemukan {} pembaruan - akan memberi tahu pengguna jika diperlukan",
|
||||
"other": "Pemeriksaan pembaruan latar belakang menemukan {} pembaruan - akan memberi tahu pengguna jika diperlukan"
|
||||
},
|
||||
"apps": {
|
||||
"one": "{} aplikasi",
|
||||
"other": "{} aplikasi"
|
||||
},
|
||||
"url": {
|
||||
"one": "{} URL",
|
||||
"other": "{} URL"
|
||||
},
|
||||
"minute": {
|
||||
"one": "{} menit",
|
||||
"other": "{} menit"
|
||||
},
|
||||
"hour": {
|
||||
"one": "{} jam",
|
||||
"other": "{} jam"
|
||||
},
|
||||
"day": {
|
||||
"one": "{} hari",
|
||||
"other": "{} hari"
|
||||
},
|
||||
"clearedNLogsBeforeXAfterY": {
|
||||
"one": "Menghapus {n} catatan (sebelum = {before}, setelah = {after})",
|
||||
"other": "Menghapus {n} catatan (sebelum = {before}, setelah = {after})"
|
||||
},
|
||||
"xAndNMoreUpdatesAvailable": {
|
||||
"one": "{} dan 1 aplikasi lainnya memiliki pembaruan.",
|
||||
"other": "{} dan {} aplikasi lainnya memiliki pembaruan."
|
||||
},
|
||||
"xAndNMoreUpdatesInstalled": {
|
||||
"one": "{} dan 1 aplikasi lainnya telah diperbarui.",
|
||||
"other": "{} dan {} aplikasi lainnya telah diperbarui."
|
||||
},
|
||||
"xAndNMoreUpdatesFailed": {
|
||||
"one": "Gagal memperbarui {} dan 1 aplikasi lainnya.",
|
||||
"other": "Gagal memperbarui {} dan {} aplikasi lainnya."
|
||||
},
|
||||
"xAndNMoreUpdatesPossiblyInstalled": {
|
||||
"one": "{} dan 1 aplikasi lainnya mungkin telah diperbarui.",
|
||||
"other": "{} dan {} aplikasi lainnya mungkin telah diperbarui."
|
||||
},
|
||||
"apk": {
|
||||
"one": "{} APK",
|
||||
"other": "{} APK"
|
||||
}
|
||||
}
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Disinstalla dal dispositivo",
|
||||
"onlyWorksWithNonVersionDetectApps": "Funziona solo per le app con il rilevamento della versione disattivato.",
|
||||
"releaseDateAsVersion": "Usa data di rilascio come versione",
|
||||
"releaseTitleAsVersion": "Usa il titolo della versione come stringa di versione",
|
||||
"releaseDateAsVersionExplanation": "Questa opzione dovrebbe essere usata solo per le app in cui il rilevamento della versione non funziona correttamente, ma è disponibile una data di rilascio.",
|
||||
"changes": "Novità",
|
||||
"releaseDate": "Data di rilascio",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Aiuto/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Configurazioni di app in crowdsourcing (uso a proprio rischio)",
|
||||
"allowInsecure": "Consentire le richieste HTTP non sicure",
|
||||
"stayOneVersionBehind": "Rimanere una versione indietro rispetto alla più recente",
|
||||
"removeAppQuestion": {
|
||||
"one": "Rimuovere l'app?",
|
||||
"other": "Rimuovere le app?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "デバイスからアンインストールする",
|
||||
"onlyWorksWithNonVersionDetectApps": "バージョン検出を無効にしているアプリにのみ動作します。",
|
||||
"releaseDateAsVersion": "リリース日をバージョンとして使用する",
|
||||
"releaseTitleAsVersion": "リリースタイトルをバージョン文字列として使用",
|
||||
"releaseDateAsVersionExplanation": "このオプションは、バージョン検出が正しく機能しないアプリで、リリース日が利用可能な場合にのみ使用する必要があります。",
|
||||
"changes": "変更点",
|
||||
"releaseDate": "リリース日",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "ヘルプ/ウィキ",
|
||||
"crowdsourcedConfigsLabel": "クラウドソーシングによるアプリの設定(利用は自己責任で)",
|
||||
"allowInsecure": "安全でないHTTPリクエストを許可する",
|
||||
"stayOneVersionBehind": "最新バージョンから1つ遅れ",
|
||||
"removeAppQuestion": {
|
||||
"one": "アプリを削除しますか?",
|
||||
"other": "アプリを削除しますか?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Van apparaat verwijderen",
|
||||
"onlyWorksWithNonVersionDetectApps": "Werkt alleen voor apps waarbij versieherkenning is uitgeschakeld.",
|
||||
"releaseDateAsVersion": "Releasedatum als versie gebruiken",
|
||||
"releaseTitleAsVersion": "Gebruik releasetitel als versiestring",
|
||||
"releaseDateAsVersionExplanation": "Deze optie moet alleen worden gebruikt voor apps waar versieherkenning niet correct werkt, maar waar wel een releasedatum beschikbaar is.",
|
||||
"changes": "Aanpassingen",
|
||||
"releaseDate": "Releasedatum",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Help/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Crowdsourced App-configuraties (gebruik op eigen risico)",
|
||||
"allowInsecure": "Onveilige HTTP-verzoeken toestaan",
|
||||
"stayOneVersionBehind": "Blijf een versie achter op de nieuwste",
|
||||
"removeAppQuestion": {
|
||||
"one": "App verwijderen?",
|
||||
"other": "Apps verwijderen?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Odinstaluj z urządzenia",
|
||||
"onlyWorksWithNonVersionDetectApps": "Działa tylko w przypadku aplikacji z wyłączonym wykrywaniem wersji.",
|
||||
"releaseDateAsVersion": "Użyj daty wydania jako wersji",
|
||||
"releaseTitleAsVersion": "Użyj tytułu wydania jako ciągu znaków wersji",
|
||||
"releaseDateAsVersionExplanation": "Opcja ta powinna być używana tylko w przypadku aplikacji, w których wykrywanie wersji nie działa poprawnie, ale dostępna jest data wydania.",
|
||||
"changes": "Zmiany",
|
||||
"releaseDate": "Data wydania",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Pomoc/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Konfiguracje aplikacji pochodzące z crowdsourcingu (korzystanie na własne ryzyko)",
|
||||
"allowInsecure": "Zezwalaj na niezabezpieczone żądania HTTP",
|
||||
"stayOneVersionBehind": "Pozostań jedną wersję za najnowszą",
|
||||
"removeAppQuestion": {
|
||||
"one": "Usunąć aplikację?",
|
||||
"few": "Usunąć aplikacje?",
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Desinstalar do dispositivo",
|
||||
"onlyWorksWithNonVersionDetectApps": "Apenas funciona para aplicativos com detecção de versão desativada.",
|
||||
"releaseDateAsVersion": "Usar data de lançamento como versão",
|
||||
"releaseTitleAsVersion": "Utilizar o título da versão como cadeia de versões",
|
||||
"releaseDateAsVersionExplanation": "Esta opção só deve ser usada para aplicativos onde a detecção de versão não funciona corretamente, mas há uma data de lançamento disponível.",
|
||||
"changes": "Alterações",
|
||||
"releaseDate": "Data de lançamento",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Ajuda/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Configurações de aplicações de crowdsourcing (utilização por sua conta e risco)",
|
||||
"allowInsecure": "Permitir pedidos HTTP inseguros",
|
||||
"stayOneVersionBehind": "Manter-se uma versão atrás da mais recente",
|
||||
"removeAppQuestion": {
|
||||
"one": "Remover aplicativo?",
|
||||
"other": "Remover aplicativos?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Удалить с устройства",
|
||||
"onlyWorksWithNonVersionDetectApps": "Работает только для приложений с отключенным определением версии",
|
||||
"releaseDateAsVersion": "Дата выпуска вместо версии",
|
||||
"releaseTitleAsVersion": "Используйте название релиза в качестве строки версии",
|
||||
"releaseDateAsVersionExplanation": "Этот параметр следует использовать только для приложений, в которых определение версии не работает правильно, но имеется дата выпуска",
|
||||
"changes": "Изменения",
|
||||
"releaseDate": "Дата выпуска",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Помощь/Вики",
|
||||
"crowdsourcedConfigsLabel": "Конфигурации приложений на основе краудсорсинга (используйте на свой страх и риск)",
|
||||
"allowInsecure": "Разрешить небезопасные HTTP-запросы",
|
||||
"stayOneVersionBehind": "Не отставайте от последней версии",
|
||||
"removeAppQuestion": {
|
||||
"one": "Удалить приложение?",
|
||||
"other": "Удалить приложения?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Avinstallera från Enheten",
|
||||
"onlyWorksWithNonVersionDetectApps": "Fungerar bara för Appar med versionsdetektering inaktiverat..",
|
||||
"releaseDateAsVersion": "Använd releasedatum som version",
|
||||
"releaseTitleAsVersion": "Använd release-titel som versionssträng",
|
||||
"releaseDateAsVersionExplanation": "Det här alternativet bör endast användas för appar där versionsidentifiering inte fungerar korrekt, men ett releasedatum är tillgängligt.",
|
||||
"changes": "Ändringar",
|
||||
"releaseDate": "Releasedatum",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Hjälp/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Crowdsourcade appkonfigurationer (använd på egen risk)",
|
||||
"allowInsecure": "Tillåt osäkra HTTP-förfrågningar",
|
||||
"stayOneVersionBehind": "Håll dig en version bakom den senaste",
|
||||
"removeAppQuestion": {
|
||||
"one": "Ta Bort App?",
|
||||
"other": "Ta Bort Appar?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Cihazdan Kaldır",
|
||||
"onlyWorksWithNonVersionDetectApps": "Yalnızca Sürüm Algılaması Devre Dışı Uygulamalar İçin Çalışır.",
|
||||
"releaseDateAsVersion": "Sürüm Olarak Yayın Tarihi Kullan",
|
||||
"releaseTitleAsVersion": "Sürüm dizesi olarak sürüm başlığını kullan",
|
||||
"releaseDateAsVersionExplanation": "Bu seçenek, sürüm algılamanın doğru çalışmadığı ancak bir sürüm tarihinin mevcut olduğu uygulamalar için kullanılmalıdır.",
|
||||
"changes": "Değişiklikler",
|
||||
"releaseDate": "Yayın Tarihi",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Yardım/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Kitle Kaynaklı Uygulama Yapılandırmaları (riski size ait olmak üzere kullanın)",
|
||||
"allowInsecure": "Güvensiz HTTP isteklerine izin ver",
|
||||
"stayOneVersionBehind": "En son sürümün bir sürüm gerisinde kalın",
|
||||
"removeAppQuestion": {
|
||||
"one": "Uygulamayı Kaldır?",
|
||||
"other": "Uygulamaları Kaldır?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Видалити з пристрою",
|
||||
"onlyWorksWithNonVersionDetectApps": "Працює лише з застосунками з вимкненим визначенням версії.",
|
||||
"releaseDateAsVersion": "Використовувати дату випуску як рядок версії",
|
||||
"releaseTitleAsVersion": "Використовувати назву випуску як рядок версії",
|
||||
"releaseDateAsVersionExplanation": "Цю опцію слід використовувати лише для застосунків, де визначення версії працює неправильно, але є дата випуску.",
|
||||
"changes": "Зміни",
|
||||
"releaseDate": "Дата випуску",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Довідка/Вікі",
|
||||
"crowdsourcedConfigsLabel": "Краудсорсингові конфігурації додатків (використовуйте на свій страх і ризик)",
|
||||
"allowInsecure": "Дозволити незахищені HTTP-запити",
|
||||
"stayOneVersionBehind": "Залишайтеся на одну версію актуальнішою",
|
||||
"removeAppQuestion": {
|
||||
"one": "Видалити застосунок?",
|
||||
"other": "Видалити застосунки?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "Gỡ cài đặt khỏi thiết bị",
|
||||
"onlyWorksWithNonVersionDetectApps": "Chỉ hoạt động với Ứng dụng đã tắt tính năng phát hiện phiên bản.",
|
||||
"releaseDateAsVersion": "Sử dụng ngày phát hành làm phiên bản",
|
||||
"releaseTitleAsVersion": "Use release title as version string",
|
||||
"releaseDateAsVersionExplanation": "Chỉ nên sử dụng tùy chọn này cho Ứng dụng trong đó tính năng phát hiện phiên bản không hoạt động chính xác nhưng đã có ngày phát hành.",
|
||||
"changes": "Thay đổi",
|
||||
"releaseDate": "Ngày phát hành",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "Trợ giúp/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
|
||||
"allowInsecure": "Allow insecure HTTP requests",
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"removeAppQuestion": {
|
||||
"one": "Gỡ ứng dụng?",
|
||||
"other": "Gỡ ứng dụng?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "從裝置解除安裝",
|
||||
"onlyWorksWithNonVersionDetectApps": "僅適用於停用版本偵測的應用程式。",
|
||||
"releaseDateAsVersion": "使用發佈日期作為版本字串",
|
||||
"releaseTitleAsVersion": "Use release title as version string",
|
||||
"releaseDateAsVersionExplanation": "此選項僅應用於版本偵測無法正確工作但有發佈日期的應用程式。",
|
||||
"changes": "變更",
|
||||
"releaseDate": "發佈日期",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "幫助/維基",
|
||||
"crowdsourcedConfigsLabel": "群眾外包的應用程式設定(使用風險自負)",
|
||||
"allowInsecure": "Allow insecure HTTP requests",
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"removeAppQuestion": {
|
||||
"one": "移除應用程式?",
|
||||
"other": "移除應用程式?"
|
||||
|
@@ -213,6 +213,7 @@
|
||||
"uninstallFromDevice": "从设备中卸载",
|
||||
"onlyWorksWithNonVersionDetectApps": "仅适用于禁用版本检测的应用。",
|
||||
"releaseDateAsVersion": "将发行日期作为版本号",
|
||||
"releaseTitleAsVersion": "使用版本标题作为版本字符串",
|
||||
"releaseDateAsVersionExplanation": "此选项应该仅用于无法进行版本检测但能够获取发行日期的应用。",
|
||||
"changes": "更新日志",
|
||||
"releaseDate": "发行日期",
|
||||
@@ -315,6 +316,7 @@
|
||||
"wiki": "帮助/Wiki",
|
||||
"crowdsourcedConfigsLabel": "众包应用程序配置(使用风险自负)",
|
||||
"allowInsecure": "允许不安全的 HTTP 请求",
|
||||
"stayOneVersionBehind": "比最新版本晚一个版本",
|
||||
"removeAppQuestion": {
|
||||
"one": "是否删除应用?",
|
||||
"other": "是否删除应用?"
|
||||
|
@@ -2,6 +2,7 @@ import 'package:device_info_plus/device_info_plus.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:html/parser.dart';
|
||||
import 'package:obtainium/app_sources/html.dart';
|
||||
import 'package:obtainium/components/generated_form.dart';
|
||||
import 'package:obtainium/custom_errors.dart';
|
||||
import 'package:obtainium/providers/source_provider.dart';
|
||||
|
||||
@@ -26,6 +27,16 @@ class APKPure extends AppSource {
|
||||
allowSubDomains = true;
|
||||
naiveStandardVersionDetection = true;
|
||||
showReleaseDateAsVersionToggle = true;
|
||||
additionalSourceAppSpecificSettingFormItems = [
|
||||
[
|
||||
GeneratedFormSwitch('fallbackToOlderReleases',
|
||||
label: tr('fallbackToOlderReleases'), defaultValue: true)
|
||||
],
|
||||
[
|
||||
GeneratedFormSwitch('stayOneVersionBehind',
|
||||
label: tr('stayOneVersionBehind'), defaultValue: false)
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -54,6 +65,97 @@ class APKPure extends AppSource {
|
||||
return Uri.parse(standardUrl).pathSegments.last;
|
||||
}
|
||||
|
||||
getDetailsForVersionLink(
|
||||
String standardUrl,
|
||||
String appId,
|
||||
String host,
|
||||
List<String> supportedArchs,
|
||||
String link,
|
||||
Map<String, dynamic> additionalSettings) async {
|
||||
var res = await sourceRequest(link, additionalSettings);
|
||||
if (res.statusCode == 200) {
|
||||
var html = parse(res.body);
|
||||
var apksDiv =
|
||||
html.querySelector('#version-list div div.show-more-content');
|
||||
DateTime? topReleaseDate;
|
||||
var apkUrls = apksDiv
|
||||
?.querySelectorAll('div.group-title')
|
||||
.map((e) {
|
||||
String architectureString = e.text.trim();
|
||||
if (architectureString.toLowerCase() == 'unlimited' ||
|
||||
architectureString.toLowerCase() == 'universal') {
|
||||
architectureString = '';
|
||||
}
|
||||
List<String> architectures = architectureString
|
||||
.split(',')
|
||||
.map((e) => e.trim())
|
||||
.where((e) => e.isNotEmpty)
|
||||
.toList();
|
||||
// Only take the first APK for each architecture, ignore others for now, for simplicity
|
||||
// Unclear why there can even be multiple APKs for the same version and arch
|
||||
var apkInfo = e.nextElementSibling?.querySelector('div.info');
|
||||
String? versionCode = RegExp('[0-9]+')
|
||||
.firstMatch(apkInfo
|
||||
?.querySelector('div.info-top span.code')
|
||||
?.text ??
|
||||
'')
|
||||
?.group(0)
|
||||
?.trim();
|
||||
var types = apkInfo
|
||||
?.querySelectorAll('div.info-top span.tag')
|
||||
.map((e) => e.text.trim())
|
||||
.map((t) => t == 'APKs' ? 'APK' : t) ??
|
||||
[];
|
||||
String type = types.isEmpty
|
||||
? 'APK'
|
||||
: types.length == 1
|
||||
? types.first
|
||||
: types.last;
|
||||
String? dateString = apkInfo
|
||||
?.querySelector('div.info-bottom span.time')
|
||||
?.text
|
||||
.trim();
|
||||
DateTime? releaseDate = parseDateTimeMMMddCommayyyy(dateString);
|
||||
if (additionalSettings['autoApkFilterByArch'] == true &&
|
||||
architectures.isNotEmpty &&
|
||||
architectures
|
||||
.where((a) => supportedArchs.contains(a))
|
||||
.isEmpty) {
|
||||
return const MapEntry('', '');
|
||||
}
|
||||
topReleaseDate ??=
|
||||
releaseDate; // Just use the release date of the first APK in the list as the release date for this version
|
||||
return MapEntry(
|
||||
'$appId-$versionCode-$architectureString.${type.toLowerCase()}',
|
||||
'https://d.${hosts.contains(host) ? 'cdnpure.com' : host}/b/$type/$appId?versionCode=$versionCode');
|
||||
})
|
||||
.where((e) => e.key.isNotEmpty)
|
||||
.toList() ??
|
||||
[];
|
||||
if (apkUrls.isEmpty) {
|
||||
throw NoAPKError();
|
||||
}
|
||||
String version = Uri.parse(link).pathSegments.last;
|
||||
String author = html
|
||||
.querySelector('span.info-sdk')
|
||||
?.text
|
||||
.trim()
|
||||
.substring(version.length + 4) ??
|
||||
Uri.parse(standardUrl).pathSegments.reversed.last;
|
||||
String appName =
|
||||
html.querySelector('h1.info-title')?.text.trim() ?? appId;
|
||||
String? changeLog = html
|
||||
.querySelector('div.module.change-log')
|
||||
?.innerHtml
|
||||
.trim()
|
||||
.replaceAll("<br>", " \n");
|
||||
return APKDetails(version, apkUrls, AppNames(author, appName),
|
||||
releaseDate: topReleaseDate, changeLog: changeLog);
|
||||
} else {
|
||||
throw getObtainiumHttpError(res);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<APKDetails> getLatestAPKDetails(
|
||||
String standardUrl,
|
||||
@@ -80,88 +182,17 @@ class APKPure extends AppSource {
|
||||
|
||||
for (var i = 0; i < versionLinks.length; i++) {
|
||||
var link = versionLinks[i];
|
||||
var res = await sourceRequest(link.key, additionalSettings);
|
||||
if (res.statusCode == 200) {
|
||||
var html = parse(res.body);
|
||||
var apksDiv =
|
||||
html.querySelector('#version-list div div.show-more-content');
|
||||
DateTime? topReleaseDate;
|
||||
var apkUrls = apksDiv
|
||||
?.querySelectorAll('div.group-title')
|
||||
.map((e) {
|
||||
String architectureString = e.text.trim();
|
||||
if (architectureString.toLowerCase() == 'unlimited' ||
|
||||
architectureString.toLowerCase() == 'universal') {
|
||||
architectureString = '';
|
||||
}
|
||||
List<String> architectures = architectureString
|
||||
.split(',')
|
||||
.map((e) => e.trim())
|
||||
.where((e) => e.isNotEmpty)
|
||||
.toList();
|
||||
// Only take the first APK for each architecture, ignore others for now, for simplicity
|
||||
// Unclear why there can even be multiple APKs for the same version and arch
|
||||
var apkInfo = e.nextElementSibling?.querySelector('div.info');
|
||||
String? versionCode = RegExp('[0-9]+')
|
||||
.firstMatch(apkInfo
|
||||
?.querySelector('div.info-top span.code')
|
||||
?.text ??
|
||||
'')
|
||||
?.group(0)
|
||||
?.trim();
|
||||
var types = apkInfo
|
||||
?.querySelectorAll('div.info-top span.tag')
|
||||
.map((e) => e.text.trim())
|
||||
.map((t) => t == 'APKs' ? 'APK' : t) ??
|
||||
[];
|
||||
String type = types.isEmpty
|
||||
? 'APK'
|
||||
: types.length == 1
|
||||
? types.first
|
||||
: types.last;
|
||||
String? dateString = apkInfo
|
||||
?.querySelector('div.info-bottom span.time')
|
||||
?.text
|
||||
.trim();
|
||||
DateTime? releaseDate =
|
||||
parseDateTimeMMMddCommayyyy(dateString);
|
||||
if (additionalSettings['autoApkFilterByArch'] == true &&
|
||||
architectures.isNotEmpty &&
|
||||
architectures
|
||||
.where((a) => supportedArchs.contains(a))
|
||||
.isEmpty) {
|
||||
return const MapEntry('', '');
|
||||
}
|
||||
topReleaseDate ??=
|
||||
releaseDate; // Just use the release date of the first APK in the list as the release date for this version
|
||||
return MapEntry(
|
||||
'$appId-$versionCode-$architectureString.${type.toLowerCase()}',
|
||||
'https://d.${hosts.contains(host) ? 'cdnpure.com' : host}/b/$type/$appId?versionCode=$versionCode');
|
||||
})
|
||||
.where((e) => e.key.isNotEmpty)
|
||||
.toList() ??
|
||||
[];
|
||||
if (apkUrls.isEmpty) {
|
||||
continue;
|
||||
try {
|
||||
if (i == 0 && additionalSettings['stayOneVersionBehind'] == true) {
|
||||
throw NoReleasesError();
|
||||
}
|
||||
return await getDetailsForVersionLink(standardUrl, appId, host,
|
||||
supportedArchs, link.key, additionalSettings);
|
||||
} catch (e) {
|
||||
if (additionalSettings['fallbackToOlderReleases'] != true ||
|
||||
i == versionLinks.length - 1) {
|
||||
rethrow;
|
||||
}
|
||||
String version = Uri.parse(link.key).pathSegments.last;
|
||||
String author = html
|
||||
.querySelector('span.info-sdk')
|
||||
?.text
|
||||
.trim()
|
||||
.substring(version.length + 4) ??
|
||||
Uri.parse(standardUrl).pathSegments.reversed.last;
|
||||
String appName =
|
||||
html.querySelector('h1.info-title')?.text.trim() ?? appId;
|
||||
String? changeLog = html
|
||||
.querySelector('div.module.change-log')
|
||||
?.innerHtml
|
||||
.trim()
|
||||
.replaceAll("<br>", " \n");
|
||||
return APKDetails(version, apkUrls, AppNames(author, appName),
|
||||
releaseDate: topReleaseDate, changeLog: changeLog);
|
||||
} else {
|
||||
throw getObtainiumHttpError(res);
|
||||
}
|
||||
}
|
||||
throw NoAPKError();
|
||||
|
@@ -81,6 +81,10 @@ class GitHub extends AppSource {
|
||||
[
|
||||
GeneratedFormSwitch('useLatestAssetDateAsReleaseDate',
|
||||
label: tr('useLatestAssetDateAsReleaseDate'), defaultValue: false)
|
||||
],
|
||||
[
|
||||
GeneratedFormSwitch('releaseTitleAsVersion',
|
||||
label: tr('releaseTitleAsVersion'), defaultValue: false)
|
||||
]
|
||||
];
|
||||
|
||||
@@ -396,7 +400,9 @@ class GitHub extends AppSource {
|
||||
targetRelease = releases[i];
|
||||
targetRelease['apkUrls'] = apkUrls;
|
||||
targetRelease['version'] =
|
||||
targetRelease['tag_name'] ?? targetRelease['name'];
|
||||
additionalSettings['releaseTitleAsVersion'] == true
|
||||
? nameToFilter
|
||||
: targetRelease['tag_name'] ?? targetRelease['name'];
|
||||
if (targetRelease['tarball_url'] != null) {
|
||||
allAssetUrls.add(MapEntry(
|
||||
(targetRelease['version'] ?? 'source') + '.tar.gz',
|
||||
|
@@ -60,8 +60,17 @@ class SourceHut extends AppSource {
|
||||
int ind = 0;
|
||||
|
||||
for (var entry in parsedHtml.querySelectorAll('item').sublist(0, 6)) {
|
||||
// Limit 5 for speed
|
||||
if (!fallbackToOlderReleases && ind > 0) {
|
||||
ind++;
|
||||
String releasePage = // querySelector('link') fails for some reason
|
||||
entry
|
||||
.querySelector('guid') // Luckily guid is identical
|
||||
?.innerHtml
|
||||
.trim() ??
|
||||
'';
|
||||
if (!releasePage.startsWith('$standardUrl/refs')) {
|
||||
continue;
|
||||
}
|
||||
if (!fallbackToOlderReleases && ind > 1) {
|
||||
break;
|
||||
}
|
||||
String? version = entry.querySelector('title')?.text.trim();
|
||||
@@ -69,7 +78,6 @@ class SourceHut extends AppSource {
|
||||
throw NoVersionError();
|
||||
}
|
||||
String? releaseDateString = entry.querySelector('pubDate')?.innerHtml;
|
||||
String releasePage = '$standardUrl/refs/$version';
|
||||
DateTime? releaseDate;
|
||||
try {
|
||||
releaseDate = releaseDateString != null
|
||||
@@ -98,7 +106,6 @@ class SourceHut extends AppSource {
|
||||
AppNames(entry.querySelector('author')?.innerHtml.trim() ?? appName,
|
||||
appName),
|
||||
releaseDate: releaseDate));
|
||||
ind++;
|
||||
}
|
||||
if (apkDetailsList.isEmpty) {
|
||||
throw NoReleasesError();
|
||||
|
@@ -44,6 +44,7 @@ List<MapEntry<Locale, String>> supportedLocales = const [
|
||||
MapEntry(Locale('da'), 'Dansk'),
|
||||
MapEntry(Locale('en', 'EO'),
|
||||
'Esperanto'), // https://github.com/aissat/easy_localization/issues/220#issuecomment-846035493
|
||||
MapEntry(Locale('in'), 'Bahasa Indonesia')
|
||||
];
|
||||
const fallbackLocale = Locale('en');
|
||||
const localeDir = 'assets/translations';
|
||||
|
@@ -30,6 +30,7 @@ class AddAppPageState extends State<AddAppPage> {
|
||||
String userInput = '';
|
||||
String searchQuery = '';
|
||||
String? pickedSourceOverride;
|
||||
String? previousPickedSourceOverride;
|
||||
AppSource? pickedSource;
|
||||
Map<String, dynamic> additionalSettings = {};
|
||||
bool additionalSettingsValid = true;
|
||||
@@ -58,6 +59,9 @@ class AddAppPageState extends State<AddAppPage> {
|
||||
if (overrideSource != null) {
|
||||
pickedSourceOverride = overrideSource;
|
||||
}
|
||||
bool overrideChanged =
|
||||
pickedSourceOverride != previousPickedSourceOverride;
|
||||
previousPickedSourceOverride = pickedSourceOverride;
|
||||
if (updateUrlInput) {
|
||||
urlInputKey++;
|
||||
}
|
||||
@@ -69,6 +73,7 @@ class AddAppPageState extends State<AddAppPage> {
|
||||
overrideSource: pickedSourceOverride)
|
||||
: null;
|
||||
if (pickedSource.runtimeType != source.runtimeType ||
|
||||
overrideChanged ||
|
||||
(prevHost != null && prevHost != source?.hosts[0])) {
|
||||
pickedSource = source;
|
||||
pickedSource?.runOnAddAppInputChange(userInput);
|
||||
@@ -487,7 +492,8 @@ class AddAppPageState extends State<AddAppPage> {
|
||||
height: 16,
|
||||
),
|
||||
GeneratedForm(
|
||||
key: Key(pickedSource.runtimeType.toString()),
|
||||
key: Key(
|
||||
'${pickedSource.runtimeType.toString()}-${pickedSource?.hostChanged.toString()}-${pickedSource?.hostIdenticalDespiteAnyChange.toString()}'),
|
||||
items: [
|
||||
...pickedSource!.combinedAppSpecificSettingFormItems,
|
||||
...(pickedSourceOverride != null
|
||||
|
@@ -242,11 +242,11 @@ class _AppPageState extends State<AppPage> {
|
||||
);
|
||||
}
|
||||
|
||||
getFullInfoColumn() => Column(
|
||||
getFullInfoColumn({bool small = false}) => Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
const SizedBox(height: 20),
|
||||
SizedBox(height: small ? 5 : 20),
|
||||
FutureBuilder(
|
||||
future:
|
||||
appsProvider.updateAppIcon(app?.app.id, ignoreCache: true),
|
||||
@@ -261,24 +261,28 @@ class _AppPageState extends State<AppPage> {
|
||||
: () => pm.openApp(app.app.id),
|
||||
child: Image.memory(
|
||||
app!.icon!,
|
||||
height: 150,
|
||||
height: small ? 70 : 150,
|
||||
gaplessPlayback: true,
|
||||
),
|
||||
)
|
||||
])
|
||||
: Container();
|
||||
}),
|
||||
const SizedBox(
|
||||
height: 25,
|
||||
SizedBox(
|
||||
height: small ? 10 : 25,
|
||||
),
|
||||
Text(
|
||||
app?.name ?? tr('app'),
|
||||
textAlign: TextAlign.center,
|
||||
style: Theme.of(context).textTheme.displayLarge,
|
||||
style: small
|
||||
? Theme.of(context).textTheme.displaySmall
|
||||
: Theme.of(context).textTheme.displayLarge,
|
||||
),
|
||||
Text(tr('byX', args: [app?.app.author ?? tr('unknown')]),
|
||||
textAlign: TextAlign.center,
|
||||
style: Theme.of(context).textTheme.headlineMedium),
|
||||
style: small
|
||||
? Theme.of(context).textTheme.headlineSmall
|
||||
: Theme.of(context).textTheme.headlineMedium),
|
||||
const SizedBox(
|
||||
height: 24,
|
||||
),
|
||||
@@ -496,11 +500,8 @@ class _AppPageState extends State<AppPage> {
|
||||
builder: (BuildContext ctx) {
|
||||
return AlertDialog(
|
||||
scrollable: true,
|
||||
content: getInfoColumn(),
|
||||
title: Text(
|
||||
'${app.name} ${tr('byX', args: [
|
||||
app.app.author
|
||||
])}'),
|
||||
content: getFullInfoColumn(small: true),
|
||||
title: Text(app.name),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
|
@@ -578,6 +578,22 @@ class _SettingsPageState extends State<SettingsPage> {
|
||||
})
|
||||
],
|
||||
),
|
||||
height16,
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Flexible(
|
||||
child: Text(
|
||||
tr('shizukuPretendToBeGooglePlay'))),
|
||||
Switch(
|
||||
value: settingsProvider
|
||||
.shizukuPretendToBeGooglePlay,
|
||||
onChanged: (value) {
|
||||
settingsProvider
|
||||
.shizukuPretendToBeGooglePlay = value;
|
||||
})
|
||||
],
|
||||
),
|
||||
height32,
|
||||
Text(
|
||||
tr('sourceSpecific'),
|
||||
|
@@ -879,22 +879,20 @@ class AppsProvider with ChangeNotifier {
|
||||
apps[id]?.installedInfo == null ? context : null;
|
||||
bool needBGWorkaround =
|
||||
willBeSilent && context == null && !settingsProvider.useShizuku;
|
||||
bool shizukuPretendToBeGooglePlay = settingsProvider
|
||||
.shizukuPretendToBeGooglePlay ||
|
||||
apps[id]!.app.additionalSettings['shizukuPretendToBeGooglePlay'] ==
|
||||
true;
|
||||
if (downloadedFile != null) {
|
||||
if (needBGWorkaround) {
|
||||
// ignore: use_build_context_synchronously
|
||||
installApk(downloadedFile, contextIfNewInstall,
|
||||
needsBGWorkaround: true,
|
||||
shizukuPretendToBeGooglePlay: apps[id]!
|
||||
.app
|
||||
.additionalSettings['shizukuPretendToBeGooglePlay'] ==
|
||||
true);
|
||||
shizukuPretendToBeGooglePlay: shizukuPretendToBeGooglePlay);
|
||||
} else {
|
||||
// ignore: use_build_context_synchronously
|
||||
sayInstalled = await installApk(downloadedFile, contextIfNewInstall,
|
||||
shizukuPretendToBeGooglePlay: apps[id]!
|
||||
.app
|
||||
.additionalSettings['shizukuPretendToBeGooglePlay'] ==
|
||||
true);
|
||||
shizukuPretendToBeGooglePlay: shizukuPretendToBeGooglePlay);
|
||||
}
|
||||
} else {
|
||||
if (needBGWorkaround) {
|
||||
@@ -905,10 +903,7 @@ class AppsProvider with ChangeNotifier {
|
||||
// ignore: use_build_context_synchronously
|
||||
sayInstalled = await installXApkDir(
|
||||
downloadedDir!, contextIfNewInstall,
|
||||
shizukuPretendToBeGooglePlay: apps[id]!
|
||||
.app
|
||||
.additionalSettings['shizukuPretendToBeGooglePlay'] ==
|
||||
true);
|
||||
shizukuPretendToBeGooglePlay: shizukuPretendToBeGooglePlay);
|
||||
}
|
||||
}
|
||||
if (willBeSilent && context == null) {
|
||||
|
@@ -48,7 +48,7 @@ class SettingsProvider with ChangeNotifier {
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get useShizuku{
|
||||
bool get useShizuku {
|
||||
return prefs?.getBool('useShizuku') ?? false;
|
||||
}
|
||||
|
||||
@@ -69,8 +69,7 @@ class SettingsProvider with ChangeNotifier {
|
||||
|
||||
Color get themeColor {
|
||||
int? colorCode = prefs?.getInt('themeColor');
|
||||
return (colorCode != null) ?
|
||||
Color(colorCode) : obtainiumThemeColor;
|
||||
return (colorCode != null) ? Color(colorCode) : obtainiumThemeColor;
|
||||
}
|
||||
|
||||
set themeColor(Color themeColor) {
|
||||
@@ -469,4 +468,13 @@ class SettingsProvider with ChangeNotifier {
|
||||
prefs?.setBool('beforeNewInstallsShareToAppVerifier', val);
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get shizukuPretendToBeGooglePlay {
|
||||
return prefs?.getBool('shizukuPretendToBeGooglePlay') ?? false;
|
||||
}
|
||||
|
||||
set shizukuPretendToBeGooglePlay(bool val) {
|
||||
prefs?.setBool('shizukuPretendToBeGooglePlay', val);
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
@@ -414,6 +414,7 @@ HttpClient createHttpClient(bool insecure) {
|
||||
abstract class AppSource {
|
||||
List<String> hosts = [];
|
||||
bool hostChanged = false;
|
||||
bool hostIdenticalDespiteAnyChange = false;
|
||||
late String name;
|
||||
bool enforceTrackOnly = false;
|
||||
bool changeLogIfAnyIsMarkDown = true;
|
||||
@@ -628,9 +629,10 @@ abstract class AppSource {
|
||||
SettingsProvider settingsProvider) async {
|
||||
Map<String, String> results = {};
|
||||
for (var e in sourceConfigSettingFormItems) {
|
||||
var val = hostChanged
|
||||
var val = hostChanged && !hostIdenticalDespiteAnyChange
|
||||
? additionalSettings[e.key]
|
||||
: settingsProvider.getSettingString(e.key);
|
||||
: additionalSettings[e.key] ??
|
||||
settingsProvider.getSettingString(e.key);
|
||||
if (val != null) {
|
||||
results[e.key] = val;
|
||||
}
|
||||
@@ -813,9 +815,14 @@ class SourceProvider {
|
||||
throw UnsupportedURLError();
|
||||
}
|
||||
var res = srcs.first;
|
||||
res.hosts = [Uri.parse(url).host];
|
||||
var originalHosts = res.hosts;
|
||||
var newHost = Uri.parse(url).host;
|
||||
res.hosts = [newHost];
|
||||
res.hostChanged = true;
|
||||
return srcs.first;
|
||||
if (originalHosts.contains(newHost)) {
|
||||
res.hostIdenticalDespiteAnyChange = true;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
AppSource? source;
|
||||
for (var s in sources.where((element) => element.hosts.isNotEmpty)) {
|
||||
|
@@ -1097,10 +1097,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_android
|
||||
sha256: "6e64fcb1c19d92024da8f33503aaeeda35825d77142c01d0ea2aa32edc79fdc8"
|
||||
sha256: ed021f27ae621bc97a6019fb601ab16331a3db4bf8afa305e9f6689bdb3edced
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.16.7"
|
||||
version: "3.16.8"
|
||||
webview_flutter_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
# In Windows, build-name is used as the major, minor, and patch parts
|
||||
# of the product and file versions while build-number is used as the build suffix.
|
||||
version: 1.1.23+2280
|
||||
version: 1.1.26+2283
|
||||
|
||||
environment:
|
||||
sdk: '>=3.0.0 <4.0.0'
|
||||
|
Reference in New Issue
Block a user