From 2432db0b317541b415efd80051921f94c2e5e480 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Mon, 9 Sep 2024 17:29:01 +0200 Subject: [PATCH 01/50] Update hu.json Rewieving the hungarian translation. Fixing typos, sentences and the coherence. --- assets/translations/hu.json | 394 ++++++++++++++++++------------------ 1 file changed, 197 insertions(+), 197 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 469e91e..3411faa 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -1,44 +1,44 @@ { - "invalidURLForSource": "Érvénytelen a(z) {} app URL-je", + "invalidURLForSource": "Érvénytelen a(z) {} alkalmazás hivatkozása", "noReleaseFound": "Nem található megfelelő kiadás", "noVersionFound": "Nem sikerült meghatározni a kiadás verzióját", - "urlMatchesNoSource": "Az URL nem egyezik ismert forrással", - "cantInstallOlderVersion": "Nem telepíthető egy app régebbi verziója", - "appIdMismatch": "A letöltött csomagazonosító nem egyezik a meglévő app azonosítóval", - "functionNotImplemented": "Ez az osztály nem valósította meg ezt a függvényt", - "placeholder": "Helykitöltő", + "urlMatchesNoSource": "A hivatkozás nem egyezik egyetlen ismert forrással sem", + "cantInstallOlderVersion": "Nem telepíthető egy alkalmazás régebbi verziója", + "appIdMismatch": "A letöltött csomagazonosító nem egyezik a meglévő alkalmazás azonosítójával", + "functionNotImplemented": "Ebben az ágban nincs implementálva ez a funkció", + "placeholder": "Helyőrző", "someErrors": "Néhány hiba történt", "unexpectedError": "Váratlan hiba", - "ok": "Oké", + "ok": "Rendben", "and": "és", - "githubPATLabel": "GitHub Personal Access Token (megnöveli a díjkorlátot)", + "githubPATLabel": "GitHub személyes hozzáférési token (megnöveli a sebességkorlátozást)", "includePrereleases": "Tartalmazza az előzetes kiadásokat", "fallbackToOlderReleases": "Visszatérés a régebbi kiadásokhoz", "filterReleaseTitlesByRegEx": "A kiadás címeinek szűrése reguláris kifejezéssel", "invalidRegEx": "Érvénytelen reguláris kifejezés", "noDescription": "Nincs leírás", "cancel": "Mégse", - "continue": "Tovább", - "requiredInBrackets": "(Kötelező)", - "dropdownNoOptsError": "HIBA: A LEDOBÁST LEGALÁBB EGY OPCIÓHOZ KELL RENDELNI", + "continue": "Folytatás", + "requiredInBrackets": "(Szükséges)", + "dropdownNoOptsError": "HIBA: A LEGÖRDÜLŐ LISTÁNAK LEGALÁBB EGY OPCIÓVAL KELL RENDELKEZNIE", "colour": "Szín", - "standard": "Standard", - "custom": "Custom", - "useMaterialYou": "Használja az Ön által használt anyagot", - "githubStarredRepos": "GitHub Csillagos Repo-k", - "uname": "Felh.név", - "wrongArgNum": "Rossz számú argumentumot adott meg", + "standard": "Általános", + "custom": "Egyéni", + "useMaterialYou": "Material You használata", + "githubStarredRepos": "Csillagozott GitHub tárolók", + "uname": "Felhasználónév", + "wrongArgNum": "A megadott argumentumok száma nem megfelelő", "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 nyomon követhetőek'.", - "youPickedTrackOnly": "A 'Csak követés' opciót választotta.", + "appsFromSourceAreTrackOnly": "Az ebből a forrásból származó alkalmazások „csak nyomonkövethetőek”.", + "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": "Törölve", - "appAlreadyAdded": "Az app már hozzáadva", - "alreadyUpToDateQuestion": "Az app már naprakész?", - "addApp": "App hozzáadás", - "appSourceURL": "App forrás URL", + "cancelled": "Visszavonva", + "appAlreadyAdded": "Az alkalmazás már hozzá van adva", + "alreadyUpToDateQuestion": "Az alkalmazás már naprakész?", + "addApp": "Hozzáadás", + "appSourceURL": "Alkalmazás forrásának hivatkozása", "error": "Hiba", "add": "Hozzáadás", "searchSomeSourcesLabel": "Keresés (csak egyes források)", @@ -47,9 +47,9 @@ "supportedSources": "Támogatott források", "trackOnlyInBrackets": "(Csak nyomonkövetés)", "searchableInBrackets": "(Kereshető)", - "appsString": "Appok", - "noApps": "Nincs App", - "noAppsForFilter": "Nincsenek appok a szűrőhöz", + "appsString": "Alkalmazások", + "noApps": "Nincsenek alkalmazások", + "noAppsForFilter": "Nincsenek alkalmazások a szűrőhöz", "byX": "Fejlesztő: {}", "percentProgress": "Folyamat: {}%", "pleaseWait": "Kis türelmet", @@ -57,142 +57,142 @@ "notInstalled": "Nem telepített", "pseudoVersion": "ál-verzió", "selectAll": "Mindet kiválaszt", - "deselectX": "Törölje {} kijelölését", + "deselectX": "{} kijelölésének elvetése", "xWillBeRemovedButRemainInstalled": "A(z) {} el lesz távolítva az Obtainiumból, de továbbra is telepítve marad az eszközön.", - "removeSelectedAppsQuestion": "Eltávolítja a kiválasztott appokat?", - "removeSelectedApps": "Távolítsa el a kiválasztott appokat", + "removeSelectedAppsQuestion": "A kiválasztott alkalmazások eltávolítása?", + "removeSelectedApps": "A kiválasztott alkalmazások eltávolítása", "updateX": "Frissítés: {}", "installX": "Telepítés: {}", - "markXTrackOnlyAsUpdated": "Jelölje meg: {}\n(Csak nyomon követhető)\nmint Frissített", - "changeX": "Változás {}", - "installUpdateApps": "Appok telepítése/frissítése", - "installUpdateSelectedApps": "Telepítse/frissítse a kiválasztott appokat", - "markXSelectedAppsAsUpdated": "Megjelöl {} kiválasztott alkalmazást frissítettként?", + "markXTrackOnlyAsUpdated": "Megjelölés: {}\n(Csak nyomon követhető)\nmint Frissített", + "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", + "markXSelectedAppsAsUpdated": "A(z) {} kiválasztott alkalmazás megjelölése frissítettként?", "no": "Nem", "yes": "Igen", - "markSelectedAppsUpdated": "Jelölje meg a kiválasztott appokat frissítettként", - "pinToTop": "Rögzítés felülre", - "unpinFromTop": "Eltávolít felülről", - "resetInstallStatusForSelectedAppsQuestion": "Visszaállítja a kiválasztott appok telepítési állapotát?", - "installStatusOfXWillBeResetExplanation": "A kiválasztott appok telepítési állapota visszaáll.\n\nEz akkor segíthet, ha az Obtainiumban megjelenített app verzió hibás, frissítések vagy egyéb problémák miatt.", + "markSelectedAppsUpdated": "A kiválasztott alkalmazások megjelölése frissítettként", + "pinToTop": "Kitűzés felülre", + "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": "App konfiguráció megosztása HTML linkként", - "shareSelectedAppURLs": "Ossza meg a kiválasztott app URL címeit", + "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", - "removeOutdatedFilter": "Távolítsa el az elavult app szűrőt", - "showOutdatedOnly": "Csak az elavult appok megjelenítése", + "removeOutdatedFilter": "Elavult alkalmazásszűrő eltávolítása", + "showOutdatedOnly": "Csak az elavult alkalmazások megjelenítése", "filter": "Szűrő", - "filterApps": "Appok szűrése", - "appName": "App név", + "filterApps": "Alkalmazások szűrése", + "appName": "Név", "author": "Szerző", - "upToDateApps": "Naprakész appok", - "nonInstalledApps": "Nem telepített appok", - "importExport": "Import Export", + "upToDateApps": "Naprakész alkalmazások", + "nonInstalledApps": "Nem telepített alkalmazások", + "importExport": "Import/Export", "settings": "Beállítások", - "exportedTo": "Exportálva ide {}", - "obtainiumExport": "Obtainium Adat Exportálás", + "exportedTo": "Exportálva ide: {}", + "obtainiumExport": "Obtainium adatainak exportálása", "invalidInput": "Hibás bemenet", - "importedX": "Importálva innen {}", - "obtainiumImport": "Obtainium Adat Importálás", - "importFromURLList": "Importálás URL listából", + "importedX": "Importálva innen: {}", + "obtainiumImport": "Obtainium adatok importálása", + "importFromURLList": "Importálás hivatkozás-listából", "searchQuery": "Keresési lekérdezés", - "appURLList": "App URL lista", + "appURLList": "Alkalmazás-hivatkozáslista", "line": "Sor", - "searchX": "Keresés {}", + "searchX": "{} keresése", "noResults": "Nincs találat", - "importX": "Importálás: {}", - "importedAppsIdDisclaimer": "Előfordulhat, hogy az importált appok 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 az URL-ekre és a harmadik féltől származó importálási módszerekre vonatkozik..", + "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..", "importErrors": "Importálási hibák", - "importedXOfYApps": "{}/{} app importálva.", - "followingURLsHadErrors": "A következő URL-ek hibákat tartalmaztak:", - "selectURL": "Válassza ki az URL-t", - "selectURLs": "Kiválasztott URL-ek", - "pick": "Válasszon", + "importedXOfYApps": "{}/{} alkalmazás importálva.", + "followingURLsHadErrors": "A következő hivatkozások hibákat tartalmaztak:", + "selectURL": "Válassza ki a hivatkozást", + "selectURLs": "Kiválasztott hivatkozások", + "pick": "Kiválasztás", "theme": "Téma", "dark": "Sötét", "light": "Világos", "followSystem": "Rendszer szerint", "followSystemThemeExplanation": "A következő rendszer téma csak harmadik féltől származó alkalmazások használatával lehetséges", "useBlackTheme": "Használjon teljesen fekete sötét témát", - "appSortBy": "App rendezés...", + "appSortBy": "Elrendezés", "authorName": "Szerző/Név", "nameAuthor": "Név/Szerző", - "asAdded": "Mint Hozzáadott", - "appSortOrder": "Appok rendezése", + "asAdded": "Mint hozzáadott", + "appSortOrder": "Rendezési sorrend", "ascending": "Emelkedő", "descending": "Csökkenő", - "bgUpdateCheckInterval": "Háttérfrissítés ellenőrzés időköze", - "neverManualOnly": "Soha – csak manuális", + "bgUpdateCheckInterval": "Frissítéskeresés időköze a háttérben", + "neverManualOnly": "Soha – csak kézi", "appearance": "Megjelenés", - "showWebInAppView": "Forrás megjelenítése az Appok nézetben", - "pinUpdates": "Frissítések kitűzése az App nézet tetejére", + "showWebInAppView": "Forrás megjelenítése az alkalmazásnézetben", + "pinUpdates": "Frissítések kitűzése az alkalmazásnézet tetejére", "updates": "Frissítések", - "sourceSpecific": "Forrás-specifikus", - "appSource": "App forrás", + "sourceSpecific": "Forrásspecifikus", + "appSource": "Alkalmazás forrás", "noLogs": "Nincsenek naplók", - "appLogs": "App naplók", + "appLogs": "Alkalmazás naplók", "close": "Bezárás", "share": "Megosztás", - "appNotFound": "App nem található", + "appNotFound": "Az alkalmazás nem található", "obtainiumExportHyphenatedLowercase": "obtainium-export", "pickAnAPK": "Válasszon egy APK-t", "appHasMoreThanOnePackage": "A(z) {} egynél több csomaggal rendelkezik:", - "deviceSupportsXArch": "Eszköze támogatja a {} CPU architektúrát.", - "deviceSupportsFollowingArchs": "Az eszköze a következő CPU architektúrákat támogatja:", + "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 „{}”, de a kiadási csomag innen származik: „{}”. Folytatja?", - "updatesAvailable": "Frissítések érhetők el", - "updatesAvailableNotifDescription": "Értesíti a felhasználót, hogy frissítések állnak rendelkezésre egy vagy több, az Obtainium által nyomon követett alkalmazáshoz", + "updatesAvailable": "Frissítések érhetőek 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.", "appsUpdated": "Alkalmazások frissítve", "appsNotUpdated": "Nem sikerült frissíteni az alkalmazásokat", - "appsUpdatedNotifDescription": "Értesíti a felhasználót, hogy egy/több app frissítése megtörtént a háttérben", - "xWasUpdatedToY": "{} frissítve a következőre: {}.", - "xWasNotUpdatedToY": "A {} frissítése a {}-ra nem sikerült.", + "appsUpdatedNotifDescription": "Értesíti a felhasználót, hogy egy vagy több alkalmazás frissítése a háttérben történt.", + "xWasUpdatedToY": "A(z) {} frissítve lett a következőre: {}.", + "xWasNotUpdatedToY": "Nem sikerült frissíteni a következőt: {}, erre: {}.", "errorCheckingUpdates": "Hiba a frissítések keresésekor", - "errorCheckingUpdatesNotifDescription": "Értesítés, amely akkor jelenik meg, ha a háttérbeli frissítések ellenőrzése sikertelen", + "errorCheckingUpdatesNotifDescription": "Értesítés, amely akkor jelenik meg, ha a háttérfrissítés ellenőrzése nem sikerül", "appsRemoved": "Alkalmazások eltávolítva", - "appsRemovedNotifDescription": "Értesíti a felhasználót egy vagy több alkalmazás eltávolításáról a betöltésük során fellépő hibák miatt", - "xWasRemovedDueToErrorY": "A(z) {} a következő hiba miatt lett eltávolítva: {}", - "completeAppInstallation": "Teljes app telepítés", - "obtainiumMustBeOpenToInstallApps": "Az Obtainiumnak megnyitva kell lennie az alkalmazások telepítéséhez", + "appsRemovedNotifDescription": "Értesíti a felhasználót, hogy egy vagy több alkalmazás betöltés közbeni hiba miatt eltávolításra került", + "xWasRemovedDueToErrorY": "A(z) {} eltávolításra került a következő hiba miatt: {}", + "completeAppInstallation": "Teljes alkalmazástelepítés", + "obtainiumMustBeOpenToInstallApps": "Az alkalmazások telepítéséhez az Obtainiumnak megnyitva kell lennie", "completeAppInstallationNotifDescription": "Megkéri a felhasználót, hogy térjen vissza az Obtainiumhoz, hogy befejezze az alkalmazás telepítését", "checkingForUpdates": "Frissítések keresése", "checkingForUpdatesNotifDescription": "Átmeneti értesítés, amely a frissítések keresésekor jelenik meg", - "pleaseAllowInstallPerm": "Kérjük, engedélyezze az Obtainiumnak az alkalmazások telepítését", - "trackOnly": "Csak követés", + "pleaseAllowInstallPerm": "Engedélyezze az Obtainiumnak az alkalmazások telepítését", + "trackOnly": "Csak nyomonkövetés", "errorWithHttpStatusCode": "Hiba {}", - "versionCorrectionDisabled": "Verzió korrekció letiltva (úgy tűnik, a beépülő modul nem működik)", + "versionCorrectionDisabled": "Verziókorrekció letiltva (úgy tűnik, hogy a bővítmény nem működik)", "unknown": "Ismeretlen", - "none": "Egyik sem", + "none": "Semmi", "never": "Soha", "latestVersionX": "Legújabb verzió: {}", "installedVersionX": "Telepített verzió: {}", - "lastUpdateCheckX": "Frissítés ellenőrizve: {}", + "lastUpdateCheckX": "Frissítések utoljára ellenőrizve: {}", "remove": "Eltávolítás", "yesMarkUpdated": "Igen, megjelölés frissítettként", "fdroid": "F-Droid hivatalos", - "appIdOrName": "App ID vagy név", - "appId": "Alkalmazásazonosító", - "appWithIdOrNameNotFound": "Nem található app ezzel az azonosítóval vagy névvel", - "reposHaveMultipleApps": "A repók több alkalmazást is tartalmazhatnak", - "fdroidThirdPartyRepo": "F-Droid Harmadik-fél Repo", - "steamMobile": "Steam mobil", + "appIdOrName": "Az alkalmazás-azonosító vagy név", + "appId": "Alkalmazás-azonosító", + "appWithIdOrNameNotFound": "Nem található alkalmazás ezzel az azonosítóval vagy névvel", + "reposHaveMultipleApps": "A tárolók több alkalmazást is tartalmazhatnak", + "fdroidThirdPartyRepo": "F-Droid harmadik féltől származó tároló", + "steamMobile": "Steam Mobil", "steamChat": "Steam Chat", - "install": "Telepít", - "markInstalled": "Telepítettnek jelöl", - "update": "Frissít", - "markUpdated": "Frissítettnek jelöl", - "additionalOptions": "További lehetőségek", + "install": "Telepítés", + "markInstalled": "Telepítettnek jelölés", + "update": "Frissítés", + "markUpdated": "Frissítettnek jelölés", + "additionalOptions": "További beállítások", "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és", - "downloadX": "Letöltés {}", - "downloadedX": "Letöltés {}", - "releaseAsset": "Kiadási tartalom", - "downloadNotifDescription": "Értesíti a felhasználót az app letöltésének előrehaladásáról", + "downloadingX": "{} letöltése", + "downloadX": "{} letöltése", + "downloadedX": "{} letöltve", + "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", "categorize": "Kategorizálás", @@ -201,8 +201,8 @@ "noCategory": "Nincs kategória", "noCategories": "Nincsenek kategóriák", "deleteCategoriesQuestion": "Törli a kategóriákat?", - "categoryDeleteWarning": "A(z) {} összes app kategorizálatlan állapotba kerül.", - "addCategory": "Új kategória", + "categoryDeleteWarning": "A törölt kategóriákban lévő összes alkalmazás kategorizálatlanná válik.", + "addCategory": "Kategória hozzáadása", "label": "Címke", "language": "Nyelv", "copiedToClipboard": "Másolva a vágólapra", @@ -210,110 +210,110 @@ "selectedCategorizeWarning": "Ez felváltja a kiválasztott alkalmazások meglévő kategória-beállításait.", "filterAPKsByRegEx": "Az APK-k szűrése reguláris kifejezéssel", "removeFromObtainium": "Eltávolítás az Obtainiumból", - "uninstallFromDevice": "Eltávolítás a készülékrő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", - "releaseDateAsVersionExplanation": "Ezt a beállítást csak olyan alkalmazásoknál szabad használni, ahol a verzió érzékelése nem működik megfelelően, de elérhető a kiadás dátuma.", - "changes": "Változtatások", + "releaseDateAsVersion": "Használja a kiadás dátumát, mint verziót", + "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ó URL-ből (mint pl. OPML)", - "versionDetectionExplanation": "A verzió karakterlánc egyeztetése az OS által észlelt verzióval", - "versionDetection": "Verzió érzékelés", - "standardVersionDetection": "Alapért. verzió érzékelés", - "groupByCategory": "Csoportosítás Kategória alapján", + "importFromURLsInFile": "Importálás fájlban található hivatkozásból (pl. OPML)", + "versionDetectionExplanation": "A verzió-karakterlánc egyeztetése az OS által észlelt verzióval", + "versionDetection": "Verzióérzékelés", + "standardVersionDetection": "Alapértelmezett verzióérzékelés", + "groupByCategory": "Csoportosítás kategória alapján", "autoApkFilterByArch": "Ha lehetséges, próbálja CPU architektúra szerint szűrni az APK-kat", - "overrideSource": "Forrás felülbírálása", - "dontShowAgain": "Ne mutassa ezt újra", - "dontShowTrackOnlyWarnings": "Ne jelenítsen meg 'Csak nyomon követés' figyelmeztetést", + "overrideSource": "Forrás felülírása", + "dontShowAgain": "Ne jelenítse meg ezt újra", + "dontShowTrackOnlyWarnings": "Ne jelenítsen meg „Csak nyomonkövetés” figyelmeztetést", "dontShowAPKOriginWarnings": "Ne jelenítsen meg az APK eredetére vonatkozó figyelmeztetéseket", - "moveNonInstalledAppsToBottom": "Helyezze át a nem telepített appokat az App nézet aljára", + "moveNonInstalledAppsToBottom": "Helyezze át a nem telepített alkalmazásokat az alkalmazás-nézet aljára", "gitlabPATLabel": "GitLab személyes hozzáférési token", - "about": "Rólunk", - "requiresCredentialsInSettings": "{}: Ehhez további hitelesítő adatokra van szükség (a Beállításokban)", - "checkOnStart": "Egyszer az alkalmazás indításakor is", - "tryInferAppIdFromCode": "Próbálja kikövetkeztetni az app azonosítót a forráskódból", - "removeOnExternalUninstall": "A külsőleg eltávolított appok auto. eltávolítása", - "pickHighestVersionCode": "A legmagasabb verziószámú APK auto. kiválasztása", - "checkUpdateOnDetailPage": "Frissítések keresése az app részleteit tartalmazó oldal megnyitásakor", + "about": "Névjegy", + "requiresCredentialsInSettings": "A(z) {} alkalmazásnak további hitelesítő adatokra van szüksége (a beállításokban)", + "checkOnStart": "Frissítések keresése indításkor", + "tryInferAppIdFromCode": "Próbálja meg kikövetkeztetni az alkalmazás azonosítóját a forráskódból", + "removeOnExternalUninstall": "A külsőleg eltávolított alkalmazások automatikus eltávolítása", + "pickHighestVersionCode": "A legmagasabb verziószámú APK automatikus kiválasztása", + "checkUpdateOnDetailPage": "Frissítések keresése az alkalmazás részleteit tartalmazó oldal megnyitásakor", "disablePageTransitions": "Lap áttűnési animációk letiltása", "reversePageTransitions": "Fordított lap áttűnési animációk", "minStarCount": "Minimális csillag szám", - "addInfoBelow": "Adja hozzá ezt az infót alább.", - "addInfoInSettings": "Adja hozzá ezt az infót a Beállításokban.", - "githubSourceNote": "A GitHub sebességkorlátozás elkerülhető API-kulcs használatával.", + "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 sebességkorlátozás elkerülhető egy API-kulcs használatával.", "sortByLastLinkSegment": "Rendezés csak a link utolsó szegmense 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érték '.apk$')", - "appsPossiblyUpdated": "App frissítési kísérlet", + "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": "{} frissítve lehet erre {}.", - "enableBackgroundUpdates": "Frissítések a háttérben", - "backgroundUpdateReqsExplanation": "Előfordulhat, hogy nem minden appnál lehetséges a háttérbeli frissítés.", + "enableBackgroundUpdates": "Háttérfrissítések engedélyezése", + "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' látogatási linkre", - "filterByLinkText": "A hivatkozások szűrése linkszöveg alapján", - "intermediateLinkNotFound": "Köztes link nem található", - "intermediateLink": "Köztes link", + "intermediateLinkRegex": "Szűrés egy „köztes” hivatkozás megnyitásához", + "filterByLinkText": "Hivatkozások szűrése egy 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)", - "bgUpdatesOnWiFiOnly": "Tiltsa le a háttérben frissítéseket, ha nincs Wi-Fi-n", - "autoSelectHighestVersionCode": "A legmagasabb verziószámú APK auto. kiválasztása", - "versionExtractionRegEx": "Verzió kibontása reguláris kifejezéssel", - "trimVersionString": "A verzió sztring levágása RegEx segítségével", - "matchGroupToUseForX": "A \"{}\" csoporthoz használandó csoport egyeztetése", - "matchGroupToUse": "Párosítsa a csoportot a használathoz", - "highlightTouchTargets": "Emelje ki a kevésbé nyilvánvaló érintési célokat", - "pickExportDir": "Válassza az Exportálási könyvtárat", - "autoExportOnChanges": "Auto-exportálás a változások után", + "bgUpdatesOnWiFiOnly": "A háttérben futó frissítések letiltása, ha nincs Wi-Fi", + "autoSelectHighestVersionCode": "A legmagasabb verziószámú APK automatikus kiválasztása", + "versionExtractionRegEx": "Verziókarakterlánc-kivonatolás ezzel: RegEx", + "trimVersionString": "Verziókarakterlánc levágása ezzel: RegEx", + "matchGroupToUseForX": "A(z) „{}” esetén használandó csoport egyeztetése", + "matchGroupToUse": "Verziókarakterlánc-kivonatoláshoz használandó csoport RegEx egyeztetése", + "highlightTouchTargets": "A kevésbé nyilvánvaló érintési pontok kiemelése", + "pickExportDir": "Válassza ki a könyvtárat, ahová exportálni szeretne", + "autoExportOnChanges": "Automatikus exportálás a változások után", "includeSettings": "Tartalmazza a beállításokat", "filterVersionsByRegEx": "Verziók szűrése reguláris kifejezéssel", "trySelectingSuggestedVersionCode": "Próbálja ki a javasolt verziókódú APK-t", "dontSortReleasesList": "Az API-ból származó kiadási sorrend megőrzése", - "reverseSort": "Fordított rendezés", - "takeFirstLink": "Vegye az első linket", - "skipSort": "A válogatás kihagyása", + "reverseSort": "Fordított elrendezés", + "takeFirstLink": "Vegye az első hivatkozást", + "skipSort": "Rendezés kihagyása", "debugMenu": "Hibakereső menü", "bgTaskStarted": "A háttérfeladat elindult – ellenőrizze a naplókat.", - "runBgCheckNow": "Futtassa a Háttérben frissítés ellenőrzését most", - "versionExtractWholePage": "Alkalmazza a Version Extraction Regex-et az egész oldalra", + "runBgCheckNow": "Frissítések keresése a háttérben", + "versionExtractWholePage": "Verziókarakterlánc-kivonatolás ezzel: Regex 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ők el", + "updatesAvailableNotifChannel": "Frissítések érhetőek el", "appsUpdatedNotifChannel": "Alkalmazások frissítve", - "appsPossiblyUpdatedNotifChannel": "App frissítési kísérlet", + "appsPossiblyUpdatedNotifChannel": "Megkísérelt alkalmazás-frissítések", "errorCheckingUpdatesNotifChannel": "Hiba a frissítések keresésekor", - "appsRemovedNotifChannel": "Alkalmazások eltávolítva", - "downloadingXNotifChannel": "{} letöltés", - "completeAppInstallationNotifChannel": "Teljes app telepítés", + "appsRemovedNotifChannel": "Eltávolított alkalmazások", + "downloadingXNotifChannel": "{} letöltése", + "completeAppInstallationNotifChannel": "Teljes alkalmazás telepítés", "checkingForUpdatesNotifChannel": "Frissítések keresése", - "onlyCheckInstalledOrTrackOnlyApps": "Csak a telepített és a csak követhető appokat ellenőrizze frissítésekért", - "supportFixedAPKURL": "Támogatja a rögzített APK URL-eket", - "selectX": "Kiválaszt {}", - "parallelDownloads": "Párhuzamos letöltéseket enged", - "useShizuku": "Használja Shizuku vagy Sui telepítéséhez", - "shizukuBinderNotFound": "A Shizuku nem fut", - "shizukuOld": "Régi Shizuku verzió (<11) - frissítsd!", - "shizukuOldAndroidWithADB": "Shizuku fut Android < 8.1 ADB-vel - frissítse az Androidot vagy használja a Sui-t helyette", - "shizukuPretendToBeGooglePlay": "Állítsa be a Google Play-t telepítési forrásként (ha Shizuku-t használ)", - "useSystemFont": "Használja a rendszer betűtípusát", - "useVersionCodeAsOSVersion": "Az app verziókód használata a rendszer által észlelt verzióként", - "requestHeader": "Kérelem fejléc", - "useLatestAssetDateAsReleaseDate": "Használja a legújabb tartalomfeltöltést megjelenési dátumként", + "onlyCheckInstalledOrTrackOnlyApps": "Csak a telepített és a csak nyomonkövethető alkalmazások frissítéseinek ellenőrzése", + "supportFixedAPKURL": "Támogatja a rögzített APK hivatkozásokat", + "selectX": "{} kiválasztása", + "parallelDownloads": "Párhuzamos letöltések engedélyezése", + "useShizuku": "Shizuku vagy Sui használata a telepítéshez", + "shizukuBinderNotFound": "A Shizuku szolgáltatás nem fut", + "shizukuOld": "Régi Shizuku verzió (<11) - frissítse", + "shizukuOldAndroidWithADB": "Shizuku csak Android < 8.1 ADB-vel fut - frissítse az Androidot vagy használja a Sui-t helyette", + "shizukuPretendToBeGooglePlay": "Állítsa be a Google Playt telepítési forrásként (ha Shizukut használ)", + "useSystemFont": "A rendszer betűtípusának használata", + "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 álverziós módszer", - "partialAPKHash": "Részleges APK Hash", - "APKLinkHash": "APK Link Hash", - "directAPKLink": "Közvetlen APK Link", + "partialAPKHash": "Részleges APK hasító érték", + "APKLinkHash": "APK hivatkozás hasító érték", + "directAPKLink": "Közvetlen APK hivatkozás", "pseudoVersionInUse": "Egy álverzió van használatban", "installed": "Telepített", "latest": "Legújabb", - "invertRegEx": "Invertált reguláris kifejezés", - "note": "Megjegyzés:", - "selfHostedNote": "A \"{}\" legördülő menü használható bármely forrás saját üzemeltetésű/egyéni példányainak eléréséhez.", + "invertRegEx": "Reguláris kifejezés invertálása", + "note": "Megjegyzés", + "selfHostedNote": "A(z) „{}” legördülő menü segítségével elérhetőek bármilyen forrás saját üzemeltetésű- / egyéni példányai.", "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": "Crowdsourced App Configurations (használat saját felelősségre)", + "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", "removeAppQuestion": { "one": "Eltávolítja az alkalmazást?", @@ -324,20 +324,20 @@ "other": "Túl sok kérés (korlátozott arány) – próbálja újra {} perc múlva" }, "bgUpdateGotErrorRetryInMinutes": { - "one": "A háttérfrissítések ellenőrzése {}-t észlelt, {} perc múlva ütemezi az újrapróbálkozást", - "other": "A háttérfrissítések ellenőrzése {}-t észlelt, {} perc múlva ütemezi az újrapróbálkozást" + "one": "Frissítések ellenőrzése a háttérben a következőt észlelte: {} - Újrapróbálkozás: {} perc múlva", + "other": "Frissítések ellenőrzése a háttérben a következőt észlelte: {} - Újrapróbálkozás: {} perc múlva" }, "bgCheckFoundUpdatesWillNotifyIfNeeded": { - "one": "A háttérfrissítés ellenőrzése {} frissítést talált – szükség esetén értesíti a felhasználót", - "other": "A háttérfrissítés ellenőrzése {} frissítést talált – szükség esetén értesíti a felhasználót" + "one": "Frissítések ellenőrzése a háttérben {} frissítést talált - szükség esetén értesíti a felhasználót", + "other": "Frissítések ellenőrzése a háttérben {} frissítést talált - szükség esetén értesíti a felhasználót" }, "apps": { - "one": "{} app", - "other": "{} app" + "one": "{} alkalmazás", + "other": "{} alkalmazás" }, "url": { - "one": "{} URL", - "other": "{} URL" + "one": "{} hivatkozás", + "other": "{} hivatkozás" }, "minute": { "one": "{} perc", @@ -352,27 +352,27 @@ "other": "{} nap" }, "clearedNLogsBeforeXAfterY": { - "one": "{n} napló törölve (előtte = {előtte}, utána = {utána})", - "other": "{n} napló törölve (előtte = {előtte}, utána = {utána})" + "one": "{n} napló törölve lett (előtte = {before}, utána = {after})", + "other": "{n} napló törölve lett (előtte = {before}, utána = {after})" }, "xAndNMoreUpdatesAvailable": { - "one": "A(z) {} és 1 további alkalmazás frissítéseket kapott.", - "other": "{} és {} további alkalmazás frissítéseket kapott." + "one": "A(z) {} és 1 további alkalmazás frissítést kapott.", + "other": "A(z) {} és {} további alkalmazás frissítést kapott." }, "xAndNMoreUpdatesInstalled": { "one": "A(z) {} és 1 további alkalmazás frissítve.", - "other": "{} és {} további alkalmazás frissítve." + "other": "A(z) {} és {} további alkalmazás frissítve." }, "xAndNMoreUpdatesFailed": { - "one": "Nem sikerült frissíteni {} és még 1 alkalmazást.", - "other": "Nem sikerült frissíteni {} és {} további alkalmazásokat." + "one": "Nem sikerült frissíteni a következőt: {}, valamint 1 további alkalmazást.", + "other": "Nem sikerült frissíteni a következőt: {}, valamint {} további alkalmazást." }, "xAndNMoreUpdatesPossiblyInstalled": { - "one": "{} és 1 további alkalmazás is frissült.", - "other": "{} és {} további alkalmazás is frissült." + "one": "A(z) {}, valamint 1 további alkalmazás sikeresen frissítve.", + "other": "A(z) {}, valamint {} további alkalmazás sikeresen frissítve." }, "apk": { "one": "{} APK", - "other": "{} APK-k" + "other": "{} APK" } } From 986badc653bb2c1fd8250d4501cb0bea098f8302 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Mon, 9 Sep 2024 17:45:04 +0200 Subject: [PATCH 02/50] Update hu.json fixing a typo --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 3411faa..db33b68 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -129,7 +129,7 @@ "pinUpdates": "Frissítések kitűzése az alkalmazásnézet tetejére", "updates": "Frissítések", "sourceSpecific": "Forrásspecifikus", - "appSource": "Alkalmazás forrás", + "appSource": "Alkalmazás forrása", "noLogs": "Nincsenek naplók", "appLogs": "Alkalmazás naplók", "close": "Bezárás", From eb1d997413f11345eda2c7d6b7371bea0e99efc7 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Mon, 9 Sep 2024 17:46:10 +0200 Subject: [PATCH 03/50] Update hu.json fixing a translation word --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index db33b68..0faa7d2 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -41,7 +41,7 @@ "appSourceURL": "Alkalmazás forrásának hivatkozása", "error": "Hiba", "add": "Hozzáadás", - "searchSomeSourcesLabel": "Keresés (csak egyes források)", + "searchSomeSourcesLabel": "Keresés (csak bizonyos források)", "search": "Keresés", "additionalOptsFor": "További lehetőségek a következőhöz: {}", "supportedSources": "Támogatott források", From cb80b80efbc125cd67a10487577d9661fc2c0eae Mon Sep 17 00:00:00 2001 From: summoner001 Date: Mon, 9 Sep 2024 17:47:46 +0200 Subject: [PATCH 04/50] Update hu.json fixing a typo --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 0faa7d2..1e604b5 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -80,7 +80,7 @@ "shareSelectedAppURLs": "A kiválasztott alkalmazás hivatkozásának megosztása", "resetInstallStatus": "Telepítési állapot visszaállítása", "more": "További", - "removeOutdatedFilter": "Elavult alkalmazásszűrő eltávolítása", + "removeOutdatedFilter": "Elavult-alkalmazás szűrő eltávolítása", "showOutdatedOnly": "Csak az elavult alkalmazások megjelenítése", "filter": "Szűrő", "filterApps": "Alkalmazások szűrése", From 8aa682028fdd793f11e94d8930f3ea104ea57ead Mon Sep 17 00:00:00 2001 From: summoner001 Date: Mon, 9 Sep 2024 19:17:00 +0200 Subject: [PATCH 05/50] Update hu.json Translating the "regex" word --- assets/translations/hu.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 1e604b5..4f7ecd5 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -258,10 +258,10 @@ "exemptFromBackgroundUpdates": "Mentes a háttérben történő frissítések alól (ha engedélyezett)", "bgUpdatesOnWiFiOnly": "A háttérben futó frissítések letiltása, ha nincs Wi-Fi", "autoSelectHighestVersionCode": "A legmagasabb verziószámú APK automatikus kiválasztása", - "versionExtractionRegEx": "Verziókarakterlánc-kivonatolás ezzel: RegEx", - "trimVersionString": "Verziókarakterlánc levágása ezzel: RegEx", + "versionExtractionRegEx": "Verziókarakterlánc-kivonatolása reguláris kifejezéssel", + "trimVersionString": "Verziókarakterlánc levágása reguláris kifejezéssel", "matchGroupToUseForX": "A(z) „{}” esetén használandó csoport egyeztetése", - "matchGroupToUse": "Verziókarakterlánc-kivonatoláshoz használandó csoport RegEx egyeztetése", + "matchGroupToUse": "Verziókarakterlánc-kivonatoláshoz használandó csoport reguláris kifejezéssel való egyeztetése", "highlightTouchTargets": "A kevésbé nyilvánvaló érintési pontok kiemelése", "pickExportDir": "Válassza ki a könyvtárat, ahová exportálni szeretne", "autoExportOnChanges": "Automatikus exportálás a változások után", @@ -275,7 +275,7 @@ "debugMenu": "Hibakereső menü", "bgTaskStarted": "A háttérfeladat elindult – ellenőrizze a naplókat.", "runBgCheckNow": "Frissítések keresése a háttérben", - "versionExtractWholePage": "Verziókarakterlánc-kivonatolás ezzel: Regex alkalmazása az egész oldalra", + "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", @@ -293,7 +293,7 @@ "useShizuku": "Shizuku vagy Sui használata a telepítéshez", "shizukuBinderNotFound": "A Shizuku szolgáltatás nem fut", "shizukuOld": "Régi Shizuku verzió (<11) - frissítse", - "shizukuOldAndroidWithADB": "Shizuku csak Android < 8.1 ADB-vel fut - frissítse az Androidot vagy használja a Sui-t helyette", + "shizukuOldAndroidWithADB": "A Shizuku csak Android < 8.1 ADB-vel fut - frissítse az Androidot vagy használja a Sui-t helyette", "shizukuPretendToBeGooglePlay": "Állítsa be a Google Playt telepítési forrásként (ha Shizukut használ)", "useSystemFont": "A rendszer betűtípusának használata", "useVersionCodeAsOSVersion": "Az alkalmazás verziókódjának használata a rendszer által észlelt verzióként", From 9dba2402022e73d26ca8f8338be33c7f6823eda0 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Mon, 9 Sep 2024 19:25:39 +0200 Subject: [PATCH 06/50] Update hu.json Fixing sentences --- assets/translations/hu.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 4f7ecd5..53a3c0e 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -131,7 +131,7 @@ "sourceSpecific": "Forrásspecifikus", "appSource": "Alkalmazás forrása", "noLogs": "Nincsenek naplók", - "appLogs": "Alkalmazás naplók", + "appLogs": "Alkalmazásnaplók", "close": "Bezárás", "share": "Megosztás", "appNotFound": "Az alkalmazás nem található", @@ -223,7 +223,7 @@ "groupByCategory": "Csoportosítás kategória alapján", "autoApkFilterByArch": "Ha lehetséges, próbálja CPU architektúra szerint szűrni az APK-kat", "overrideSource": "Forrás felülírása", - "dontShowAgain": "Ne jelenítse meg ezt újra", + "dontShowAgain": "Ne jelenítse meg ezt többé", "dontShowTrackOnlyWarnings": "Ne jelenítsen meg „Csak nyomonkövetés” figyelmeztetést", "dontShowAPKOriginWarnings": "Ne jelenítsen meg az APK eredetére vonatkozó figyelmeztetéseket", "moveNonInstalledAppsToBottom": "Helyezze át a nem telepített alkalmazásokat az alkalmazás-nézet aljára", @@ -241,7 +241,7 @@ "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 sebességkorlátozás elkerülhető egy API-kulcs használatával.", - "sortByLastLinkSegment": "Rendezés csak a link utolsó szegmense szerint", + "sortByLastLinkSegment": "Rendezés csak a hivatkozás utolsó szegmense 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$”)", "appsPossiblyUpdated": "Megkísérelt alkalmazás-frissítések", @@ -308,7 +308,7 @@ "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őek bármilyen forrás saját üzemeltetésű- / egyéni példányai.", + "selfHostedNote": "A(z) „{}” legördülő menü segítségével elérhetővé válnak a bármilyen 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.", From 845cf0a035187c8a9c1c820350cc9774d681f0a3 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Mon, 9 Sep 2024 19:31:34 +0200 Subject: [PATCH 07/50] Update hu.json Fixing sentence --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 53a3c0e..5c26c7e 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -141,7 +141,7 @@ "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 „{}”, de a kiadási csomag innen származik: „{}”. Folytatja?", + "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", "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.", From 64779fb55a7b59466a55f0a1bc8b6fda93dd2636 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Tue, 10 Sep 2024 10:51:52 +0200 Subject: [PATCH 08/50] Update hu.json fixing access token and api key translation --- assets/translations/hu.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 5c26c7e..2f66ed4 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -11,7 +11,7 @@ "unexpectedError": "Váratlan hiba", "ok": "Rendben", "and": "és", - "githubPATLabel": "GitHub személyes hozzáférési token (megnöveli a sebességkorlátozást)", + "githubPATLabel": "GitHub személyes hozzáférési token (megnöveli lekérdezés-korlátozást)", "includePrereleases": "Tartalmazza az előzetes kiadásokat", "fallbackToOlderReleases": "Visszatérés a régebbi kiadásokhoz", "filterReleaseTitlesByRegEx": "A kiadás címeinek szűrése reguláris kifejezéssel", @@ -240,7 +240,7 @@ "minStarCount": "Minimális csillag szám", "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 sebességkorlátozás elkerülhető egy API-kulcs használatával.", + "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", "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$”)", @@ -320,8 +320,8 @@ "other": "Eltávolítja az alkalmazásokat?" }, "tooManyRequestsTryAgainInMinutes": { - "one": "Túl sok kérés (korlátozott arány) – próbálja újra {} perc múlva", - "other": "Túl sok kérés (korlátozott arány) – próbálja újra {} perc múlva" + "one": "Túl sok kérés (lekérdezés-korlátozás) – próbálja újra {} perc múlva,\nvagy adjon meg egy GitHub/GitLab API-kulcsot", + "other": "Túl sok kérés (lekérdezés-korlátozás) – próbálja újra {} perc múlva,\nvagy adjon meg egy GitHub/GitLab API-kulcsot" }, "bgUpdateGotErrorRetryInMinutes": { "one": "Frissítések ellenőrzése a háttérben a következőt észlelte: {} - Újrapróbálkozás: {} perc múlva", From b98c23e369701bcdb421fad8b93dcd259c6c2653 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Tue, 10 Sep 2024 10:53:27 +0200 Subject: [PATCH 09/50] Update hu.json fixing a typo --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 2f66ed4..a9f7749 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -11,7 +11,7 @@ "unexpectedError": "Váratlan hiba", "ok": "Rendben", "and": "és", - "githubPATLabel": "GitHub személyes hozzáférési token (megnöveli lekérdezés-korlátozást)", + "githubPATLabel": "GitHub személyes hozzáférési token (megnöveli a lekérdezés-korlátozást)", "includePrereleases": "Tartalmazza az előzetes kiadásokat", "fallbackToOlderReleases": "Visszatérés a régebbi kiadásokhoz", "filterReleaseTitlesByRegEx": "A kiadás címeinek szűrése reguláris kifejezéssel", From 69f2ec177760d24ef3e62a93948c919f51f9ae62 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sun, 15 Sep 2024 17:11:06 +0200 Subject: [PATCH 10/50] Update hu.json Fixing the hungarian translation --- assets/translations/hu.json | 44 ++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index a9f7749..a52e4e5 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -55,14 +55,14 @@ "pleaseWait": "Kis türelmet", "updateAvailable": "Frissítés érhető el", "notInstalled": "Nem telepített", - "pseudoVersion": "ál-verzió", + "pseudoVersion": "pszeudo-verzió", "selectAll": "Mindet kiválaszt", "deselectX": "{} kijelölésének elvetése", "xWillBeRemovedButRemainInstalled": "A(z) {} el lesz távolítva az Obtainiumból, de továbbra is telepítve marad az eszközön.", "removeSelectedAppsQuestion": "A kiválasztott alkalmazások eltávolítása?", "removeSelectedApps": "A kiválasztott alkalmazások eltávolítása", - "updateX": "Frissítés: {}", - "installX": "Telepítés: {}", + "updateX": "A(z) {} frissítése", + "installX": "A(z) {} telepítése", "markXTrackOnlyAsUpdated": "Megjelölés: {}\n(Csak nyomon követhető)\nmint Frissített", "changeX": "{} változtatás", "installUpdateApps": "Alkalmazások telepítése/frissítése", @@ -112,7 +112,7 @@ "theme": "Téma", "dark": "Sötét", "light": "Világos", - "followSystem": "Rendszer szerint", + "followSystem": "Rendszerbeállítás használata", "followSystemThemeExplanation": "A következő rendszer téma csak harmadik féltől származó alkalmazások használatával lehetséges", "useBlackTheme": "Használjon teljesen fekete sötét témát", "appSortBy": "Elrendezés", @@ -224,8 +224,8 @@ "autoApkFilterByArch": "Ha lehetséges, próbálja CPU architektúra szerint szűrni az APK-kat", "overrideSource": "Forrás felülírása", "dontShowAgain": "Ne jelenítse meg ezt többé", - "dontShowTrackOnlyWarnings": "Ne jelenítsen meg „Csak nyomonkövetés” figyelmeztetést", - "dontShowAPKOriginWarnings": "Ne jelenítsen meg az APK eredetére vonatkozó figyelmeztetéseket", + "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", "gitlabPATLabel": "GitLab személyes hozzáférési token", "about": "Névjegy", @@ -237,7 +237,7 @@ "checkUpdateOnDetailPage": "Frissítések keresése az alkalmazás részleteit tartalmazó oldal megnyitásakor", "disablePageTransitions": "Lap áttűnési animációk letiltása", "reversePageTransitions": "Fordított lap áttűnési animációk", - "minStarCount": "Minimális csillag szám", + "minStarCount": "Minimális csillagozási szám", "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.", @@ -246,7 +246,7 @@ "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": "{} frissítve lehet erre {}.", + "xWasPossiblyUpdatedToY": "A(z) {} frissülhetett a következőre: {}.", "enableBackgroundUpdates": "Háttérfrissítések engedélyezése", "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.", @@ -283,7 +283,7 @@ "appsPossiblyUpdatedNotifChannel": "Megkísérelt alkalmazás-frissítések", "errorCheckingUpdatesNotifChannel": "Hiba a frissítések keresésekor", "appsRemovedNotifChannel": "Eltávolított alkalmazások", - "downloadingXNotifChannel": "{} letöltése", + "downloadingXNotifChannel": "A(z) {} letöltése", "completeAppInstallationNotifChannel": "Teljes alkalmazás telepítés", "checkingForUpdatesNotifChannel": "Frissítések keresése", "onlyCheckInstalledOrTrackOnlyApps": "Csak a telepített és a csak nyomonkövethető alkalmazások frissítéseinek ellenőrzése", @@ -299,16 +299,16 @@ "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 álverziós módszer", - "partialAPKHash": "Részleges APK hasító érték", - "APKLinkHash": "APK hivatkozás hasító érték", + "defaultPseudoVersioningMethod": "Alapértelmezett pszeudo-verzió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 álverzió van használatban", + "pseudoVersionInUse": "Egy pszeudo-verzió 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 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.", @@ -340,20 +340,20 @@ "other": "{} hivatkozás" }, "minute": { - "one": "{} perc", - "other": "{} perc" + "one": "{} percenként", + "other": "{} percenként" }, "hour": { - "one": "{} óra", - "other": "{} óra" + "one": "{} óránként", + "other": "{} óránként" }, "day": { - "one": "{} nap", - "other": "{} nap" + "one": "{} naponta", + "other": "{} naponta" }, "clearedNLogsBeforeXAfterY": { - "one": "{n} napló törölve lett (előtte = {before}, utána = {after})", - "other": "{n} napló törölve lett (előtte = {before}, utána = {after})" + "one": "{n} napló törölve lett ({after} után és {before} előtt)", + "other": "{n} napló törölve lett ({after} után és {before} előtt)" }, "xAndNMoreUpdatesAvailable": { "one": "A(z) {} és 1 további alkalmazás frissítést kapott.", From 204eadd8090c9f7bb1539443ee1ff604e3b8b8ec Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sat, 21 Sep 2024 17:23:00 +0200 Subject: [PATCH 11/50] Update hu.json Minor sentence fixes --- assets/translations/hu.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index a52e4e5..2341a8b 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -56,8 +56,8 @@ "updateAvailable": "Frissítés érhető el", "notInstalled": "Nem telepített", "pseudoVersion": "pszeudo-verzió", - "selectAll": "Mindet kiválaszt", - "deselectX": "{} kijelölésének elvetése", + "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.", "removeSelectedAppsQuestion": "A kiválasztott alkalmazások eltávolítása?", "removeSelectedApps": "A kiválasztott alkalmazások eltávolítása", @@ -122,7 +122,7 @@ "appSortOrder": "Rendezési sorrend", "ascending": "Emelkedő", "descending": "Csökkenő", - "bgUpdateCheckInterval": "Frissítéskeresés időköze a háttérben", + "bgUpdateCheckInterval": "Időtartam a frissítések háttér-ellenőrzése között", "neverManualOnly": "Soha – csak kézi", "appearance": "Megjelenés", "showWebInAppView": "Forrás megjelenítése az alkalmazásnézetben", @@ -340,16 +340,16 @@ "other": "{} hivatkozás" }, "minute": { - "one": "{} percenként", - "other": "{} percenként" + "one": "{} perc", + "other": "{} perc" }, "hour": { - "one": "{} óránként", - "other": "{} óránként" + "one": "{} óra", + "other": "{} óra" }, "day": { - "one": "{} naponta", - "other": "{} naponta" + "one": "{} nap", + "other": "{} nap" }, "clearedNLogsBeforeXAfterY": { "one": "{n} napló törölve lett ({after} után és {before} előtt)", From f3481f94dd4b3adf1da50477fbbc636a0cac8d7c Mon Sep 17 00:00:00 2001 From: Giannis Lagodimos <62063308+lagodimos@users.noreply.github.com> Date: Sun, 22 Sep 2024 22:50:17 +0300 Subject: [PATCH 12/50] format exported json Make the exported applications' file more readable in case it is needed to be opened with a text editor. --- lib/providers/apps_provider.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/providers/apps_provider.dart b/lib/providers/apps_provider.dart index d1b968d..2f17835 100644 --- a/lib/providers/apps_provider.dart +++ b/lib/providers/apps_provider.dart @@ -1598,12 +1598,13 @@ class AppsProvider with ChangeNotifier { } String? returnPath; if (!pickOnly) { + var encoder = const JsonEncoder.withIndent(" "); Map finalExport = generateExportJSON(); var result = await saf.createFile(exportDir, displayName: '${tr('obtainiumExportHyphenatedLowercase')}-${DateTime.now().toIso8601String().replaceAll(':', '-')}${isAuto ? '-auto' : ''}.json', mimeType: 'application/json', - bytes: Uint8List.fromList(utf8.encode(jsonEncode(finalExport)))); + bytes: Uint8List.fromList(utf8.encode(encoder.convert(finalExport)))); if (result == null) { throw ObtainiumError(tr('unexpectedError')); } From 70988a91fd09b2b345aa1d3db782f3c9aea50c54 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Wed, 25 Sep 2024 10:21:03 +0200 Subject: [PATCH 13/50] Update hu.json fixing translation of URL --- assets/translations/hu.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 2341a8b..ed4c4d9 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -1,8 +1,8 @@ { - "invalidURLForSource": "Érvénytelen a(z) {} alkalmazás hivatkozása", + "invalidURLForSource": "Érvénytelen a(z) {} alkalmazás webcíme", "noReleaseFound": "Nem található megfelelő kiadás", "noVersionFound": "Nem sikerült meghatározni a kiadás verzióját", - "urlMatchesNoSource": "A hivatkozás nem egyezik egyetlen ismert forrással sem", + "urlMatchesNoSource": "A webcím nem egyezik egyetlen ismert forrással sem", "cantInstallOlderVersion": "Nem telepíthető egy alkalmazás régebbi verziója", "appIdMismatch": "A letöltött csomagazonosító nem egyezik a meglévő alkalmazás azonosítójával", "functionNotImplemented": "Ebben az ágban nincs implementálva ez a funkció", @@ -38,7 +38,7 @@ "appAlreadyAdded": "Az alkalmazás már hozzá van adva", "alreadyUpToDateQuestion": "Az alkalmazás már naprakész?", "addApp": "Hozzáadás", - "appSourceURL": "Alkalmazás forrásának hivatkozása", + "appSourceURL": "Alkalmazás forrásának webcíme", "error": "Hiba", "add": "Hozzáadás", "searchSomeSourcesLabel": "Keresés (csak bizonyos források)", @@ -95,9 +95,9 @@ "invalidInput": "Hibás bemenet", "importedX": "Importálva innen: {}", "obtainiumImport": "Obtainium adatok importálása", - "importFromURLList": "Importálás hivatkozás-listából", + "importFromURLList": "Importálás webcím-listából", "searchQuery": "Keresési lekérdezés", - "appURLList": "Alkalmazás-hivatkozáslista", + "appURLList": "Alkalmazás webcím-lista", "line": "Sor", "searchX": "{} keresése", "noResults": "Nincs találat", @@ -105,9 +105,9 @@ "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..", "importErrors": "Importálási hibák", "importedXOfYApps": "{}/{} alkalmazás importálva.", - "followingURLsHadErrors": "A következő hivatkozások hibákat tartalmaztak:", - "selectURL": "Válassza ki a hivatkozást", - "selectURLs": "Kiválasztott hivatkozások", + "followingURLsHadErrors": "A következő webcímek hibákat tartalmaztak:", + "selectURL": "Webcím kiválasztása", + "selectURLs": "Webcímek kiválasztása", "pick": "Kiválasztás", "theme": "Téma", "dark": "Sötét", @@ -216,7 +216,7 @@ "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ó hivatkozásból (pl. OPML)", + "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", "versionDetection": "Verzióérzékelés", "standardVersionDetection": "Alapértelmezett verzióérzékelés", @@ -287,7 +287,7 @@ "completeAppInstallationNotifChannel": "Teljes alkalmazás telepítés", "checkingForUpdatesNotifChannel": "Frissítések keresése", "onlyCheckInstalledOrTrackOnlyApps": "Csak a telepített és a csak nyomonkövethető alkalmazások frissítéseinek ellenőrzése", - "supportFixedAPKURL": "Támogatja a rögzített APK hivatkozásokat", + "supportFixedAPKURL": "Támogatja a rögzített APK webcímeket", "selectX": "{} kiválasztása", "parallelDownloads": "Párhuzamos letöltések engedélyezése", "useShizuku": "Shizuku vagy Sui használata a telepítéshez", @@ -336,8 +336,8 @@ "other": "{} alkalmazás" }, "url": { - "one": "{} hivatkozás", - "other": "{} hivatkozás" + "one": "{} webcím", + "other": "{} webcím" }, "minute": { "one": "{} perc", From 5d72af5b2034e23e19529d0374f706ec955e9710 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 27 Sep 2024 18:28:37 -0400 Subject: [PATCH 14/50] Add Tencent App Store (#1848) --- README.md | 1 + lib/app_sources/tencent.dart | 78 ++++++++++++++++++++++++++++++ lib/providers/source_provider.dart | 14 ++++-- 3 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 lib/app_sources/tencent.dart diff --git a/README.md b/README.md index 15720dc..471207f 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ Currently supported App sources: - [Aptoide](https://aptoide.com/) - [Uptodown](https://uptodown.com/) - [Huawei AppGallery](https://appgallery.huawei.com/) + - [Tencent App Store](https://sj.qq.com/) - Jenkins Jobs - [APKMirror](https://apkmirror.com/) (Track-Only) - Open Source - App-Specific: diff --git a/lib/app_sources/tencent.dart b/lib/app_sources/tencent.dart new file mode 100644 index 0000000..6552498 --- /dev/null +++ b/lib/app_sources/tencent.dart @@ -0,0 +1,78 @@ +import 'dart:convert'; + +import 'package:obtainium/custom_errors.dart'; +import 'package:obtainium/providers/source_provider.dart'; + +class Tencent extends AppSource { + Tencent() { + name = 'Tencent App Store'; + hosts = ['sj.qq.com']; + naiveStandardVersionDetection = true; + showReleaseDateAsVersionToggle = true; + } + + @override + String sourceSpecificStandardizeURL(String url, {bool forSelection = false}) { + RegExp standardUrlRegEx = RegExp( + '^https?://${getSourceRegex(hosts)}/appdetail/[^/]+', + caseSensitive: false); + var match = standardUrlRegEx.firstMatch(url); + if (match == null) { + throw InvalidURLError(name); + } + return match.group(0)!; + } + + @override + Future tryInferringAppId(String standardUrl, + {Map additionalSettings = const {}}) async { + return Uri.parse(standardUrl).pathSegments.last; + } + + @override + Future getLatestAPKDetails( + String standardUrl, + Map additionalSettings, + ) async { + String appId = (await tryInferringAppId(standardUrl))!; + String baseHost = Uri.parse(standardUrl) + .host + .split('.') + .reversed + .toList() + .sublist(0, 2) + .reversed + .join('.'); + + var res = await sourceRequest( + 'https://upage.html5.$baseHost/wechat-apkinfo', additionalSettings, + followRedirects: false, postBody: {"packagename": appId}); + + if (res.statusCode == 200) { + var json = jsonDecode(res.body); + if (json['app_detail_records'][appId] == null) { + throw NoReleasesError(); + } + var version = + json['app_detail_records'][appId]['apk_all_data']['version_name']; + var apkUrl = json['app_detail_records'][appId]['apk_all_data']['url']; + if (apkUrl == null) { + throw NoAPKError(); + } + var appName = json['app_detail_records'][appId]['app_info']['name']; + var author = json['app_detail_records'][appId]['app_info']['author']; + var releaseDate = + json['app_detail_records'][appId]['app_info']['update_time']; + + return APKDetails( + version, + [MapEntry(Uri.parse(apkUrl).queryParameters['fsname']!, apkUrl)], + AppNames(author, appName), + releaseDate: releaseDate != null + ? DateTime.fromMillisecondsSinceEpoch(releaseDate * 1000) + : null); + } else { + throw getObtainiumHttpError(res); + } + } +} diff --git a/lib/providers/source_provider.dart b/lib/providers/source_provider.dart index 43b90ba..3c59297 100644 --- a/lib/providers/source_provider.dart +++ b/lib/providers/source_provider.dart @@ -28,6 +28,7 @@ import 'package:obtainium/app_sources/sourceforge.dart'; import 'package:obtainium/app_sources/sourcehut.dart'; import 'package:obtainium/app_sources/steammobile.dart'; import 'package:obtainium/app_sources/telegramapp.dart'; +import 'package:obtainium/app_sources/tencent.dart'; import 'package:obtainium/app_sources/uptodown.dart'; import 'package:obtainium/app_sources/vlc.dart'; import 'package:obtainium/app_sources/whatsapp.dart'; @@ -465,19 +466,25 @@ abstract class AppSource { Future sourceRequest( String url, Map additionalSettings, - {bool followRedirects = true}) async { + {bool followRedirects = true, Object? postBody}) async { var requestHeaders = await getRequestHeaders(additionalSettings); if (requestHeaders != null || followRedirects == false) { - var req = Request('GET', Uri.parse(url)); + var req = Request(postBody == null ? 'GET' : 'POST', Uri.parse(url)); req.followRedirects = followRedirects; if (requestHeaders != null) { req.headers.addAll(requestHeaders); } + if (postBody != null) { + req.headers[HttpHeaders.contentTypeHeader] = 'application/json'; + req.body = jsonEncode(postBody); + } return Response.fromStream(await IOClient( createHttpClient(additionalSettings['allowInsecure'] == true)) .send(req)); } else { - return get(Uri.parse(url)); + return postBody == null + ? get(Uri.parse(url)) + : post(Uri.parse(url), body: jsonEncode(postBody)); } } @@ -782,6 +789,7 @@ class SourceProvider { Aptoide(), Uptodown(), HuaweiAppGallery(), + Tencent(), Jenkins(), APKMirror(), Signal(), From cad14dd6a4bc71481dee179c81abf6c7f6ac6e33 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 27 Sep 2024 18:34:52 -0400 Subject: [PATCH 15/50] Update Flutter, upgrade packages --- .flutter | 2 +- pubspec.lock | 64 ++++++++++++++++++++++++++-------------------------- pubspec.yaml | 4 ++-- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/.flutter b/.flutter index 4cf269e..2663184 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit 4cf269e36de2573851eaef3c763994f8f9be494d +Subproject commit 2663184aa79047d0a33a14a3b607954f8fdd8730 diff --git a/pubspec.lock b/pubspec.lock index b600543..2137698 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -103,10 +103,10 @@ packages: dependency: "direct main" description: name: background_fetch - sha256: f910c1c7c67a55f242daf78e9e9835d26eb01d39fc7f5d77f57dd84d009a6bab + sha256: e9f26ae54d88310b7ac2a68f2f9fcee0081a4d5f11100f233a70702021e7ac4f url: "https://pub.dev" source: hosted - version: "1.3.6" + version: "1.3.7" boolean_selector: dependency: transitive description: @@ -303,18 +303,18 @@ packages: dependency: "direct main" description: name: flex_color_picker - sha256: "809af4ec82ede3b140ed0219b97d548de99e47aa4b99b14a10f705a2dbbcba5e" + sha256: "12dc855ae8ef5491f529b1fc52c655f06dcdf4114f1f7fdecafa41eec2ec8d79" url: "https://pub.dev" source: hosted - version: "3.5.1" + version: "3.6.0" flex_seed_scheme: dependency: transitive description: name: flex_seed_scheme - sha256: "7d97ba5c20f0e5cb1e3e2c17c865e1f797d129de31fc1f75d2dcce9470d6373c" + sha256: "7639d2c86268eff84a909026eb169f008064af0fb3696a651b24b0fa24a40334" url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.4.1" flutter: dependency: "direct main" description: flutter @@ -388,26 +388,26 @@ packages: dependency: "direct dev" description: name: flutter_launcher_icons - sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" + sha256: "619817c4b65b322b5104b6bb6dfe6cda62d9729bd7ad4303ecc8b4e690a67a77" url: "https://pub.dev" source: hosted - version: "0.13.1" + version: "0.14.1" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.0.0" flutter_local_notifications: dependency: "direct main" description: name: flutter_local_notifications - sha256: c500d5d9e7e553f06b61877ca6b9c8b92c570a4c8db371038702e8ce57f8a50f + sha256: "49eeef364fddb71515bc78d5a8c51435a68bccd6e4d68e25a942c5e47761ae71" url: "https://pub.dev" source: hosted - version: "17.2.2" + version: "17.2.3" flutter_local_notifications_linux: dependency: transitive description: @@ -433,10 +433,10 @@ packages: dependency: "direct main" description: name: flutter_markdown - sha256: a23c41ee57573e62fc2190a1f36a0480c4d90bde3a8a8d7126e5d5992fb53fb7 + sha256: e17575ca576a34b46c58c91f9948891117a1bd97815d2e661813c7f90c647a78 url: "https://pub.dev" source: hosted - version: "0.7.3+1" + version: "0.7.3+2" flutter_plugin_android_lifecycle: dependency: transitive description: @@ -571,10 +571,10 @@ packages: dependency: transitive description: name: lints - sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + sha256: "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.0.0" markdown: dependency: "direct main" description: @@ -723,10 +723,10 @@ packages: dependency: transitive description: name: permission_handler_platform_interface - sha256: fe0ffe274d665be8e34f9c59705441a7d248edebbe5d9e3ec2665f88b79358ea + sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9 url: "https://pub.dev" source: hosted - version: "4.2.2" + version: "4.2.3" permission_handler_windows: dependency: transitive description: @@ -913,18 +913,18 @@ packages: dependency: "direct main" description: name: sqflite - sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d + sha256: ff5a2436ef8ebdfda748fbfe957f9981524cb5ff11e7bafa8c42771840e8a788 url: "https://pub.dev" source: hosted - version: "2.3.3+1" + version: "2.3.3+2" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "7b41b6c3507854a159e24ae90a8e3e9cc01eb26a477c118d6dca065b5f55453e" + sha256: "2d8e607db72e9cb7748c9c6e739e2c9618320a5517de693d5a24609c4671b1a4" url: "https://pub.dev" source: hosted - version: "2.5.4+2" + version: "2.5.4+4" stack_trace: dependency: transitive description: @@ -953,10 +953,10 @@ packages: dependency: transitive description: name: synchronized - sha256: a824e842b8a054f91a728b783c177c1e4731f6b124f9192468457a8913371255 + sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.3.0+3" term_glyph: dependency: transitive description: @@ -1025,10 +1025,10 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" + sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.1" url_launcher_platform_interface: dependency: transitive description: @@ -1057,10 +1057,10 @@ packages: dependency: transitive description: name: uuid - sha256: f33d6bb662f0e4f79dcd7ada2e6170f3b3a2530c28fc41f49a411ddedd576a77 + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff url: "https://pub.dev" source: hosted - version: "4.5.0" + version: "4.5.1" vector_math: dependency: transitive description: @@ -1081,10 +1081,10 @@ packages: dependency: transitive description: name: web - sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062 + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.1.0" webview_flutter: dependency: "direct main" description: @@ -1129,10 +1129,10 @@ packages: dependency: transitive description: name: win32_registry - sha256: "723b7f851e5724c55409bb3d5a32b203b3afe8587eaf5dafb93a5fed8ecda0d6" + sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" url: "https://pub.dev" source: hosted - version: "1.1.4" + version: "1.1.5" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 3a66aed..c9d0f8a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -84,14 +84,14 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_launcher_icons: ^0.13.1 + flutter_launcher_icons: ^0.14.1 # The "flutter_lints" package below contains a set of recommended lints to # encourage good coding practices. The lint set provided by the package is # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^4.0.0 + flutter_lints: ^5.0.0 flutter_launcher_icons: android: "ic_launcher" From 77bebc48bcd878787e743ea9f9ca15eea2f9da3a Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 27 Sep 2024 19:01:57 -0400 Subject: [PATCH 16/50] Enable icon caching (#1837) --- lib/pages/app.dart | 3 ++- lib/pages/apps.dart | 2 ++ lib/providers/apps_provider.dart | 26 +++++++++++++++++++++++--- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/lib/pages/app.dart b/lib/pages/app.dart index cda1d8d..00a4b2e 100644 --- a/lib/pages/app.dart +++ b/lib/pages/app.dart @@ -248,7 +248,8 @@ class _AppPageState extends State { children: [ const SizedBox(height: 20), FutureBuilder( - future: appsProvider.updateAppIcon(app?.app.id), + future: + appsProvider.updateAppIcon(app?.app.id, ignoreCache: true), builder: (ctx, val) { return app?.icon != null ? Row( diff --git a/lib/pages/apps.dart b/lib/pages/apps.dart index d2086c9..505a98d 100644 --- a/lib/pages/apps.dart +++ b/lib/pages/apps.dart @@ -416,6 +416,8 @@ class AppsPageState extends State { ? Image.memory( listedApps[appIndex].icon!, gaplessPlayback: true, + opacity: AlwaysStoppedAnimation( + listedApps[appIndex].installedInfo == null ? 0.6 : 1), ) : Row( mainAxisSize: MainAxisSize.min, diff --git a/lib/providers/apps_provider.dart b/lib/providers/apps_provider.dart index 2f17835..a444ab0 100644 --- a/lib/providers/apps_provider.dart +++ b/lib/providers/apps_provider.dart @@ -375,6 +375,7 @@ class AppsProvider with ChangeNotifier { late Stream? foregroundStream; late StreamSubscription? foregroundSubscription; late Directory APKDir; + late Directory iconsCacheDir; late SettingsProvider settingsProvider = SettingsProvider(); Iterable getAppValues() => apps.values.map((a) => a.deepCopy()); @@ -393,12 +394,21 @@ class AppsProvider with ChangeNotifier { var cacheDirs = await getExternalCacheDirectories(); if (cacheDirs?.isNotEmpty ?? false) { APKDir = cacheDirs!.first; + iconsCacheDir = Directory('${cacheDirs.first.path}/icons'); + if (!iconsCacheDir.existsSync()) { + iconsCacheDir.createSync(); + } } else { APKDir = Directory('${(await getExternalStorageDirectory())!.path}/apks'); if (!APKDir.existsSync()) { APKDir.createSync(); } + iconsCacheDir = + Directory('${(await getExternalStorageDirectory())!.path}/icons'); + if (!iconsCacheDir.existsSync()) { + iconsCacheDir.createSync(); + } } if (!isBg) { // Load Apps into memory (in background processes, this is done later instead of in the constructor) @@ -1297,10 +1307,16 @@ class AppsProvider with ChangeNotifier { notifyListeners(); } - Future updateAppIcon(String? appId) async { + Future updateAppIcon(String? appId, {bool ignoreCache = false}) async { if (apps[appId]?.icon == null) { - var icon = - (await apps[appId]?.installedInfo?.applicationInfo?.getAppIcon()); + var cachedIcon = File('${iconsCacheDir.path}/$appId.png'); + var alreadyCached = cachedIcon.existsSync() && !ignoreCache; + var icon = alreadyCached + ? (await cachedIcon.readAsBytes()) + : (await apps[appId]?.installedInfo?.applicationInfo?.getAppIcon()); + if (icon != null && !alreadyCached) { + cachedIcon.writeAsBytes(icon.toList()); + } if (icon != null) { apps.update( apps[appId]!.app.id, @@ -1351,6 +1367,10 @@ class AppsProvider with ChangeNotifier { if (file.existsSync()) { file.deleteSync(recursive: true); } + File iconFile = File('$iconsCacheDir/$appId.png'); + if (iconFile.existsSync()) { + iconFile.deleteSync(recursive: true); + } apkFiles .where( (element) => element.path.split('/').last.startsWith('$appId-')) From dcf69578424f0ab43a794f42160f5de113102383 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 27 Sep 2024 19:02:54 -0400 Subject: [PATCH 17/50] Remove unused code --- lib/providers/apps_provider.dart | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/providers/apps_provider.dart b/lib/providers/apps_provider.dart index a444ab0..bea62d1 100644 --- a/lib/providers/apps_provider.dart +++ b/lib/providers/apps_provider.dart @@ -1367,10 +1367,6 @@ class AppsProvider with ChangeNotifier { if (file.existsSync()) { file.deleteSync(recursive: true); } - File iconFile = File('$iconsCacheDir/$appId.png'); - if (iconFile.existsSync()) { - iconFile.deleteSync(recursive: true); - } apkFiles .where( (element) => element.path.split('/').last.startsWith('$appId-')) From 10c558faaf9c76e6647ef6faf7c0257c36be9fb2 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 27 Sep 2024 19:03:17 -0400 Subject: [PATCH 18/50] Increment version --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index c9d0f8a..44371c6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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.21+2278 +version: 1.1.22+2279 environment: sdk: '>=3.0.0 <4.0.0' From e968d50aace62ec65fbab93e902e5b10e326c3d7 Mon Sep 17 00:00:00 2001 From: Mxhdee <85278288+mxhdee@users.noreply.github.com> Date: Sat, 28 Sep 2024 07:09:18 +0200 Subject: [PATCH 19/50] Update fa.json (Persian) --- assets/translations/fa.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/assets/translations/fa.json b/assets/translations/fa.json index 1c1c7cc..3d81cce 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -22,9 +22,9 @@ "requiredInBrackets": "(ضروری)", "dropdownNoOptsError": "خطا: کشویی باید حداقل یک گزینه داشته باشد", "colour": "رنگ", - "standard": "Standard", - "custom": "Custom", - "useMaterialYou": "Use Material You", + "standard": "استاندارد", + "custom": "سفارشی", + "useMaterialYou": "از Material You استفاده کنید", "githubStarredRepos": "مخازن ستاره دار گیتهاب", "uname": "نام کاربری", "wrongArgNum": "تعداد آرگومان های ارائه شده اشتباه است", @@ -259,8 +259,8 @@ "bgUpdatesOnWiFiOnly": "به‌روزرسانی‌های پس‌زمینه را در صورت عدم اتصال به WiFi غیرفعال کنید", "autoSelectHighestVersionCode": "انتخاب خودکار بالاترین نسخه کد APK", "versionExtractionRegEx": "نسخه استخراج RegEx", - "trimVersionString": "Trim Version String With RegEx", - "matchGroupToUseForX": "Match Group to Use for \"{}\"", + "trimVersionString": "برش رشته نسخه با RegEx", + "matchGroupToUseForX": "مطابقت دادن گروه برای استفاده برای \"{}\"", "matchGroupToUse": "گروه مورد استفاده را مطابقت دهید", "highlightTouchTargets": "اهداف لمسی کمتر واضح را برجسته کنید", "pickExportDir": "فهرست برون ریزی را انتخاب کنید", @@ -290,11 +290,11 @@ "supportFixedAPKURL": "پشتیبانی از URL های APK ثابت", "selectX": "انتخاب کنید {}", "parallelDownloads": "اجازه دانلود موازی", - "useShizuku": "Use Shizuku or Sui to install", + "useShizuku": "برای نصب از Shizuku یا Sui استفاده کنید", "shizukuBinderNotFound": "Shizuku در حال اجرا نیست", - "shizukuOld": "Old Shizuku version (<11) - update it", - "shizukuOldAndroidWithADB": "Shizuku running on Android < 8.1 with ADB - update Android or use Sui instead", - "shizukuPretendToBeGooglePlay": "Set Google Play as the installation source (if Shizuku is used)", + "shizukuOld": "نسخه قدیمی Shizuku (<11) - آن را به روز کنید", + "shizukuOldAndroidWithADB": "Shizuku در Android < 8.1 با ADB اجرا می شود - اندروید را به روز کنید یا به جای آن از Sui استفاده کنید", + "shizukuPretendToBeGooglePlay": "Google Play را به عنوان منبع نصب تنظیم کنید (در صورت استفاده از Shizuku)", "useSystemFont": "استفاده از فونت سیستم", "useVersionCodeAsOSVersion": "استفاده کد نسخه برنامه به جای نسخه شناسایی شده توسط سیستم عامل استفاده کنید", "requestHeader": "درخواست سطر بالایی", @@ -314,7 +314,7 @@ "appVerifierInstructionToast": "در AppVerifier به اشتراک بگذارید، سپس پس از آماده شدن به اینجا برگردید.", "wiki": "راهنما/ویکی", "crowdsourcedConfigsLabel": "تنظیمات برنامه Crowdsourced (با مسئولیت خود استفاده کنید)", - "allowInsecure": "Allow insecure HTTP requests", + "allowInsecure": "درخواست های HTTP ناامن را مجاز کنید", "removeAppQuestion": { "one": "برنامه حذف شود؟", "other": "برنامه ها حذف شوند؟" From 2002581106101f07ace8507fd3b17956fdcae78c Mon Sep 17 00:00:00 2001 From: Mxhdee <85278288+mxhdee@users.noreply.github.com> Date: Sat, 28 Sep 2024 07:26:47 +0200 Subject: [PATCH 20/50] Update fa.json (Persian) --- assets/translations/fa.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/assets/translations/fa.json b/assets/translations/fa.json index 3d81cce..7df4dfb 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -88,22 +88,22 @@ "author": "سازنده", "upToDateApps": "برنامه های به روز", "nonInstalledApps": "برنامه های نصب نشده", - "importExport": "درون ریزی/برون ریزی", + "importExport": "وارد کردن/صادر کردن", "settings": "تنظیمات", - "exportedTo": "برون ریزی به{}", - "obtainiumExport": "صادرکردن Obtainium", + "exportedTo": "صادر کردن به{}", + "obtainiumExport": "صادر کردن Obtainium", "invalidInput": "ورودی نامعتبر", "importedX": "وارد شده {}", - "obtainiumImport": "واردکردن Obtainium", - "importFromURLList": "درون ریزی از فهرست آدرس اینترنتی", + "obtainiumImport": "وارد کردن Obtainium", + "importFromURLList": "وارد کردن از فهرست آدرس اینترنتی", "searchQuery": "جستجوی سوال", "appURLList": "فهرست آدرس اینترنتی برنامه", "line": "خط", "searchX": "جستجو {}", "noResults": "نتیجه ای پیدا نشد", - "importX": "درون ریزی {}", + "importX": " وارد کردن {}", "importedAppsIdDisclaimer": "ممکن است برنامه‌های وارد شده به اشتباه به‌عنوان \"نصب نشده\" نشان داده شوند.\nبرای رفع این مشکل، آنها را دوباره از طریق Obtainium نصب کنید.\nاین نباید روی داده‌های برنامه تأثیر بگذارد.\n\nفقط بر روی آدرس اینترنتی و روش‌های درون ریزی شخص ثالث تأثیر می‌گذارد.", - "importErrors": "خطاهای درون ریزی", + "importErrors": "خطاهای وارد کردن", "importedXOfYApps": "{} از {} برنامه وارد شد.", "followingURLsHadErrors": "آدرس های اینترنتی زیر دارای خطا بودند:", "selectURL": "آدرس اینترنتی انتخاب شده", @@ -135,7 +135,7 @@ "close": "بستن", "share": "اشتراک گذاری", "appNotFound": "برنامه پیدا نشد", - "obtainiumExportHyphenatedLowercase": "برون ریزی-obtainium", + "obtainiumExportHyphenatedLowercase": "صادر کردن-obtainium", "pickAnAPK": "یک APK انتخاب کنید", "appHasMoreThanOnePackage": "{} بیش از یک بسته دارد:", "deviceSupportsXArch": "دستگاه شما از معماری پردازنده {} پشتیبانی میکند", @@ -216,7 +216,7 @@ "releaseDateAsVersionExplanation": "این گزینه فقط باید برای برنامه هایی استفاده شود که تشخیص نسخه به درستی کار نمی کند، اما تاریخ انتشار در دسترس است.", "changes": "تغییرات", "releaseDate": "تاریخ انتشار", - "importFromURLsInFile": "درون ریزی از آدرس های اینترنتی موجود در فایل (مانند OPML)", + "importFromURLsInFile": "وارد کردن از آدرس های اینترنتی موجود در فایل (مانند OPML)", "versionDetectionExplanation": "تطبیق رشته نسخه با نسخه شناسایی شده از سیستم عامل", "versionDetection": "تشخیص نسخه", "standardVersionDetection": "تشخیص نسخه استاندارد", @@ -263,8 +263,8 @@ "matchGroupToUseForX": "مطابقت دادن گروه برای استفاده برای \"{}\"", "matchGroupToUse": "گروه مورد استفاده را مطابقت دهید", "highlightTouchTargets": "اهداف لمسی کمتر واضح را برجسته کنید", - "pickExportDir": "فهرست برون ریزی را انتخاب کنید", - "autoExportOnChanges": "برون ریزی خودکار تغییرات", + "pickExportDir": "فهرست صادر کردن را انتخاب کنید", + "autoExportOnChanges": "صادر کردن خودکار تغییرات", "includeSettings": "شامل تنظیمات", "filterVersionsByRegEx": "فیلتر کردن نسخه ها با RegEx", "trySelectingSuggestedVersionCode": "نسخه پیشنهادی APK نسخه کد را انتخاب کنید", From ed3cff87cabde203ea5df6c938ec5b81c07a8a49 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sat, 28 Sep 2024 08:09:37 +0200 Subject: [PATCH 21/50] Update hu.json Fix unrecognized string escape in line 311 --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index ed4c4d9..925b38b 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -308,7 +308,7 @@ "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.", From 3d46237d175d7e4d7e5759485a696ffbd3947046 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sat, 28 Sep 2024 09:56:13 +0200 Subject: [PATCH 22/50] Update hu.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use „” commas without \ backslash in hungarian translation. --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 925b38b..964aba2 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -308,7 +308,7 @@ "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.", From ea6e0b37a33355d7c60d8b7a46b0cf481c058339 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sat, 28 Sep 2024 13:43:11 -0400 Subject: [PATCH 23/50] Increment version for bugfix release --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 44371c6..98fb300 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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.22+2279 +version: 1.1.23+2280 environment: sdk: '>=3.0.0 <4.0.0' From 33a7af216cecc83b24517fff386c1c2c16ed5610 Mon Sep 17 00:00:00 2001 From: robi Date: Sun, 29 Sep 2024 13:44:52 +0700 Subject: [PATCH 24/50] Corrected `versionCode` string to `version code` --- assets/translations/en.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/translations/en.json b/assets/translations/en.json index cea5156..f488718 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -257,7 +257,7 @@ "intermediateLink": "Intermediate link", "exemptFromBackgroundUpdates": "Exempt from background updates (if enabled)", "bgUpdatesOnWiFiOnly": "Disable background updates when not on WiFi", - "autoSelectHighestVersionCode": "Auto-select highest versionCode APK", + "autoSelectHighestVersionCode": "Auto-select highest version code APK", "versionExtractionRegEx": "Version String Extraction RegEx", "trimVersionString": "Trim Version String With RegEx", "matchGroupToUseForX": "Match Group to Use for \"{}\"", @@ -267,7 +267,7 @@ "autoExportOnChanges": "Auto-export on changes", "includeSettings": "Include settings", "filterVersionsByRegEx": "Filter Versions by Regular Expression", - "trySelectingSuggestedVersionCode": "Try selecting suggested versionCode APK", + "trySelectingSuggestedVersionCode": "Try selecting suggested version code APK", "dontSortReleasesList": "Retain release order from API", "reverseSort": "Reverse sorting", "takeFirstLink": "Take first link", @@ -296,7 +296,7 @@ "shizukuOldAndroidWithADB": "Shizuku running on Android < 8.1 with ADB - update Android or use Sui instead", "shizukuPretendToBeGooglePlay": "Set Google Play as the installation source (if Shizuku is used)", "useSystemFont": "Use the system font", - "useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version", + "useVersionCodeAsOSVersion": "Use app version code as OS-detected version", "requestHeader": "Request header", "useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date", "defaultPseudoVersioningMethod": "Default Pseudo-Versioning Method", From 35caec61c53cc67fbe83cbfcf557c534d66fec4b Mon Sep 17 00:00:00 2001 From: robi Date: Sun, 29 Sep 2024 15:00:34 +0700 Subject: [PATCH 25/50] Add id.json file to support Indonesian language --- assets/translations/id.json | 378 ++++++++++++++++++++++++++++++++++++ 1 file changed, 378 insertions(+) create mode 100644 assets/translations/id.json diff --git a/assets/translations/id.json b/assets/translations/id.json new file mode 100644 index 0000000..1c842de --- /dev/null +++ b/assets/translations/id.json @@ -0,0 +1,378 @@ +{ + "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 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": "Language", + "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", + "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 simpulkan ID aplikasi dari kode sumber", + "removeOnExternalUninstall": "Secara otomatis menghapus 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": "Secara otomatis pilih 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", + "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 mendapat pembaruan.", + "other": "{} dan {} aplikasi lainnya mendapat 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" + } +} \ No newline at end of file From e2525eef743f397a63164a14879507cd9c888e58 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sun, 29 Sep 2024 16:09:48 +0200 Subject: [PATCH 26/50] Update hu.json Fix the coherence of the translation after viewing the text in the app. --- assets/translations/hu.json | 54 ++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 964aba2..6f759b2 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -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", + "asAdded": "Hozzáadottként", "appSortOrder": "Rendezési sorrend", "ascending": "Emelkedő", "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,12 @@ "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", "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 +226,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 +241,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 +251,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 +278,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 +299,22 @@ "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", "removeAppQuestion": { "one": "Eltávolítja az alkalmazást?", "other": "Eltávolítja az alkalmazásokat?" From d03c4dec4e28df8dcf89bcbef03f830e1e4e1057 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sun, 29 Sep 2024 16:19:04 +0200 Subject: [PATCH 27/50] Update hu.json Minor fix --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 6f759b2..6ee9bc9 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -118,7 +118,7 @@ "appSortBy": "Elrendezés", "authorName": "Szerző/Név", "nameAuthor": "Név/Szerző", - "asAdded": "Hozzáadottként", + "asAdded": "Hozzáadás dátuma", "appSortOrder": "Rendezési sorrend", "ascending": "Emelkedő", "descending": "Csökkenő", From ba167fed334f8fb40b351a0d0d17f9f219b9e46b Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sun, 29 Sep 2024 16:28:37 +0200 Subject: [PATCH 28/50] Update hu.json Minor fix --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 6ee9bc9..bd40512 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -119,7 +119,7 @@ "authorName": "Szerző/Név", "nameAuthor": "Név/Szerző", "asAdded": "Hozzáadás dátuma", - "appSortOrder": "Rendezési sorrend", + "appSortOrder": "Elrendezés sorrendje", "ascending": "Emelkedő", "descending": "Csökkenő", "bgUpdateCheckInterval": "Időtartam a frissítések háttérellenőrzése között", From 25ef35c13c0dce436949164952f9d613a9aab447 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Sun, 29 Sep 2024 16:30:13 +0200 Subject: [PATCH 29/50] Update hu.json Minor fix --- assets/translations/hu.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index bd40512..0e5a9b7 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -120,7 +120,7 @@ "nameAuthor": "Név/Szerző", "asAdded": "Hozzáadás dátuma", "appSortOrder": "Elrendezés sorrendje", - "ascending": "Emelkedő", + "ascending": "Növekvő", "descending": "Csökkenő", "bgUpdateCheckInterval": "Időtartam a frissítések háttérellenőrzése között", "neverManualOnly": "Soha – csak kézi", From e677d3179c5c61ff9aeaec621cdc589adf8058c9 Mon Sep 17 00:00:00 2001 From: Imran <30463115+ImranR98@users.noreply.github.com> Date: Sun, 29 Sep 2024 13:28:56 -0400 Subject: [PATCH 30/50] Revert changes to en.json --- assets/translations/en.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/translations/en.json b/assets/translations/en.json index f488718..661a035 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -257,7 +257,7 @@ "intermediateLink": "Intermediate link", "exemptFromBackgroundUpdates": "Exempt from background updates (if enabled)", "bgUpdatesOnWiFiOnly": "Disable background updates when not on WiFi", - "autoSelectHighestVersionCode": "Auto-select highest version code APK", + "autoSelectHighestVersionCode": "Auto-select highest versionCode APK", "versionExtractionRegEx": "Version String Extraction RegEx", "trimVersionString": "Trim Version String With RegEx", "matchGroupToUseForX": "Match Group to Use for \"{}\"", @@ -267,7 +267,7 @@ "autoExportOnChanges": "Auto-export on changes", "includeSettings": "Include settings", "filterVersionsByRegEx": "Filter Versions by Regular Expression", - "trySelectingSuggestedVersionCode": "Try selecting suggested version code APK", + "trySelectingSuggestedVersionCode": "Try selecting suggested versionCode APK", "dontSortReleasesList": "Retain release order from API", "reverseSort": "Reverse sorting", "takeFirstLink": "Take first link", @@ -296,7 +296,7 @@ "shizukuOldAndroidWithADB": "Shizuku running on Android < 8.1 with ADB - update Android or use Sui instead", "shizukuPretendToBeGooglePlay": "Set Google Play as the installation source (if Shizuku is used)", "useSystemFont": "Use the system font", - "useVersionCodeAsOSVersion": "Use app version code as OS-detected version", + "useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version", "requestHeader": "Request header", "useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date", "defaultPseudoVersioningMethod": "Default Pseudo-Versioning Method", @@ -375,4 +375,4 @@ "one": "{} APK", "other": "{} APKs" } -} \ No newline at end of file +} From b698947ecf11fca183c44a804eef17e4ef1696dd Mon Sep 17 00:00:00 2001 From: Imran <30463115+ImranR98@users.noreply.github.com> Date: Sun, 29 Sep 2024 13:29:25 -0400 Subject: [PATCH 31/50] Update en.json From 1b7c340e2c5511decabb6e174c360d562bfe51e3 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sun, 29 Sep 2024 13:35:40 -0400 Subject: [PATCH 32/50] Add Indonesian to language menu --- lib/main.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/main.dart b/lib/main.dart index 479f90c..50ef0f2 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -44,6 +44,7 @@ List> 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'; From 86540e703d3bbbe90f5b4c2db62de83f537fead7 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sun, 29 Sep 2024 13:36:20 -0400 Subject: [PATCH 33/50] Increment version --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 98fb300..a85ff2a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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.24+2281 environment: sdk: '>=3.0.0 <4.0.0' From 355425791890b02ff24ebc6ba56f7a571b3577c3 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Mon, 30 Sep 2024 16:43:19 -0400 Subject: [PATCH 34/50] Fix broken SourceHut source (#1864) --- lib/app_sources/sourcehut.dart | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/app_sources/sourcehut.dart b/lib/app_sources/sourcehut.dart index 51e98b5..fbe423d 100644 --- a/lib/app_sources/sourcehut.dart +++ b/lib/app_sources/sourcehut.dart @@ -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(); From 783e8029b6a402cd987e81777db45826ac448724 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Mon, 30 Sep 2024 16:47:58 -0400 Subject: [PATCH 35/50] Increment version --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index a85ff2a..cea583d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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.24+2281 +version: 1.1.25+2282 environment: sdk: '>=3.0.0 <4.0.0' From f4d27c849423d3e894f672db5762badb2e27e097 Mon Sep 17 00:00:00 2001 From: robi Date: Wed, 2 Oct 2024 00:24:58 +0700 Subject: [PATCH 36/50] Fix indonesian translation Co-authored-by: Kuching Neko --- assets/translations/id.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/assets/translations/id.json b/assets/translations/id.json index 1c842de..48219bf 100644 --- a/assets/translations/id.json +++ b/assets/translations/id.json @@ -154,7 +154,7 @@ "errorCheckingUpdates": "Kesalahan dalam memeriksa pembaruan", "errorCheckingUpdatesNotifDescription": "Notifikasi yang ditampilkan saat pemeriksaan pembaruan latar belakang gagal", "appsRemoved": "Aplikasi dihapus", - "appsRemovedNotifDescription": "Memberi tahu pengguna bahwa aplikasi aplikasi dihapus karena kesalahan saat memuatnya", + "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", @@ -204,7 +204,7 @@ "categoryDeleteWarning": "Semua aplikasi dalam kategori yang dihapus akan diatur sebagai tidak terkategori.", "addCategory": "Tambah kategori", "label": "Label", - "language": "Language", + "language": "Bahasa", "copiedToClipboard": "Disalin ke papan klip", "storagePermissionDenied": "Izin penyimpanan ditolak", "selectedCategorizeWarning": "Ini akan mengganti pengaturan kategori yang ada untuk aplikasi terpilih.", @@ -231,8 +231,8 @@ "about": "Tentang", "requiresCredentialsInSettings": "{} memerlukan kredensial tambahan (dalam pengaturan)", "checkOnStart": "Periksa pembaruan saat proses memulai", - "tryInferAppIdFromCode": "Coba simpulkan ID aplikasi dari kode sumber", - "removeOnExternalUninstall": "Secara otomatis menghapus aplikasi yang dicopot pemasangannya dari luar", + "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", @@ -257,7 +257,7 @@ "intermediateLink": "Tautan perantara", "exemptFromBackgroundUpdates": "Dikecualikan dari pembaruan latar belakang (jika diaktifkan)", "bgUpdatesOnWiFiOnly": "Nonaktifkan pembaruan latar belakang saat tidak menggunakan WiFi", - "autoSelectHighestVersionCode": "Secara otomatis pilih APK dengan versi kode tertinggi", + "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 \"{}\"", @@ -356,8 +356,8 @@ "other": "Menghapus {n} catatan (sebelum = {before}, setelah = {after})" }, "xAndNMoreUpdatesAvailable": { - "one": "{} dan 1 aplikasi lainnya mendapat pembaruan.", - "other": "{} dan {} aplikasi lainnya mendapat pembaruan." + "one": "{} dan 1 aplikasi lainnya memiliki pembaruan.", + "other": "{} dan {} aplikasi lainnya memiliki pembaruan." }, "xAndNMoreUpdatesInstalled": { "one": "{} dan 1 aplikasi lainnya telah diperbarui.", From cbcc8c4eafd346582ccd090495250271122b43f0 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Tue, 1 Oct 2024 15:49:00 -0400 Subject: [PATCH 37/50] Added "skip latest" option to APKPure (also fallback toggle) --- assets/translations/bs.json | 1 + assets/translations/cs.json | 1 + assets/translations/da.json | 1 + assets/translations/de.json | 1 + assets/translations/en-EO.json | 1 + assets/translations/en.json | 1 + assets/translations/es.json | 1 + assets/translations/fa.json | 1 + assets/translations/fr.json | 1 + assets/translations/hu.json | 1 + assets/translations/id.json | 5 +- assets/translations/it.json | 1 + assets/translations/ja.json | 1 + assets/translations/nl.json | 1 + assets/translations/pl.json | 1 + assets/translations/pt.json | 1 + assets/translations/ru.json | 1 + assets/translations/sv.json | 1 + assets/translations/tr.json | 1 + assets/translations/uk.json | 1 + assets/translations/vi.json | 1 + assets/translations/zh-Hant-TW.json | 1 + assets/translations/zh.json | 1 + lib/app_sources/apkpure.dart | 193 ++++++++++++++++------------ 24 files changed, 137 insertions(+), 83 deletions(-) diff --git a/assets/translations/bs.json b/assets/translations/bs.json index b08151c..88eee65 100644 --- a/assets/translations/bs.json +++ b/assets/translations/bs.json @@ -315,6 +315,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?" diff --git a/assets/translations/cs.json b/assets/translations/cs.json index 11552ce..fab05fb 100644 --- a/assets/translations/cs.json +++ b/assets/translations/cs.json @@ -315,6 +315,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?" diff --git a/assets/translations/da.json b/assets/translations/da.json index 7bc0450..8a44d59 100644 --- a/assets/translations/da.json +++ b/assets/translations/da.json @@ -315,6 +315,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?" diff --git a/assets/translations/de.json b/assets/translations/de.json index 425b22d..089d3e1 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -315,6 +315,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?" diff --git a/assets/translations/en-EO.json b/assets/translations/en-EO.json index 4d14b33..77efc72 100644 --- a/assets/translations/en-EO.json +++ b/assets/translations/en-EO.json @@ -315,6 +315,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?" diff --git a/assets/translations/en.json b/assets/translations/en.json index 661a035..d82f059 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -315,6 +315,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?" diff --git a/assets/translations/es.json b/assets/translations/es.json index 1899fc2..88751a4 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -315,6 +315,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?" diff --git a/assets/translations/fa.json b/assets/translations/fa.json index 7df4dfb..1cde7a0 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -315,6 +315,7 @@ "wiki": "راهنما/ویکی", "crowdsourcedConfigsLabel": "تنظیمات برنامه Crowdsourced (با مسئولیت خود استفاده کنید)", "allowInsecure": "درخواست های HTTP ناامن را مجاز کنید", + "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { "one": "برنامه حذف شود؟", "other": "برنامه ها حذف شوند؟" diff --git a/assets/translations/fr.json b/assets/translations/fr.json index 8b4dab6..acfa6dd 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -315,6 +315,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 ?" diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 0e5a9b7..b2521ba 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -315,6 +315,7 @@ "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": "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?" diff --git a/assets/translations/id.json b/assets/translations/id.json index 1c842de..1c8e4c9 100644 --- a/assets/translations/id.json +++ b/assets/translations/id.json @@ -204,7 +204,7 @@ "categoryDeleteWarning": "Semua aplikasi dalam kategori yang dihapus akan diatur sebagai tidak terkategori.", "addCategory": "Tambah kategori", "label": "Label", - "language": "Language", + "language": "Bahasa", "copiedToClipboard": "Disalin ke papan klip", "storagePermissionDenied": "Izin penyimpanan ditolak", "selectedCategorizeWarning": "Ini akan mengganti pengaturan kategori yang ada untuk aplikasi terpilih.", @@ -315,6 +315,7 @@ "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?" @@ -375,4 +376,4 @@ "one": "{} APK", "other": "{} APK" } -} \ No newline at end of file +} diff --git a/assets/translations/it.json b/assets/translations/it.json index 3d930d3..7801941 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -315,6 +315,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?" diff --git a/assets/translations/ja.json b/assets/translations/ja.json index 1c58b3a..13134d0 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -315,6 +315,7 @@ "wiki": "ヘルプ/ウィキ", "crowdsourcedConfigsLabel": "クラウドソーシングによるアプリの設定(利用は自己責任で)", "allowInsecure": "安全でないHTTPリクエストを許可する", + "stayOneVersionBehind": "最新バージョンから1つ遅れ", "removeAppQuestion": { "one": "アプリを削除しますか?", "other": "アプリを削除しますか?" diff --git a/assets/translations/nl.json b/assets/translations/nl.json index 543f953..5c45ed6 100644 --- a/assets/translations/nl.json +++ b/assets/translations/nl.json @@ -315,6 +315,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?" diff --git a/assets/translations/pl.json b/assets/translations/pl.json index 3e64f8d..b26f11f 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -315,6 +315,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?", diff --git a/assets/translations/pt.json b/assets/translations/pt.json index 0012515..e223226 100644 --- a/assets/translations/pt.json +++ b/assets/translations/pt.json @@ -315,6 +315,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?" diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 5bd4b93..631ecb5 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -315,6 +315,7 @@ "wiki": "Помощь/Вики", "crowdsourcedConfigsLabel": "Конфигурации приложений на основе краудсорсинга (используйте на свой страх и риск)", "allowInsecure": "Разрешить небезопасные HTTP-запросы", + "stayOneVersionBehind": "Не отставайте от последней версии", "removeAppQuestion": { "one": "Удалить приложение?", "other": "Удалить приложения?" diff --git a/assets/translations/sv.json b/assets/translations/sv.json index 490cbc3..807348c 100644 --- a/assets/translations/sv.json +++ b/assets/translations/sv.json @@ -315,6 +315,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?" diff --git a/assets/translations/tr.json b/assets/translations/tr.json index 745d59f..3c58a21 100644 --- a/assets/translations/tr.json +++ b/assets/translations/tr.json @@ -315,6 +315,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?" diff --git a/assets/translations/uk.json b/assets/translations/uk.json index 9754ebe..d335700 100644 --- a/assets/translations/uk.json +++ b/assets/translations/uk.json @@ -315,6 +315,7 @@ "wiki": "Довідка/Вікі", "crowdsourcedConfigsLabel": "Краудсорсингові конфігурації додатків (використовуйте на свій страх і ризик)", "allowInsecure": "Дозволити незахищені HTTP-запити", + "stayOneVersionBehind": "Залишайтеся на одну версію актуальнішою", "removeAppQuestion": { "one": "Видалити застосунок?", "other": "Видалити застосунки?" diff --git a/assets/translations/vi.json b/assets/translations/vi.json index 1f09f12..22a88b2 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -315,6 +315,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?" diff --git a/assets/translations/zh-Hant-TW.json b/assets/translations/zh-Hant-TW.json index 7f38e49..1f411bc 100644 --- a/assets/translations/zh-Hant-TW.json +++ b/assets/translations/zh-Hant-TW.json @@ -315,6 +315,7 @@ "wiki": "幫助/維基", "crowdsourcedConfigsLabel": "群眾外包的應用程式設定(使用風險自負)", "allowInsecure": "Allow insecure HTTP requests", + "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { "one": "移除應用程式?", "other": "移除應用程式?" diff --git a/assets/translations/zh.json b/assets/translations/zh.json index ea41bf7..9b50e6d 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -315,6 +315,7 @@ "wiki": "帮助/Wiki", "crowdsourcedConfigsLabel": "众包应用程序配置(使用风险自负)", "allowInsecure": "允许不安全的 HTTP 请求", + "stayOneVersionBehind": "比最新版本晚一个版本", "removeAppQuestion": { "one": "是否删除应用?", "other": "是否删除应用?" diff --git a/lib/app_sources/apkpure.dart b/lib/app_sources/apkpure.dart index 89c2523..7d181ab 100644 --- a/lib/app_sources/apkpure.dart +++ b/lib/app_sources/apkpure.dart @@ -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 supportedArchs, + String link, + Map 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 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("
", " \n"); + return APKDetails(version, apkUrls, AppNames(author, appName), + releaseDate: topReleaseDate, changeLog: changeLog); + } else { + throw getObtainiumHttpError(res); + } + } + @override Future 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 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("
", " \n"); - return APKDetails(version, apkUrls, AppNames(author, appName), - releaseDate: topReleaseDate, changeLog: changeLog); - } else { - throw getObtainiumHttpError(res); } } throw NoAPKError(); From eeb57dbe357065e8c1cbf3ad6199c080a6bccb58 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Tue, 1 Oct 2024 15:57:18 -0400 Subject: [PATCH 38/50] UI tweaks (#1871, #1872) --- lib/pages/app.dart | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/pages/app.dart b/lib/pages/app.dart index 00a4b2e..dc735e9 100644 --- a/lib/pages/app.dart +++ b/lib/pages/app.dart @@ -242,11 +242,11 @@ class _AppPageState extends State { ); } - 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 { : () => 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 { 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: () { From 9f50d8db2d77a0a7ca2c420453095002614b3b8e Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Tue, 1 Oct 2024 16:59:28 -0400 Subject: [PATCH 39/50] UI bugfixes on add app page (#1866) --- lib/pages/add_app.dart | 8 +++++++- lib/providers/source_provider.dart | 15 +++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/pages/add_app.dart b/lib/pages/add_app.dart index faa610c..9717dec 100644 --- a/lib/pages/add_app.dart +++ b/lib/pages/add_app.dart @@ -30,6 +30,7 @@ class AddAppPageState extends State { String userInput = ''; String searchQuery = ''; String? pickedSourceOverride; + String? previousPickedSourceOverride; AppSource? pickedSource; Map additionalSettings = {}; bool additionalSettingsValid = true; @@ -58,6 +59,9 @@ class AddAppPageState extends State { if (overrideSource != null) { pickedSourceOverride = overrideSource; } + bool overrideChanged = + pickedSourceOverride != previousPickedSourceOverride; + previousPickedSourceOverride = pickedSourceOverride; if (updateUrlInput) { urlInputKey++; } @@ -69,6 +73,7 @@ class AddAppPageState extends State { 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 { height: 16, ), GeneratedForm( - key: Key(pickedSource.runtimeType.toString()), + key: Key( + '${pickedSource.runtimeType.toString()}-${pickedSource?.hostChanged.toString()}-${pickedSource?.hostIdenticalDespiteAnyChange.toString()}'), items: [ ...pickedSource!.combinedAppSpecificSettingFormItems, ...(pickedSourceOverride != null diff --git a/lib/providers/source_provider.dart b/lib/providers/source_provider.dart index 3c59297..8e77f54 100644 --- a/lib/providers/source_provider.dart +++ b/lib/providers/source_provider.dart @@ -414,6 +414,7 @@ HttpClient createHttpClient(bool insecure) { abstract class AppSource { List 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 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)) { From 738dd5649f976e2eea556473b10c1e8b27c80ae7 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Tue, 1 Oct 2024 17:07:11 -0400 Subject: [PATCH 40/50] App-wide "pretend to be GPlay" option (#1859) --- lib/pages/settings.dart | 16 ++++++++++++++++ lib/providers/apps_provider.dart | 19 +++++++------------ lib/providers/settings_provider.dart | 14 +++++++++++--- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/lib/pages/settings.dart b/lib/pages/settings.dart index d37f494..1b8e9c1 100644 --- a/lib/pages/settings.dart +++ b/lib/pages/settings.dart @@ -578,6 +578,22 @@ class _SettingsPageState extends State { }) ], ), + height16, + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Flexible( + child: Text( + tr('shizukuPretendToBeGooglePlay'))), + Switch( + value: settingsProvider + .shizukuPretendToBeGooglePlay, + onChanged: (value) { + settingsProvider + .shizukuPretendToBeGooglePlay = value; + }) + ], + ), height32, Text( tr('sourceSpecific'), diff --git a/lib/providers/apps_provider.dart b/lib/providers/apps_provider.dart index bea62d1..d0855c2 100644 --- a/lib/providers/apps_provider.dart +++ b/lib/providers/apps_provider.dart @@ -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) { diff --git a/lib/providers/settings_provider.dart b/lib/providers/settings_provider.dart index f12dfbe..bef37b3 100644 --- a/lib/providers/settings_provider.dart +++ b/lib/providers/settings_provider.dart @@ -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(); + } } From 9a354ecf0e898be578933ac8a9ee34e24f63b9cf Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Tue, 1 Oct 2024 17:12:10 -0400 Subject: [PATCH 41/50] Increment version, upgrade package --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 2137698..0cdbe4e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -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: diff --git a/pubspec.yaml b/pubspec.yaml index cea583d..76cbb7a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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.25+2282 +version: 1.1.26+2283 environment: sdk: '>=3.0.0 <4.0.0' From 192b7fc6cef0eb8cc710081333dac88daddeef82 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Tue, 1 Oct 2024 20:04:10 -0400 Subject: [PATCH 42/50] Add "title as version" option for GitHub (#1875) --- assets/translations/bs.json | 1 + assets/translations/cs.json | 1 + assets/translations/da.json | 1 + assets/translations/de.json | 1 + assets/translations/en-EO.json | 1 + assets/translations/en.json | 1 + assets/translations/es.json | 1 + assets/translations/fa.json | 1 + assets/translations/fr.json | 1 + assets/translations/hu.json | 1 + assets/translations/id.json | 1 + assets/translations/it.json | 1 + assets/translations/ja.json | 1 + assets/translations/nl.json | 1 + assets/translations/pl.json | 1 + assets/translations/pt.json | 1 + assets/translations/ru.json | 1 + assets/translations/sv.json | 1 + assets/translations/tr.json | 1 + assets/translations/uk.json | 1 + assets/translations/vi.json | 1 + assets/translations/zh-Hant-TW.json | 1 + assets/translations/zh.json | 1 + lib/app_sources/github.dart | 8 +++++++- 24 files changed, 30 insertions(+), 1 deletion(-) diff --git a/assets/translations/bs.json b/assets/translations/bs.json index 88eee65..0fba2e3 100644 --- a/assets/translations/bs.json +++ b/assets/translations/bs.json @@ -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", diff --git a/assets/translations/cs.json b/assets/translations/cs.json index fab05fb..db24403 100644 --- a/assets/translations/cs.json +++ b/assets/translations/cs.json @@ -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í", diff --git a/assets/translations/da.json b/assets/translations/da.json index 8a44d59..f000ec4 100644 --- a/assets/translations/da.json +++ b/assets/translations/da.json @@ -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", diff --git a/assets/translations/de.json b/assets/translations/de.json index 089d3e1..ea9e65b 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -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", diff --git a/assets/translations/en-EO.json b/assets/translations/en-EO.json index 77efc72..9628f7b 100644 --- a/assets/translations/en-EO.json +++ b/assets/translations/en-EO.json @@ -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", diff --git a/assets/translations/en.json b/assets/translations/en.json index d82f059..0db79fa 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -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", diff --git a/assets/translations/es.json b/assets/translations/es.json index 88751a4..74f6536 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -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", diff --git a/assets/translations/fa.json b/assets/translations/fa.json index 1cde7a0..c98bc8b 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -213,6 +213,7 @@ "uninstallFromDevice": "حذف نصب از دستگاه", "onlyWorksWithNonVersionDetectApps": "فقط برای برنامه‌هایی کار می‌کند که تشخیص نسخه غیرفعال است.", "releaseDateAsVersion": "از تاریخ انتشار به عنوان نسخه استفاده کنید", + "releaseTitleAsVersion": "Use release title as version string", "releaseDateAsVersionExplanation": "این گزینه فقط باید برای برنامه هایی استفاده شود که تشخیص نسخه به درستی کار نمی کند، اما تاریخ انتشار در دسترس است.", "changes": "تغییرات", "releaseDate": "تاریخ انتشار", diff --git a/assets/translations/fr.json b/assets/translations/fr.json index acfa6dd..5d1d3f8 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -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", diff --git a/assets/translations/hu.json b/assets/translations/hu.json index b2521ba..327c6a7 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -213,6 +213,7 @@ "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 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", diff --git a/assets/translations/id.json b/assets/translations/id.json index 44aaeeb..3f9e37b 100644 --- a/assets/translations/id.json +++ b/assets/translations/id.json @@ -213,6 +213,7 @@ "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", diff --git a/assets/translations/it.json b/assets/translations/it.json index 7801941..bdf637c 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -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", diff --git a/assets/translations/ja.json b/assets/translations/ja.json index 13134d0..caa9e7a 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -213,6 +213,7 @@ "uninstallFromDevice": "デバイスからアンインストールする", "onlyWorksWithNonVersionDetectApps": "バージョン検出を無効にしているアプリにのみ動作します。", "releaseDateAsVersion": "リリース日をバージョンとして使用する", + "releaseTitleAsVersion": "リリースタイトルをバージョン文字列として使用", "releaseDateAsVersionExplanation": "このオプションは、バージョン検出が正しく機能しないアプリで、リリース日が利用可能な場合にのみ使用する必要があります。", "changes": "変更点", "releaseDate": "リリース日", diff --git a/assets/translations/nl.json b/assets/translations/nl.json index 5c45ed6..94cbc4f 100644 --- a/assets/translations/nl.json +++ b/assets/translations/nl.json @@ -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", diff --git a/assets/translations/pl.json b/assets/translations/pl.json index b26f11f..20d0355 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -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", diff --git a/assets/translations/pt.json b/assets/translations/pt.json index e223226..0132fa2 100644 --- a/assets/translations/pt.json +++ b/assets/translations/pt.json @@ -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", diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 631ecb5..5fd6369 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -213,6 +213,7 @@ "uninstallFromDevice": "Удалить с устройства", "onlyWorksWithNonVersionDetectApps": "Работает только для приложений с отключенным определением версии", "releaseDateAsVersion": "Дата выпуска вместо версии", + "releaseTitleAsVersion": "Используйте название релиза в качестве строки версии", "releaseDateAsVersionExplanation": "Этот параметр следует использовать только для приложений, в которых определение версии не работает правильно, но имеется дата выпуска", "changes": "Изменения", "releaseDate": "Дата выпуска", diff --git a/assets/translations/sv.json b/assets/translations/sv.json index 807348c..180747b 100644 --- a/assets/translations/sv.json +++ b/assets/translations/sv.json @@ -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", diff --git a/assets/translations/tr.json b/assets/translations/tr.json index 3c58a21..f3ee22a 100644 --- a/assets/translations/tr.json +++ b/assets/translations/tr.json @@ -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", diff --git a/assets/translations/uk.json b/assets/translations/uk.json index d335700..8d634b7 100644 --- a/assets/translations/uk.json +++ b/assets/translations/uk.json @@ -213,6 +213,7 @@ "uninstallFromDevice": "Видалити з пристрою", "onlyWorksWithNonVersionDetectApps": "Працює лише з застосунками з вимкненим визначенням версії.", "releaseDateAsVersion": "Використовувати дату випуску як рядок версії", + "releaseTitleAsVersion": "Використовувати назву випуску як рядок версії", "releaseDateAsVersionExplanation": "Цю опцію слід використовувати лише для застосунків, де визначення версії працює неправильно, але є дата випуску.", "changes": "Зміни", "releaseDate": "Дата випуску", diff --git a/assets/translations/vi.json b/assets/translations/vi.json index 22a88b2..fa201bc 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -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", diff --git a/assets/translations/zh-Hant-TW.json b/assets/translations/zh-Hant-TW.json index 1f411bc..cd005a3 100644 --- a/assets/translations/zh-Hant-TW.json +++ b/assets/translations/zh-Hant-TW.json @@ -213,6 +213,7 @@ "uninstallFromDevice": "從裝置解除安裝", "onlyWorksWithNonVersionDetectApps": "僅適用於停用版本偵測的應用程式。", "releaseDateAsVersion": "使用發佈日期作為版本字串", + "releaseTitleAsVersion": "Use release title as version string", "releaseDateAsVersionExplanation": "此選項僅應用於版本偵測無法正確工作但有發佈日期的應用程式。", "changes": "變更", "releaseDate": "發佈日期", diff --git a/assets/translations/zh.json b/assets/translations/zh.json index 9b50e6d..3a187c6 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -213,6 +213,7 @@ "uninstallFromDevice": "从设备中卸载", "onlyWorksWithNonVersionDetectApps": "仅适用于禁用版本检测的应用。", "releaseDateAsVersion": "将发行日期作为版本号", + "releaseTitleAsVersion": "使用版本标题作为版本字符串", "releaseDateAsVersionExplanation": "此选项应该仅用于无法进行版本检测但能够获取发行日期的应用。", "changes": "更新日志", "releaseDate": "发行日期", diff --git a/lib/app_sources/github.dart b/lib/app_sources/github.dart index a0af39e..2a62096 100644 --- a/lib/app_sources/github.dart +++ b/lib/app_sources/github.dart @@ -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', From 01d701d8cde6dfd35925d71b1bfdb0aca1209d79 Mon Sep 17 00:00:00 2001 From: Eren GUN Date: Wed, 2 Oct 2024 19:16:42 +0300 Subject: [PATCH 43/50] Add "Community App Sources" translation --- assets/translations/bs.json | 1 + assets/translations/cs.json | 1 + assets/translations/de.json | 1 + assets/translations/en.json | 1 + assets/translations/es.json | 1 + assets/translations/fa.json | 1 + assets/translations/fr.json | 1 + assets/translations/hu.json | 1 + assets/translations/it.json | 1 + assets/translations/ja.json | 1 + assets/translations/nl.json | 1 + assets/translations/pl.json | 1 + assets/translations/pt.json | 1 + assets/translations/ru.json | 1 + assets/translations/sv.json | 1 + assets/translations/tr.json | 1 + assets/translations/uk.json | 1 + assets/translations/vi.json | 1 + assets/translations/zh.json | 1 + 19 files changed, 19 insertions(+) diff --git a/assets/translations/bs.json b/assets/translations/bs.json index 0fba2e3..e27937f 100644 --- a/assets/translations/bs.json +++ b/assets/translations/bs.json @@ -317,6 +317,7 @@ "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", + "communityAppSources": "Community App Sources", "removeAppQuestion": { "one": "Želite li ukloniti aplikaciju?", "other": "Želite li ukloniti aplikacije?" diff --git a/assets/translations/cs.json b/assets/translations/cs.json index db24403..522b388 100644 --- a/assets/translations/cs.json +++ b/assets/translations/cs.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Sdílejte do aplikace AppVerifier a po dokončení se sem vraťte.", "wiki": "Nápověda/Wiki", "crowdsourcedConfigsLabel": "Konfigurace aplikací s využitím crowdsourcingu (použití na vlastní nebezpečí)", + "communityAppSources": "Komunitní zdroje aplikací", "allowInsecure": "Povolení nezabezpečených požadavků HTTP", "stayOneVersionBehind": "Zůstaňte o jednu verzi pozadu za nejnovější", "removeAppQuestion": { diff --git a/assets/translations/de.json b/assets/translations/de.json index ea9e65b..bf0f221 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Geben Sie die Daten an AppVerifier weiter und kehren Sie dann hierher zurück, wenn Sie fertig sind.", "wiki": "Hilfe/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App-Konfigurationen (Verwendung auf eigene Gefahr)", + "communityAppSources": "Community-App-Quellen", "allowInsecure": "Unsichere HTTP-Anfragen zulassen", "stayOneVersionBehind": "Eine Version hinter der neuesten Version bleiben", "removeAppQuestion": { diff --git a/assets/translations/en.json b/assets/translations/en.json index 0db79fa..b7c77e6 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Share to AppVerifier, then return here when ready.", "wiki": "Help/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)", + "communityAppSources": "Community App Sources", "allowInsecure": "Allow insecure HTTP requests", "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { diff --git a/assets/translations/es.json b/assets/translations/es.json index 74f6536..b5b7df8 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Comparta con AppVerifier y vuelva aquí cuando esté listo.", "wiki": "Ayuda/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App Configurations (uso bajo su propia responsabilidad)", + "communityAppSources": "Fuentes de aplicaciones comunitarias", "allowInsecure": "Permitir peticiones HTTP inseguras", "stayOneVersionBehind": "Mantenerse una versión por detrás de la última", "removeAppQuestion": { diff --git a/assets/translations/fa.json b/assets/translations/fa.json index c98bc8b..4377b0a 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "در AppVerifier به اشتراک بگذارید، سپس پس از آماده شدن به اینجا برگردید.", "wiki": "راهنما/ویکی", "crowdsourcedConfigsLabel": "تنظیمات برنامه Crowdsourced (با مسئولیت خود استفاده کنید)", + "communityAppSources": "منابع برنامه جامعه", "allowInsecure": "درخواست های HTTP ناامن را مجاز کنید", "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { diff --git a/assets/translations/fr.json b/assets/translations/fr.json index 5d1d3f8..c579a81 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Partagez avec AppVerifier, puis revenez ici lorsque tout est prêt.", "wiki": "Aide/Wiki", "crowdsourcedConfigsLabel": "Configurations d'applications par la communauté (à utiliser à vos risques et périls)", + "communityAppSources": "Sources d'applications communautaires", "allowInsecure": "Autoriser les requêtes HTTP non sécurisées", "stayOneVersionBehind": "Rester à une version de la dernière", "removeAppQuestion": { diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 327c6a7..7dc7bf6 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -315,6 +315,7 @@ "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)", + "communityAppSources": "Közösségi alkalmazásforrások", "allowInsecure": "Nem biztonságos HTTP-kérések engedélyezése", "stayOneVersionBehind": "Maradjon egy verzióval a legfrissebb mögött", "removeAppQuestion": { diff --git a/assets/translations/it.json b/assets/translations/it.json index bdf637c..989eee9 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Condividete con AppVerifier, quindi tornate qui quando siete pronti.", "wiki": "Aiuto/Wiki", "crowdsourcedConfigsLabel": "Configurazioni di app in crowdsourcing (uso a proprio rischio)", + "communityAppSources": "Fonti di app comunitarie", "allowInsecure": "Consentire le richieste HTTP non sicure", "stayOneVersionBehind": "Rimanere una versione indietro rispetto alla più recente", "removeAppQuestion": { diff --git a/assets/translations/ja.json b/assets/translations/ja.json index caa9e7a..d832dc7 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "AppVerifierに共有し、準備ができたらここに戻ってください。", "wiki": "ヘルプ/ウィキ", "crowdsourcedConfigsLabel": "クラウドソーシングによるアプリの設定(利用は自己責任で)", + "communityAppSources": "コミュニティのアプリソース", "allowInsecure": "安全でないHTTPリクエストを許可する", "stayOneVersionBehind": "最新バージョンから1つ遅れ", "removeAppQuestion": { diff --git a/assets/translations/nl.json b/assets/translations/nl.json index 94cbc4f..495ce38 100644 --- a/assets/translations/nl.json +++ b/assets/translations/nl.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Deel het met AppVerifier en keer daarna hier terug.", "wiki": "Help/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App-configuraties (gebruik op eigen risico)", + "communityAppSources": "Bronnen voor community-apps", "allowInsecure": "Onveilige HTTP-verzoeken toestaan", "stayOneVersionBehind": "Blijf een versie achter op de nieuwste", "removeAppQuestion": { diff --git a/assets/translations/pl.json b/assets/translations/pl.json index 20d0355..1a5854e 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Udostępnij w AppVerifier, a następnie wróć tutaj, gdy będziesz gotowy.", "wiki": "Pomoc/Wiki", "crowdsourcedConfigsLabel": "Konfiguracje aplikacji pochodzące z crowdsourcingu (korzystanie na własne ryzyko)", + "communityAppSources": "Zrodliny aplikacji komunity", "allowInsecure": "Zezwalaj na niezabezpieczone żądania HTTP", "stayOneVersionBehind": "Pozostań jedną wersję za najnowszą", "removeAppQuestion": { diff --git a/assets/translations/pt.json b/assets/translations/pt.json index 0132fa2..f097efe 100644 --- a/assets/translations/pt.json +++ b/assets/translations/pt.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Partilhe com o AppVerifier e, em seguida, regresse aqui quando estiver pronto.", "wiki": "Ajuda/Wiki", "crowdsourcedConfigsLabel": "Configurações de aplicações de crowdsourcing (utilização por sua conta e risco)", + "communityAppSources": "Fontes de aplicações da comunidade", "allowInsecure": "Permitir pedidos HTTP inseguros", "stayOneVersionBehind": "Manter-se uma versão atrás da mais recente", "removeAppQuestion": { diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 5fd6369..f2ca5f6 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Поделитесь с AppVerifier, а затем вернитесь сюда, когда будете готовы.", "wiki": "Помощь/Вики", "crowdsourcedConfigsLabel": "Конфигурации приложений на основе краудсорсинга (используйте на свой страх и риск)", + "communityAppSources": "Источники приложений сообщества", "allowInsecure": "Разрешить небезопасные HTTP-запросы", "stayOneVersionBehind": "Не отставайте от последней версии", "removeAppQuestion": { diff --git a/assets/translations/sv.json b/assets/translations/sv.json index 180747b..d735b2a 100644 --- a/assets/translations/sv.json +++ b/assets/translations/sv.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Dela till AppVerifier och återvänd sedan hit när du är klar.", "wiki": "Hjälp/Wiki", "crowdsourcedConfigsLabel": "Crowdsourcade appkonfigurationer (använd på egen risk)", + "communityAppSources": "Gemenskapsappresurser", "allowInsecure": "Tillåt osäkra HTTP-förfrågningar", "stayOneVersionBehind": "Håll dig en version bakom den senaste", "removeAppQuestion": { diff --git a/assets/translations/tr.json b/assets/translations/tr.json index f3ee22a..0ab2d48 100644 --- a/assets/translations/tr.json +++ b/assets/translations/tr.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "AppVerifier ile paylaşın, hazır olduğunuzda buraya dönün.", "wiki": "Yardım/Wiki", "crowdsourcedConfigsLabel": "Kitle Kaynaklı Uygulama Yapılandırmaları (riski size ait olmak üzere kullanın)", + "communityAppSources": "Topluluk Uygulama Kaynakları", "allowInsecure": "Güvensiz HTTP isteklerine izin ver", "stayOneVersionBehind": "En son sürümün bir sürüm gerisinde kalın", "removeAppQuestion": { diff --git a/assets/translations/uk.json b/assets/translations/uk.json index 8d634b7..d872fe1 100644 --- a/assets/translations/uk.json +++ b/assets/translations/uk.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Надішліть на AppVerifier, а потім поверніться сюди, коли будете готові.", "wiki": "Довідка/Вікі", "crowdsourcedConfigsLabel": "Краудсорсингові конфігурації додатків (використовуйте на свій страх і ризик)", + "communityAppSources": "Ресурси програми спільноти", "allowInsecure": "Дозволити незахищені HTTP-запити", "stayOneVersionBehind": "Залишайтеся на одну версію актуальнішою", "removeAppQuestion": { diff --git a/assets/translations/vi.json b/assets/translations/vi.json index fa201bc..200ccf2 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Chia sẻ lên AppVerifier, sau đó quay lại đây khi sẵn sàng.", "wiki": "Trợ giúp/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)", + "communityAppSources": "Tài nguyên ứng dụng cộng đồng", "allowInsecure": "Allow insecure HTTP requests", "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { diff --git a/assets/translations/zh.json b/assets/translations/zh.json index 3a187c6..00cfa5a 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "分享至 AppVerifier,完成后返回此处。", "wiki": "帮助/Wiki", "crowdsourcedConfigsLabel": "众包应用程序配置(使用风险自负)", + "communityAppSources": "社区应用程序源", "allowInsecure": "允许不安全的 HTTP 请求", "stayOneVersionBehind": "比最新版本晚一个版本", "removeAppQuestion": { From f5b540dd8be71870b28fcce4eb6926f8420e4c67 Mon Sep 17 00:00:00 2001 From: Eren GUN Date: Wed, 2 Oct 2024 19:19:23 +0300 Subject: [PATCH 44/50] Add "Community App Sources" button to AddAppPage --- lib/pages/add_app.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/pages/add_app.dart b/lib/pages/add_app.dart index 9717dec..cd3c246 100644 --- a/lib/pages/add_app.dart +++ b/lib/pages/add_app.dart @@ -618,6 +618,12 @@ class AddAppPageState extends State { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ + ElevatedButton(onPressed: + doingSomething ? null : + (){ + launchUrlString('https://apps.obtainium.imranr.dev/', + mode: LaunchMode.externalApplication); + }, child: Text(tr('communityAppSources'))), getUrlInputRow(), const SizedBox( height: 16, From 74b9de35168fcbba10f5403f0161f3f78a3e5b0c Mon Sep 17 00:00:00 2001 From: Eren GUN Date: Thu, 3 Oct 2024 10:59:44 +0300 Subject: [PATCH 45/50] Replace the "Community App Sources" button with a text link in the AddAppPage for a cleaner UI. improving interface consistency. --- lib/pages/add_app.dart | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/pages/add_app.dart b/lib/pages/add_app.dart index cd3c246..bdeb203 100644 --- a/lib/pages/add_app.dart +++ b/lib/pages/add_app.dart @@ -544,6 +544,7 @@ class AddAppPageState extends State { Widget getSourcesListWidget() => Padding( padding: const EdgeInsets.all(16), child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ GestureDetector( onTap: () { @@ -600,7 +601,20 @@ class AddAppPageState extends State { fontWeight: FontWeight.bold, decoration: TextDecoration.underline, fontStyle: FontStyle.italic), - )) + )), + GestureDetector( + onTap: () { + launchUrlString('https://apps.obtainium.imranr.dev/', + mode: LaunchMode.externalApplication); + }, + child: Text( + tr('crowdsourcedConfigsShort'), + style: const TextStyle( + fontWeight: FontWeight.bold, + decoration: TextDecoration.underline, + fontStyle: FontStyle.italic), + ), + ), ], ), ); @@ -618,12 +632,6 @@ class AddAppPageState extends State { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - ElevatedButton(onPressed: - doingSomething ? null : - (){ - launchUrlString('https://apps.obtainium.imranr.dev/', - mode: LaunchMode.externalApplication); - }, child: Text(tr('communityAppSources'))), getUrlInputRow(), const SizedBox( height: 16, From 7af2145e9adf1d8a9059d1e5a7e5e3be7cc4dd3c Mon Sep 17 00:00:00 2001 From: Eren GUN Date: Thu, 3 Oct 2024 11:00:00 +0300 Subject: [PATCH 46/50] Refactor translations to use shorter label for crowdsourced app configurations --- assets/translations/bs.json | 2 +- assets/translations/cs.json | 2 +- assets/translations/da.json | 1 + assets/translations/de.json | 2 +- assets/translations/en-EO.json | 1 + assets/translations/en.json | 2 +- assets/translations/es.json | 2 +- assets/translations/fa.json | 2 +- assets/translations/fr.json | 2 +- assets/translations/hu.json | 2 +- assets/translations/id.json | 1 + assets/translations/it.json | 2 +- assets/translations/ja.json | 2 +- assets/translations/nl.json | 2 +- assets/translations/pl.json | 2 +- assets/translations/pt.json | 2 +- assets/translations/ru.json | 2 +- assets/translations/sv.json | 2 +- assets/translations/tr.json | 2 +- assets/translations/uk.json | 2 +- assets/translations/vi.json | 2 +- assets/translations/zh-Hant-TW.json | 1 + assets/translations/zh.json | 2 +- 23 files changed, 23 insertions(+), 19 deletions(-) diff --git a/assets/translations/bs.json b/assets/translations/bs.json index e27937f..b28d8d6 100644 --- a/assets/translations/bs.json +++ b/assets/translations/bs.json @@ -315,9 +315,9 @@ "appVerifierInstructionToast": "Dijeli sa AppVerifier-om, zatim se vratite kada ste spremni.", "wiki": "Pomoć/Wiki", "crowdsourcedConfigsLabel": "Konfiguracije aplikacije obezbeđene pomoću velikog broja ljudi (crowdsourcing) (koristite na svoju odgovornost)", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Allow insecure HTTP requests", "stayOneVersionBehind": "Stay one version behind latest", - "communityAppSources": "Community App Sources", "removeAppQuestion": { "one": "Želite li ukloniti aplikaciju?", "other": "Želite li ukloniti aplikacije?" diff --git a/assets/translations/cs.json b/assets/translations/cs.json index 522b388..e40c17a 100644 --- a/assets/translations/cs.json +++ b/assets/translations/cs.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Sdílejte do aplikace AppVerifier a po dokončení se sem vraťte.", "wiki": "Nápověda/Wiki", "crowdsourcedConfigsLabel": "Konfigurace aplikací s využitím crowdsourcingu (použití na vlastní nebezpečí)", - "communityAppSources": "Komunitní zdroje aplikací", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Povolení nezabezpečených požadavků HTTP", "stayOneVersionBehind": "Zůstaňte o jednu verzi pozadu za nejnovější", "removeAppQuestion": { diff --git a/assets/translations/da.json b/assets/translations/da.json index f000ec4..4d1ac57 100644 --- a/assets/translations/da.json +++ b/assets/translations/da.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Del til AppVerifier, og vend tilbage hertil, når du er klar.", "wiki": "Hjælp/Wiki", "crowdsourcedConfigsLabel": "Crowdsourcede app-konfigurationer (brug på egen risiko)", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Tillad usikre HTTP-anmodninger", "stayOneVersionBehind": "Vær en version bagud i forhold til den nyeste", "removeAppQuestion": { diff --git a/assets/translations/de.json b/assets/translations/de.json index bf0f221..449ae76 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Geben Sie die Daten an AppVerifier weiter und kehren Sie dann hierher zurück, wenn Sie fertig sind.", "wiki": "Hilfe/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App-Konfigurationen (Verwendung auf eigene Gefahr)", - "communityAppSources": "Community-App-Quellen", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Unsichere HTTP-Anfragen zulassen", "stayOneVersionBehind": "Eine Version hinter der neuesten Version bleiben", "removeAppQuestion": { diff --git a/assets/translations/en-EO.json b/assets/translations/en-EO.json index 9628f7b..0c074a6 100644 --- a/assets/translations/en-EO.json +++ b/assets/translations/en-EO.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Diskonigu kun AppVerifier, poste revenu ĉi tie kiam preta.", "wiki": "Helpo/Vikio", "crowdsourcedConfigsLabel": "Komunumaj apo-agordoj (uzu kun singardo)", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Allow insecure HTTP requests", "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { diff --git a/assets/translations/en.json b/assets/translations/en.json index b7c77e6..8b5d7f0 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Share to AppVerifier, then return here when ready.", "wiki": "Help/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)", - "communityAppSources": "Community App Sources", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Allow insecure HTTP requests", "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { diff --git a/assets/translations/es.json b/assets/translations/es.json index b5b7df8..3a004de 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Comparta con AppVerifier y vuelva aquí cuando esté listo.", "wiki": "Ayuda/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App Configurations (uso bajo su propia responsabilidad)", - "communityAppSources": "Fuentes de aplicaciones comunitarias", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Permitir peticiones HTTP inseguras", "stayOneVersionBehind": "Mantenerse una versión por detrás de la última", "removeAppQuestion": { diff --git a/assets/translations/fa.json b/assets/translations/fa.json index 4377b0a..b298a1a 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "در AppVerifier به اشتراک بگذارید، سپس پس از آماده شدن به اینجا برگردید.", "wiki": "راهنما/ویکی", "crowdsourcedConfigsLabel": "تنظیمات برنامه Crowdsourced (با مسئولیت خود استفاده کنید)", - "communityAppSources": "منابع برنامه جامعه", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "درخواست های HTTP ناامن را مجاز کنید", "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { diff --git a/assets/translations/fr.json b/assets/translations/fr.json index c579a81..921617b 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Partagez avec AppVerifier, puis revenez ici lorsque tout est prêt.", "wiki": "Aide/Wiki", "crowdsourcedConfigsLabel": "Configurations d'applications par la communauté (à utiliser à vos risques et périls)", - "communityAppSources": "Sources d'applications communautaires", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Autoriser les requêtes HTTP non sécurisées", "stayOneVersionBehind": "Rester à une version de la dernière", "removeAppQuestion": { diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 7dc7bf6..b84a29a 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -315,7 +315,7 @@ "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)", - "communityAppSources": "Közösségi alkalmazásforrások", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Nem biztonságos HTTP-kérések engedélyezése", "stayOneVersionBehind": "Maradjon egy verzióval a legfrissebb mögött", "removeAppQuestion": { diff --git a/assets/translations/id.json b/assets/translations/id.json index 3f9e37b..30faa03 100644 --- a/assets/translations/id.json +++ b/assets/translations/id.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "Bagikan ke AppVerifier, lalu kembali ke sini jika sudah siap.", "wiki": "Bantuan/Wiki", "crowdsourcedConfigsLabel": "Konfigurasi aplikasi Crowdsourced (risiko penggunaan ditanggung sendiri)", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Izinkan permintaan HTTP yang tidak aman", "stayOneVersionBehind": "Tetap satu versi di belakang versi terbaru", "removeAppQuestion": { diff --git a/assets/translations/it.json b/assets/translations/it.json index 989eee9..496332d 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Condividete con AppVerifier, quindi tornate qui quando siete pronti.", "wiki": "Aiuto/Wiki", "crowdsourcedConfigsLabel": "Configurazioni di app in crowdsourcing (uso a proprio rischio)", - "communityAppSources": "Fonti di app comunitarie", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Consentire le richieste HTTP non sicure", "stayOneVersionBehind": "Rimanere una versione indietro rispetto alla più recente", "removeAppQuestion": { diff --git a/assets/translations/ja.json b/assets/translations/ja.json index d832dc7..ed9aba2 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "AppVerifierに共有し、準備ができたらここに戻ってください。", "wiki": "ヘルプ/ウィキ", "crowdsourcedConfigsLabel": "クラウドソーシングによるアプリの設定(利用は自己責任で)", - "communityAppSources": "コミュニティのアプリソース", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "安全でないHTTPリクエストを許可する", "stayOneVersionBehind": "最新バージョンから1つ遅れ", "removeAppQuestion": { diff --git a/assets/translations/nl.json b/assets/translations/nl.json index 495ce38..bf3cae4 100644 --- a/assets/translations/nl.json +++ b/assets/translations/nl.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Deel het met AppVerifier en keer daarna hier terug.", "wiki": "Help/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App-configuraties (gebruik op eigen risico)", - "communityAppSources": "Bronnen voor community-apps", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Onveilige HTTP-verzoeken toestaan", "stayOneVersionBehind": "Blijf een versie achter op de nieuwste", "removeAppQuestion": { diff --git a/assets/translations/pl.json b/assets/translations/pl.json index 1a5854e..2f94f2f 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Udostępnij w AppVerifier, a następnie wróć tutaj, gdy będziesz gotowy.", "wiki": "Pomoc/Wiki", "crowdsourcedConfigsLabel": "Konfiguracje aplikacji pochodzące z crowdsourcingu (korzystanie na własne ryzyko)", - "communityAppSources": "Zrodliny aplikacji komunity", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Zezwalaj na niezabezpieczone żądania HTTP", "stayOneVersionBehind": "Pozostań jedną wersję za najnowszą", "removeAppQuestion": { diff --git a/assets/translations/pt.json b/assets/translations/pt.json index f097efe..7056366 100644 --- a/assets/translations/pt.json +++ b/assets/translations/pt.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Partilhe com o AppVerifier e, em seguida, regresse aqui quando estiver pronto.", "wiki": "Ajuda/Wiki", "crowdsourcedConfigsLabel": "Configurações de aplicações de crowdsourcing (utilização por sua conta e risco)", - "communityAppSources": "Fontes de aplicações da comunidade", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Permitir pedidos HTTP inseguros", "stayOneVersionBehind": "Manter-se uma versão atrás da mais recente", "removeAppQuestion": { diff --git a/assets/translations/ru.json b/assets/translations/ru.json index f2ca5f6..a024a31 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Поделитесь с AppVerifier, а затем вернитесь сюда, когда будете готовы.", "wiki": "Помощь/Вики", "crowdsourcedConfigsLabel": "Конфигурации приложений на основе краудсорсинга (используйте на свой страх и риск)", - "communityAppSources": "Источники приложений сообщества", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Разрешить небезопасные HTTP-запросы", "stayOneVersionBehind": "Не отставайте от последней версии", "removeAppQuestion": { diff --git a/assets/translations/sv.json b/assets/translations/sv.json index d735b2a..493c819 100644 --- a/assets/translations/sv.json +++ b/assets/translations/sv.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Dela till AppVerifier och återvänd sedan hit när du är klar.", "wiki": "Hjälp/Wiki", "crowdsourcedConfigsLabel": "Crowdsourcade appkonfigurationer (använd på egen risk)", - "communityAppSources": "Gemenskapsappresurser", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Tillåt osäkra HTTP-förfrågningar", "stayOneVersionBehind": "Håll dig en version bakom den senaste", "removeAppQuestion": { diff --git a/assets/translations/tr.json b/assets/translations/tr.json index 0ab2d48..f2035ed 100644 --- a/assets/translations/tr.json +++ b/assets/translations/tr.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "AppVerifier ile paylaşın, hazır olduğunuzda buraya dönün.", "wiki": "Yardım/Wiki", "crowdsourcedConfigsLabel": "Kitle Kaynaklı Uygulama Yapılandırmaları (riski size ait olmak üzere kullanın)", - "communityAppSources": "Topluluk Uygulama Kaynakları", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Güvensiz HTTP isteklerine izin ver", "stayOneVersionBehind": "En son sürümün bir sürüm gerisinde kalın", "removeAppQuestion": { diff --git a/assets/translations/uk.json b/assets/translations/uk.json index d872fe1..c0815bb 100644 --- a/assets/translations/uk.json +++ b/assets/translations/uk.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Надішліть на AppVerifier, а потім поверніться сюди, коли будете готові.", "wiki": "Довідка/Вікі", "crowdsourcedConfigsLabel": "Краудсорсингові конфігурації додатків (використовуйте на свій страх і ризик)", - "communityAppSources": "Ресурси програми спільноти", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Дозволити незахищені HTTP-запити", "stayOneVersionBehind": "Залишайтеся на одну версію актуальнішою", "removeAppQuestion": { diff --git a/assets/translations/vi.json b/assets/translations/vi.json index 200ccf2..cc6a53b 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Chia sẻ lên AppVerifier, sau đó quay lại đây khi sẵn sàng.", "wiki": "Trợ giúp/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)", - "communityAppSources": "Tài nguyên ứng dụng cộng đồng", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Allow insecure HTTP requests", "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { diff --git a/assets/translations/zh-Hant-TW.json b/assets/translations/zh-Hant-TW.json index cd005a3..f9135f4 100644 --- a/assets/translations/zh-Hant-TW.json +++ b/assets/translations/zh-Hant-TW.json @@ -315,6 +315,7 @@ "appVerifierInstructionToast": "分享至 AppVerifier,然後準備好時回到此處。", "wiki": "幫助/維基", "crowdsourcedConfigsLabel": "群眾外包的應用程式設定(使用風險自負)", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "Allow insecure HTTP requests", "stayOneVersionBehind": "Stay one version behind latest", "removeAppQuestion": { diff --git a/assets/translations/zh.json b/assets/translations/zh.json index 00cfa5a..3c2be92 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "分享至 AppVerifier,完成后返回此处。", "wiki": "帮助/Wiki", "crowdsourcedConfigsLabel": "众包应用程序配置(使用风险自负)", - "communityAppSources": "社区应用程序源", + "crowdsourcedConfigsShort": "Crowdsourced App Configs", "allowInsecure": "允许不安全的 HTTP 请求", "stayOneVersionBehind": "比最新版本晚一个版本", "removeAppQuestion": { From 91a82af418bf26889e2fd8c6f001d6034aa7741f Mon Sep 17 00:00:00 2001 From: Eren GUN Date: Thu, 3 Oct 2024 12:13:24 +0300 Subject: [PATCH 47/50] Refactor translations to use shorter label for crowdsourced app configurations --- assets/translations/cs.json | 2 +- assets/translations/da.json | 2 +- assets/translations/de.json | 2 +- assets/translations/es.json | 2 +- assets/translations/fr.json | 2 +- assets/translations/id.json | 2 +- assets/translations/it.json | 2 +- assets/translations/ja.json | 2 +- assets/translations/nl.json | 2 +- assets/translations/pl.json | 2 +- assets/translations/pt.json | 2 +- assets/translations/ru.json | 2 +- assets/translations/sv.json | 2 +- assets/translations/tr.json | 2 +- assets/translations/uk.json | 2 +- assets/translations/zh.json | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/assets/translations/cs.json b/assets/translations/cs.json index e40c17a..5c2d5b0 100644 --- a/assets/translations/cs.json +++ b/assets/translations/cs.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Sdílejte do aplikace AppVerifier a po dokončení se sem vraťte.", "wiki": "Nápověda/Wiki", "crowdsourcedConfigsLabel": "Konfigurace aplikací s využitím crowdsourcingu (použití na vlastní nebezpečí)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Konfigurace aplikací s využitím crowdsourcingu", "allowInsecure": "Povolení nezabezpečených požadavků HTTP", "stayOneVersionBehind": "Zůstaňte o jednu verzi pozadu za nejnovější", "removeAppQuestion": { diff --git a/assets/translations/da.json b/assets/translations/da.json index 4d1ac57..6199721 100644 --- a/assets/translations/da.json +++ b/assets/translations/da.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Del til AppVerifier, og vend tilbage hertil, når du er klar.", "wiki": "Hjælp/Wiki", "crowdsourcedConfigsLabel": "Crowdsourcede app-konfigurationer (brug på egen risiko)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Crowdsourcede app-konfigurationer", "allowInsecure": "Tillad usikre HTTP-anmodninger", "stayOneVersionBehind": "Vær en version bagud i forhold til den nyeste", "removeAppQuestion": { diff --git a/assets/translations/de.json b/assets/translations/de.json index 449ae76..b58c998 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Geben Sie die Daten an AppVerifier weiter und kehren Sie dann hierher zurück, wenn Sie fertig sind.", "wiki": "Hilfe/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App-Konfigurationen (Verwendung auf eigene Gefahr)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Crowdsourced App-Konfigurationen", "allowInsecure": "Unsichere HTTP-Anfragen zulassen", "stayOneVersionBehind": "Eine Version hinter der neuesten Version bleiben", "removeAppQuestion": { diff --git a/assets/translations/es.json b/assets/translations/es.json index 3a004de..8a3dba8 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Comparta con AppVerifier y vuelva aquí cuando esté listo.", "wiki": "Ayuda/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App Configurations (uso bajo su propia responsabilidad)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Configuración de aplicaciones por crowdsourcing", "allowInsecure": "Permitir peticiones HTTP inseguras", "stayOneVersionBehind": "Mantenerse una versión por detrás de la última", "removeAppQuestion": { diff --git a/assets/translations/fr.json b/assets/translations/fr.json index 921617b..89b4fff 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Partagez avec AppVerifier, puis revenez ici lorsque tout est prêt.", "wiki": "Aide/Wiki", "crowdsourcedConfigsLabel": "Configurations d'applications par la communauté (à utiliser à vos risques et périls)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Configurations d'applications par la foule", "allowInsecure": "Autoriser les requêtes HTTP non sécurisées", "stayOneVersionBehind": "Rester à une version de la dernière", "removeAppQuestion": { diff --git a/assets/translations/id.json b/assets/translations/id.json index 30faa03..4f1fdab 100644 --- a/assets/translations/id.json +++ b/assets/translations/id.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Bagikan ke AppVerifier, lalu kembali ke sini jika sudah siap.", "wiki": "Bantuan/Wiki", "crowdsourcedConfigsLabel": "Konfigurasi aplikasi Crowdsourced (risiko penggunaan ditanggung sendiri)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Konfigurasi Aplikasi Crowdsourced", "allowInsecure": "Izinkan permintaan HTTP yang tidak aman", "stayOneVersionBehind": "Tetap satu versi di belakang versi terbaru", "removeAppQuestion": { diff --git a/assets/translations/it.json b/assets/translations/it.json index 496332d..284229a 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Condividete con AppVerifier, quindi tornate qui quando siete pronti.", "wiki": "Aiuto/Wiki", "crowdsourcedConfigsLabel": "Configurazioni di app in crowdsourcing (uso a proprio rischio)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Configurazioni di app in crowdsourcing", "allowInsecure": "Consentire le richieste HTTP non sicure", "stayOneVersionBehind": "Rimanere una versione indietro rispetto alla più recente", "removeAppQuestion": { diff --git a/assets/translations/ja.json b/assets/translations/ja.json index ed9aba2..592191e 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "AppVerifierに共有し、準備ができたらここに戻ってください。", "wiki": "ヘルプ/ウィキ", "crowdsourcedConfigsLabel": "クラウドソーシングによるアプリの設定(利用は自己責任で)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "クラウドソーシングによるアプリの設定", "allowInsecure": "安全でないHTTPリクエストを許可する", "stayOneVersionBehind": "最新バージョンから1つ遅れ", "removeAppQuestion": { diff --git a/assets/translations/nl.json b/assets/translations/nl.json index bf3cae4..6fd0b56 100644 --- a/assets/translations/nl.json +++ b/assets/translations/nl.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Deel het met AppVerifier en keer daarna hier terug.", "wiki": "Help/Wiki", "crowdsourcedConfigsLabel": "Crowdsourced App-configuraties (gebruik op eigen risico)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "App-configuraties door menigte", "allowInsecure": "Onveilige HTTP-verzoeken toestaan", "stayOneVersionBehind": "Blijf een versie achter op de nieuwste", "removeAppQuestion": { diff --git a/assets/translations/pl.json b/assets/translations/pl.json index 2f94f2f..2253d32 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Udostępnij w AppVerifier, a następnie wróć tutaj, gdy będziesz gotowy.", "wiki": "Pomoc/Wiki", "crowdsourcedConfigsLabel": "Konfiguracje aplikacji pochodzące z crowdsourcingu (korzystanie na własne ryzyko)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Konfiguracje aplikacji pochodzące z crowdsourcingu", "allowInsecure": "Zezwalaj na niezabezpieczone żądania HTTP", "stayOneVersionBehind": "Pozostań jedną wersję za najnowszą", "removeAppQuestion": { diff --git a/assets/translations/pt.json b/assets/translations/pt.json index 7056366..3bd3f37 100644 --- a/assets/translations/pt.json +++ b/assets/translations/pt.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Partilhe com o AppVerifier e, em seguida, regresse aqui quando estiver pronto.", "wiki": "Ajuda/Wiki", "crowdsourcedConfigsLabel": "Configurações de aplicações de crowdsourcing (utilização por sua conta e risco)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Configurações de aplicações com base em crowdsourcing", "allowInsecure": "Permitir pedidos HTTP inseguros", "stayOneVersionBehind": "Manter-se uma versão atrás da mais recente", "removeAppQuestion": { diff --git a/assets/translations/ru.json b/assets/translations/ru.json index a024a31..f159525 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Поделитесь с AppVerifier, а затем вернитесь сюда, когда будете готовы.", "wiki": "Помощь/Вики", "crowdsourcedConfigsLabel": "Конфигурации приложений на основе краудсорсинга (используйте на свой страх и риск)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Конфиги приложений с помощью краудсорсинга", "allowInsecure": "Разрешить небезопасные HTTP-запросы", "stayOneVersionBehind": "Не отставайте от последней версии", "removeAppQuestion": { diff --git a/assets/translations/sv.json b/assets/translations/sv.json index 493c819..eabebd0 100644 --- a/assets/translations/sv.json +++ b/assets/translations/sv.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Dela till AppVerifier och återvänd sedan hit när du är klar.", "wiki": "Hjälp/Wiki", "crowdsourcedConfigsLabel": "Crowdsourcade appkonfigurationer (använd på egen risk)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Appkonfigurationer med hjälp av crowdsourcing", "allowInsecure": "Tillåt osäkra HTTP-förfrågningar", "stayOneVersionBehind": "Håll dig en version bakom den senaste", "removeAppQuestion": { diff --git a/assets/translations/tr.json b/assets/translations/tr.json index f2035ed..55165db 100644 --- a/assets/translations/tr.json +++ b/assets/translations/tr.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "AppVerifier ile paylaşın, hazır olduğunuzda buraya dönün.", "wiki": "Yardım/Wiki", "crowdsourcedConfigsLabel": "Kitle Kaynaklı Uygulama Yapılandırmaları (riski size ait olmak üzere kullanın)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Kitle Kaynaklı Uygulama Yapılandırmaları", "allowInsecure": "Güvensiz HTTP isteklerine izin ver", "stayOneVersionBehind": "En son sürümün bir sürüm gerisinde kalın", "removeAppQuestion": { diff --git a/assets/translations/uk.json b/assets/translations/uk.json index c0815bb..f90d94e 100644 --- a/assets/translations/uk.json +++ b/assets/translations/uk.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "Надішліть на AppVerifier, а потім поверніться сюди, коли будете готові.", "wiki": "Довідка/Вікі", "crowdsourcedConfigsLabel": "Краудсорсингові конфігурації додатків (використовуйте на свій страх і ризик)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "Налаштування краудсорсингових додатків", "allowInsecure": "Дозволити незахищені HTTP-запити", "stayOneVersionBehind": "Залишайтеся на одну версію актуальнішою", "removeAppQuestion": { diff --git a/assets/translations/zh.json b/assets/translations/zh.json index 3c2be92..0d87480 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -315,7 +315,7 @@ "appVerifierInstructionToast": "分享至 AppVerifier,完成后返回此处。", "wiki": "帮助/Wiki", "crowdsourcedConfigsLabel": "众包应用程序配置(使用风险自负)", - "crowdsourcedConfigsShort": "Crowdsourced App Configs", + "crowdsourcedConfigsShort": "众包应用程序配置", "allowInsecure": "允许不安全的 HTTP 请求", "stayOneVersionBehind": "比最新版本晚一个版本", "removeAppQuestion": { From 5e7e143bbaff9b6ce8979290ce53cc30071326e4 Mon Sep 17 00:00:00 2001 From: AJ Jordan Date: Sun, 6 Oct 2024 18:52:16 -0400 Subject: [PATCH 48/50] Fix typo --- fastlane/metadata/android/en-US/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt index a3d28df..962f353 100644 --- a/fastlane/metadata/android/en-US/short_description.txt +++ b/fastlane/metadata/android/en-US/short_description.txt @@ -1 +1 @@ -Get android app updates directly from the source +Get Android app updates directly from the source From 504e1d551b2a75d4a39298423aa210e666a0e6ce Mon Sep 17 00:00:00 2001 From: summoner001 Date: Wed, 9 Oct 2024 15:07:03 +0200 Subject: [PATCH 49/50] Update hu.json Fix translation --- assets/translations/hu.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 327c6a7..c07467c 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -61,10 +61,10 @@ "xWillBeRemovedButRemainInstalled": "A(z) {} el lesz távolítva az Obtainiumból, de továbbra is telepítve marad az eszközön.", "removeSelectedAppsQuestion": "A kiválasztott alkalmazások eltávolítása?", "removeSelectedApps": "A kiválasztott alkalmazások eltávolítása", - "updateX": "A(z) {} frissítése", - "installX": "A(z) {} telepítése", + "updateX": "{} frissítése", + "installX": "{} telepítése", "markXTrackOnlyAsUpdated": "Megjelölés: {}\n(Csak nyomonkövetés)\nFrissítettként", - "changeX": "{} változtatás", + "changeX": "{}-változás", "installUpdateApps": "Alkalmazások telepítése/frissítése", "installUpdateSelectedApps": "A kiválasztott alkalmazások telepítése/frissítése", "markXSelectedAppsAsUpdated": "A(z) {} kiválasztott alkalmazás megjelölése frissítettként?", @@ -80,7 +80,7 @@ "shareSelectedAppURLs": "A kiválasztott alkalmazás hivatkozásának megosztása", "resetInstallStatus": "Telepítési állapot visszaállítása", "more": "További", - "removeOutdatedFilter": "Elavult-alkalmazás szűrő eltávolítása", + "removeOutdatedFilter": "Elavult alkalmazás-szűrő eltávolítása", "showOutdatedOnly": "Csak az elavult alkalmazások megjelenítése", "filter": "Szűrő", "filterApps": "Alkalmazások szűrése", @@ -213,7 +213,7 @@ "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 verzióként", - "releaseTitleAsVersion": "A kiadás címét verziószálként használja", + "releaseTitleAsVersion": "Használja a kiadás címét verzióként", "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", @@ -316,7 +316,7 @@ "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": "Nem biztonságos HTTP-kérések engedélyezése", - "stayOneVersionBehind": "Maradjon egy verzióval a legfrissebb mögött", + "stayOneVersionBehind": "Maradjon egy verzióval a legújabb mögött", "removeAppQuestion": { "one": "Eltávolítja az alkalmazást?", "other": "Eltávolítja az alkalmazásokat?" @@ -354,8 +354,8 @@ "other": "{} nap" }, "clearedNLogsBeforeXAfterY": { - "one": "{n} napló törölve lett ({after} után és {before} előtt)", - "other": "{n} napló törölve lett ({after} után és {before} előtt)" + "one": "{n} napló törölve lett ({after} után, és {before} előtt)", + "other": "{n} napló törölve lett ({after} után, és {before} előtt)" }, "xAndNMoreUpdatesAvailable": { "one": "A(z) {} és 1 további alkalmazás frissítést kapott.", From 8bb4f46209f5c8e31d7637bd357941fefc357628 Mon Sep 17 00:00:00 2001 From: summoner001 Date: Wed, 9 Oct 2024 15:21:10 +0200 Subject: [PATCH 50/50] Update hu.json More fixes --- assets/translations/hu.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/assets/translations/hu.json b/assets/translations/hu.json index c07467c..b02b9b4 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -164,7 +164,7 @@ "pleaseAllowInstallPerm": "Engedélyezze az Obtainiumnak az alkalmazások telepítését", "trackOnly": "Csak nyomonkövetés", "errorWithHttpStatusCode": "Hiba {}", - "versionCorrectionDisabled": "Verziókorrekció letiltva (úgy tűnik, hogy a bővítmény nem működik)", + "versionCorrectionDisabled": "Verzió-korrekció letiltva (úgy tűnik, hogy a bővítmény nem működik)", "unknown": "Ismeretlen", "none": "Semmi", "never": "Soha", @@ -186,15 +186,15 @@ "update": "Frissítés", "markUpdated": "Frissítettnek jelölés", "additionalOptions": "További beállítások", - "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.", + "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", "downloadedX": "{} letöltve", "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", @@ -211,16 +211,16 @@ "filterAPKsByRegEx": "Az APK-k szűrése reguláris kifejezéssel", "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 verzióként", - "releaseTitleAsVersion": "Használja a kiadás címét verzióként", - "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.", + "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 verzió-karakterláncként", + "releaseTitleAsVersion": "Használja a kiadás címét verzió-karakterláncként", + "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 rendszer által észlelt verzióval", - "versionDetection": "Verzióérzékelés", - "standardVersionDetection": "Alapértelmezett verzióérzékelés", + "versionDetectionExplanation": "A verzió-karakterlánc egyeztetése az rendszer által érzékelt verzióval", + "versionDetection": "Verzió-érzékelés", + "standardVersionDetection": "Alapértelmezett verzió-érzékelés", "groupByCategory": "Csoportosítás kategória alapján", "autoApkFilterByArch": "Ha lehetséges, próbálja CPU architektúra szerint szűrni az APK-kat", "overrideSource": "Forrás felülírása", @@ -258,9 +258,9 @@ "intermediateLink": "Köztes hivatkozás", "exemptFromBackgroundUpdates": "Mentes a háttérben történő frissítések alól (ha engedélyezett)", "bgUpdatesOnWiFiOnly": "A háttérben futó frissítések letiltása, ha nincs Wi-Fi", - "autoSelectHighestVersionCode": "A legmagasabb verziószámú APK automatikus kiválasztása", - "versionExtractionRegEx": "Verziókarakterlánc-kivonatolása reguláris kifejezéssel", - "trimVersionString": "Verziókarakterlánc levágása reguláris kifejezéssel", + "autoSelectHighestVersionCode": "A legmagasabb verziókódú APK automatikus kiválasztása", + "versionExtractionRegEx": "Verzió-karakterlánc kivonatolása reguláris kifejezéssel", + "trimVersionString": "Verzió-karakterlánc levágása reguláris kifejezéssel", "matchGroupToUseForX": "A(z) „{}” esetén használandó csoport egyeztetése", "matchGroupToUse": "Verziókarakterlánc-kivonatoláshoz használandó csoport reguláris kifejezéssel való egyeztetése", "highlightTouchTargets": "A kevésbé nyilvánvaló érintési pontok kiemelése", @@ -276,7 +276,7 @@ "debugMenu": "Hibakereső menü", "bgTaskStarted": "A háttérfeladat elindult – ellenőrizze a naplókat.", "runBgCheckNow": "Frissítések keresése a háttérben", - "versionExtractWholePage": "„Verziókarakterlánc-kivonatolása reguláris kifejezéssel” alkalmazása az egész oldalra", + "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ők el", @@ -297,7 +297,7 @@ "shizukuOldAndroidWithADB": "A Shizuku csak Android < 8.1 ADB-vel fut - frissítse az Androidot vagy használja a Sui-t helyette", "shizukuPretendToBeGooglePlay": "Állítsa be a Google Playt telepítési forrásként (ha Shizukut használ)", "useSystemFont": "A rendszer betűtípusának használata", - "useVersionCodeAsOSVersion": "Az alkalmazás verziókódjának használata a rendszer által észlelt verzióként", + "useVersionCodeAsOSVersion": "Az alkalmazás verziókódjának használata a rendszer által érzékelt 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 pszeudoverziós módszer",