Compare commits

...

26 Commits

Author SHA1 Message Date
Imran
33c60c9d4f Merge pull request #1801 from ImranR98/dev
Switch back to old Shizuku plugin version (new one broke build)
2024-08-19 23:03:40 -04:00
Imran Remtulla
151e085655 Switch back to old Shizuku plugin version (new one broke build) 2024-08-19 23:03:20 -04:00
Imran
b1d641ae24 Merge pull request #1783 from Mr-Update/patch-1
Update de.json
2024-08-19 22:56:51 -04:00
Imran
7ddb35f933 Update de.json 2024-08-19 22:56:38 -04:00
Imran
b05a2ed14f Merge pull request #1800 from ImranR98/dev
- GitLab bugfix for some APK URLs (#1790)
- Fix Uptodown - was completely broken (#1796)
- Slight XAPK support improvement + BG install bugfix
2024-08-19 22:55:37 -04:00
Imran Remtulla
b22a82d11b Upgrade packages, increment version 2024-08-19 22:54:24 -04:00
Imran Remtulla
ee051153ca Merge remote-tracking branch 'origin/main' into dev 2024-08-19 22:53:44 -04:00
Imran
46871191c4 Merge pull request #1787 from Kevinr99089/main
French corrections
2024-08-19 22:48:45 -04:00
Imran
0cb518d434 Merge pull request #1785 from PeterDaveHelloKitchen/Improve-zh-TW-translation
Improve zh-TW traditional Chinese translation
2024-08-19 22:48:36 -04:00
Imran Remtulla
03778fd743 Fix Uptodown - was completely broken (#1796) 2024-08-19 22:37:57 -04:00
Imran Remtulla
514ca3e28b Slight XAPK support improvement + BG install bugfix 2024-08-19 21:29:19 -04:00
Imran Remtulla
37e90dabe7 GitLab bugfix for some APK URLs (#1790) 2024-08-19 20:55:37 -04:00
Mr-Update
ee99f2b71f Update de.json 2024-08-17 21:39:56 +02:00
Kévin
ca9289f104 Some words corrected #5
- Correction of some words suggested by [AntoninDelFabbro](https://github.com/AntoninDelFabbro).
2024-08-14 16:10:30 +02:00
Peter Dave Hello
aefe7eaa5f Improve zh-TW traditional Chinese translation 2024-08-11 04:19:53 +08:00
Mr-Update
e979f7c6f3 Update de.json 2024-08-09 00:13:02 +02:00
Kévin
e2118a3b53 Some words corrected #4
- Correction of some words suggested by [AntoninDelFabbro](https://github.com/AntoninDelFabbro).
- Additional modification to be made later (awaiting reply)
2024-08-08 02:07:15 +02:00
Kévin
d3a5d3b0fa Some words corrected #3
- Correction of some words suggested by [AntoninDelFabbro](https://github.com/AntoninDelFabbro).
- Additional modification to be made later (awaiting reply)
2024-08-07 13:49:07 +02:00
Kévin
bc7c70aca6 Correcting some words #2
- I made half of the modifications previously
- Correction of some words suggested by [AntoninDelFabbro](https://github.com/AntoninDelFabbro).
- Additional modification to be made later (awaiting reply)
2024-08-07 13:39:57 +02:00
Kévin
6cde454bd9 Some words corrected #01
- Correction of some words suggested by [AntoninDelFabbro](https://github.com/AntoninDelFabbro).
- Additional modification to be made later (awaiting reply)
2024-08-07 12:42:06 +02:00
Imran
78e20984ed Merge pull request #1778 from ImranR98/dev
Yet another APKPure bugfix (last one)
2024-08-06 16:48:37 -04:00
Imran Remtulla
f963996a19 Version increment 2024-08-06 16:48:02 -04:00
Imran Remtulla
1ddf2869a6 Yet another APKPure bugfix (last one) 2024-08-06 16:47:38 -04:00
Imran
f9b97b4469 Merge pull request #1777 from ImranR98/dev
APKPure bugfix: Correctly extract APKs that are multi-arch but not universal
2024-08-06 15:52:31 -04:00
Imran Remtulla
6f706ab493 Update Flutter version + update packages, increment version 2024-08-06 15:51:54 -04:00
Imran Remtulla
ed2e6e2e9e APKPure bugfix: Correctly extract APKs that are multi-arch but not universal 2024-08-06 15:49:44 -04:00
11 changed files with 333 additions and 299 deletions

View File

@@ -11,7 +11,7 @@
"unexpectedError": "Unerwarteter Fehler", "unexpectedError": "Unerwarteter Fehler",
"ok": "OK", "ok": "OK",
"and": "und", "and": "und",
"githubPATLabel": "GitHub Personal Access Token (Erhöht das Ratenlimit)", "githubPATLabel": "Persönlicher Zugangstoken für GitHub (erhöht das Ratenlimit)",
"includePrereleases": "Vorabversionen einbeziehen", "includePrereleases": "Vorabversionen einbeziehen",
"fallbackToOlderReleases": "Fallback auf ältere Versionen", "fallbackToOlderReleases": "Fallback auf ältere Versionen",
"filterReleaseTitlesByRegEx": "Release-Titel nach regulärem Ausdruck\nfiltern", "filterReleaseTitlesByRegEx": "Release-Titel nach regulärem Ausdruck\nfiltern",
@@ -24,15 +24,15 @@
"colour": "Farbe", "colour": "Farbe",
"standard": "Standard", "standard": "Standard",
"custom": "Benutzerdefiniert", "custom": "Benutzerdefiniert",
"useMaterialYou": "Verwende Material You", "useMaterialYou": "Material You verwenden",
"githubStarredRepos": "GitHub Starred Repos", "githubStarredRepos": "GitHub Starred Repos",
"uname": "Benutzername", "uname": "Benutzername",
"wrongArgNum": "Falsche Anzahl von Argumenten (Parametern) übermittelt", "wrongArgNum": "Falsche Anzahl von Argumenten (Parametern) übermittelt",
"xIsTrackOnly": "{} ist nur zur Nachverfolgung", "xIsTrackOnly": "{} ist nur zur Nachverfolgung",
"source": "Quelle", "source": "Quelle",
"app": "App", "app": "App",
"appsFromSourceAreTrackOnly": "Apps aus dieser Quelle sind nur zum Nachverfolgen.", "appsFromSourceAreTrackOnly": "Apps aus dieser Quelle sind nur zur Nachverfolgung.",
"youPickedTrackOnly": "Sie haben die Option „Nur Nachverfolgen“ gewählt.", "youPickedTrackOnly": "Sie haben die Option „Nur nachverfolgen“ gewählt.",
"trackOnlyAppDescription": "Die App wird auf Aktualisierungen überwacht, aber Obtainium wird sie nicht herunterladen oder installieren.", "trackOnlyAppDescription": "Die App wird auf Aktualisierungen überwacht, aber Obtainium wird sie nicht herunterladen oder installieren.",
"cancelled": "Abgebrochen", "cancelled": "Abgebrochen",
"appAlreadyAdded": "App bereits hinzugefügt", "appAlreadyAdded": "App bereits hinzugefügt",
@@ -45,7 +45,7 @@
"search": "Suchen", "search": "Suchen",
"additionalOptsFor": "Zusatzoptionen für {}", "additionalOptsFor": "Zusatzoptionen für {}",
"supportedSources": "Unterstützte Quellen", "supportedSources": "Unterstützte Quellen",
"trackOnlyInBrackets": "(Nur Nachverfolgen)", "trackOnlyInBrackets": "(Nur nachverfolgen)",
"searchableInBrackets": "(Durchsuchbar)", "searchableInBrackets": "(Durchsuchbar)",
"appsString": "Apps", "appsString": "Apps",
"noApps": "Keine Apps", "noApps": "Keine Apps",
@@ -61,22 +61,22 @@
"xWillBeRemovedButRemainInstalled": "{} wird aus Obtainium entfernt, bleibt aber auf dem Gerät installiert.", "xWillBeRemovedButRemainInstalled": "{} wird aus Obtainium entfernt, bleibt aber auf dem Gerät installiert.",
"removeSelectedAppsQuestion": "Ausgewählte Apps entfernen?", "removeSelectedAppsQuestion": "Ausgewählte Apps entfernen?",
"removeSelectedApps": "Ausgewählte Apps entfernen", "removeSelectedApps": "Ausgewählte Apps entfernen",
"updateX": "Aktualisiere {}", "updateX": "{} aktualisieren",
"installX": "Installiere {}", "installX": "{} installieren",
"markXTrackOnlyAsUpdated": "Markiere {}\n(Nur Nachverfolgen)\nals aktualisiert", "markXTrackOnlyAsUpdated": "Markiere {}\n(Nur nachverfolgen)\nals aktualisiert",
"changeX": "Ändere {}", "changeX": "{} ändern",
"installUpdateApps": "Apps installieren/aktualisieren", "installUpdateApps": "Apps installieren/aktualisieren",
"installUpdateSelectedApps": "Ausgewählte Apps installieren/aktualisieren", "installUpdateSelectedApps": "Ausgewählte Apps installieren/aktualisieren",
"markXSelectedAppsAsUpdated": "Markiere {} ausgewählte Apps als aktuell?", "markXSelectedAppsAsUpdated": "{} ausgewählte Apps als aktuell markieren?",
"no": "Nein", "no": "Nein",
"yes": "Ja", "yes": "Ja",
"markSelectedAppsUpdated": "Markiere ausgewählte Apps als aktuell", "markSelectedAppsUpdated": "Ausgewählte Apps als aktuell markieren",
"pinToTop": "Oben anheften", "pinToTop": "Oben anheften",
"unpinFromTop": "„Oben anheften“ aufheben", "unpinFromTop": "„Oben anheften“ aufheben",
"resetInstallStatusForSelectedAppsQuestion": "Installationsstatus für ausgewählte Apps zurücksetzen?", "resetInstallStatusForSelectedAppsQuestion": "Installationsstatus für ausgewählte Apps zurücksetzen?",
"installStatusOfXWillBeResetExplanation": "Der Installationsstatus der ausgewählten Apps wird zurückgesetzt. Dies kann hilfreich sein, wenn die in Obtainium angezeigte App-Version aufgrund fehlgeschlagener Aktualisierungen oder anderer Probleme falsch ist.", "installStatusOfXWillBeResetExplanation": "Der Installationsstatus der ausgewählten Apps wird zurückgesetzt. Dies kann hilfreich sein, wenn die in Obtainium angezeigte App-Version aufgrund fehlgeschlagener Aktualisierungen oder anderer Probleme falsch ist.",
"customLinkMessage": "Diese Links funktionieren auf Geräten, wo Obtainium installiert ist", "customLinkMessage": "Diese Links funktionieren auf Geräten, wo Obtainium installiert ist",
"shareAppConfigLinks": "Teile die Appkonfiguration als HTML-Link", "shareAppConfigLinks": "App-Konfiguration als HTML-Link teilen",
"shareSelectedAppURLs": "Ausgewählte App-URLs teilen", "shareSelectedAppURLs": "Ausgewählte App-URLs teilen",
"resetInstallStatus": "Installationsstatus zurücksetzen", "resetInstallStatus": "Installationsstatus zurücksetzen",
"more": "Mehr", "more": "Mehr",
@@ -84,25 +84,25 @@
"showOutdatedOnly": "Nur nicht aktuelle Apps anzeigen", "showOutdatedOnly": "Nur nicht aktuelle Apps anzeigen",
"filter": "Filter", "filter": "Filter",
"filterApps": "Apps filtern", "filterApps": "Apps filtern",
"appName": "App Name", "appName": "App-Name",
"author": "Autor", "author": "Autor",
"upToDateApps": "Apps mit aktueller Version", "upToDateApps": "Apps mit aktueller Version",
"nonInstalledApps": "Nicht installierte Apps", "nonInstalledApps": "Nicht installierte Apps",
"importExport": "Import/Export", "importExport": "Import/Export",
"settings": "Einstellungen", "settings": "Einstellungen",
"exportedTo": "Exportiert zu {}", "exportedTo": "Exportiert nach {}",
"obtainiumExport": "Obtainium-Export", "obtainiumExport": "Obtainium-Export",
"invalidInput": "Ungültige Eingabe", "invalidInput": "Ungültige Eingabe",
"importedX": "Importiert {}", "importedX": "{} importiert",
"obtainiumImport": "Obtainium-Import", "obtainiumImport": "Obtainium-Import",
"importFromURLList": "Importieren aus URL-Liste", "importFromURLList": "Aus URL-Liste importieren",
"searchQuery": "Suchanfrage", "searchQuery": "Suchanfrage",
"appURLList": "App URL-Liste", "appURLList": "App-URL-Liste",
"line": "Linie", "line": "Linie",
"searchX": "Suche {}", "searchX": "{} suchen",
"noResults": "Keine Ergebnisse gefunden", "noResults": "Keine Ergebnisse gefunden",
"importX": "Importieren {}", "importX": "{} importieren",
"importedAppsIdDisclaimer": "Importierte Apps werden möglicherweise fälschlicherweise als \"Nicht installiert\" angezeigt. Um dies zu beheben, installieren Sie sie erneut über Obtainium. Dies hat keine Auswirkungen auf App-Daten. Es betrifft nur URL- und Drittanbieter-Importmethoden.", "importedAppsIdDisclaimer": "Importierte Apps werden manchmal fälschlicherweise als Nicht installiert angezeigt. Um dies zu beheben, installieren Sie sie erneut über Obtainium. Dies hat keine Auswirkungen auf App-Daten. Es betrifft nur URL- und Drittanbieter-Importmethoden.",
"importErrors": "Importfehler", "importErrors": "Importfehler",
"importedXOfYApps": "{} von {} Apps importiert.", "importedXOfYApps": "{} von {} Apps importiert.",
"followingURLsHadErrors": "Bei folgenden URLs traten Fehler auf:", "followingURLsHadErrors": "Bei folgenden URLs traten Fehler auf:",
@@ -113,8 +113,8 @@
"dark": "Dunkel", "dark": "Dunkel",
"light": "Hell", "light": "Hell",
"followSystem": "System folgen", "followSystem": "System folgen",
"followSystemThemeExplanation": "Das Folgen des Systemthemes ist unter Android <10 nur mit Hilfe von Drittanbieteranwendungen möglich", "followSystemThemeExplanation": "Das Folgen des Systemthemes ist unter Android < 10 nur mit Hilfe von Drittanbieterapps möglich",
"useBlackTheme": "Verwende Pure Black Dark Theme", "useBlackTheme": "Pure Black Dark Theme verwenden",
"appSortBy": "App sortieren nach", "appSortBy": "App sortieren nach",
"authorName": "Autor/Name", "authorName": "Autor/Name",
"nameAuthor": "Name/Autor", "nameAuthor": "Name/Autor",
@@ -146,8 +146,8 @@
"updatesAvailableNotifDescription": "Benachrichtigt den Nutzer, dass Aktualisierungen für eine oder mehrere von Obtainium verfolgte Apps verfügbar sind", "updatesAvailableNotifDescription": "Benachrichtigt den Nutzer, dass Aktualisierungen für eine oder mehrere von Obtainium verfolgte Apps verfügbar sind",
"noNewUpdates": "Keine neuen Aktualisierungen.", "noNewUpdates": "Keine neuen Aktualisierungen.",
"xHasAnUpdate": "{} hat eine Aktualisierung.", "xHasAnUpdate": "{} hat eine Aktualisierung.",
"appsUpdated": "Apps aktualisiert", "appsUpdated": "App wurde aktualisiert",
"appsNotUpdated": "Aktualisierung der Anwendungen fehlgeschlagen", "appsNotUpdated": "Aktualisierung der Apps fehlgeschlagen",
"appsUpdatedNotifDescription": "Benachrichtigt den Benutzer, dass Aktualisierungen für eine oder mehrere Apps im Hintergrund durchgeführt wurden", "appsUpdatedNotifDescription": "Benachrichtigt den Benutzer, dass Aktualisierungen für eine oder mehrere Apps im Hintergrund durchgeführt wurden",
"xWasUpdatedToY": "{} wurde auf {} aktualisiert.", "xWasUpdatedToY": "{} wurde auf {} aktualisiert.",
"xWasNotUpdatedToY": "Die Aktualisierung von {} auf {} ist fehlgeschlagen.", "xWasNotUpdatedToY": "Die Aktualisierung von {} auf {} ist fehlgeschlagen.",
@@ -156,13 +156,13 @@
"appsRemoved": "Apps entfernt", "appsRemoved": "Apps entfernt",
"appsRemovedNotifDescription": "Benachrichtigt den Benutzer, dass eine oder mehrere Apps aufgrund von Fehlern beim Laden entfernt wurden", "appsRemovedNotifDescription": "Benachrichtigt den Benutzer, dass eine oder mehrere Apps aufgrund von Fehlern beim Laden entfernt wurden",
"xWasRemovedDueToErrorY": "{} wurde aufgrund des folgenden Fehlers entfernt: {}", "xWasRemovedDueToErrorY": "{} wurde aufgrund des folgenden Fehlers entfernt: {}",
"completeAppInstallation": "App Installation abschließen", "completeAppInstallation": "App-Installation abschließen",
"obtainiumMustBeOpenToInstallApps": "Obtainium muss geöffnet sein, um Apps zu installieren", "obtainiumMustBeOpenToInstallApps": "Obtainium muss geöffnet sein, um Apps zu installieren",
"completeAppInstallationNotifDescription": "Aufforderung an den Benutzer, zu Obtainium zurückzukehren, um die Installation einer App abzuschließen", "completeAppInstallationNotifDescription": "Aufforderung an den Benutzer, zu Obtainium zurückzukehren, um die Installation einer App abzuschließen",
"checkingForUpdates": "Nach Aktualisierungen suchen", "checkingForUpdates": "Nach Aktualisierungen suchen",
"checkingForUpdatesNotifDescription": "Vorübergehende Benachrichtigung, die bei der Suche nach Aktualisierungen angezeigt wird", "checkingForUpdatesNotifDescription": "Vorübergehende Benachrichtigung, die bei der Suche nach Aktualisierungen angezeigt wird",
"pleaseAllowInstallPerm": "Bitte erlauben Sie Obtainium die Installation von Apps", "pleaseAllowInstallPerm": "Bitte erlauben Sie Obtainium die Installation von Apps",
"trackOnly": "Nur Nachverfolgen", "trackOnly": "Nur nachverfolgen",
"errorWithHttpStatusCode": "Fehler {}", "errorWithHttpStatusCode": "Fehler {}",
"versionCorrectionDisabled": "Versionskorrektur deaktiviert (Plugin scheint nicht zu funktionieren)", "versionCorrectionDisabled": "Versionskorrektur deaktiviert (Plugin scheint nicht zu funktionieren)",
"unknown": "Unbekannt", "unknown": "Unbekannt",
@@ -173,25 +173,25 @@
"lastUpdateCheckX": "Letzte Aktualisierungsprüfung: {}", "lastUpdateCheckX": "Letzte Aktualisierungsprüfung: {}",
"remove": "Entfernen", "remove": "Entfernen",
"yesMarkUpdated": "Ja, als aktualisiert markieren", "yesMarkUpdated": "Ja, als aktualisiert markieren",
"fdroid": "offizielles F-Droid-Repo", "fdroid": "Offizielles F-Droid-Repo",
"appIdOrName": "App ID oder Name", "appIdOrName": "App-ID oder Name",
"appId": "App ID", "appId": "App-ID",
"appWithIdOrNameNotFound": "Es wurde keine App mit dieser ID oder diesem Namen gefunden", "appWithIdOrNameNotFound": "Es wurde keine App mit dieser ID oder diesem Namen gefunden",
"reposHaveMultipleApps": "Repos können mehrere Apps enthalten", "reposHaveMultipleApps": "Repos können mehrere Apps enthalten",
"fdroidThirdPartyRepo": "F-Droid Drittparteienrepo", "fdroidThirdPartyRepo": "F-Droid-Drittanbieter-Repo",
"steamMobile": "Steam Mobile", "steamMobile": "Steam Mobile",
"steamChat": "Steam-Chat", "steamChat": "Steam-Chat",
"install": "Installieren", "install": "Installieren",
"markInstalled": "Als Installiert markieren", "markInstalled": "Als installiert markieren",
"update": "Aktualisieren", "update": "Aktualisieren",
"markUpdated": "Als Aktuell markieren", "markUpdated": "Als aktuell markieren",
"additionalOptions": "Zusätzliche Optionen", "additionalOptions": "Zusätzliche Optionen",
"disableVersionDetection": "Versionsermittlung deaktivieren", "disableVersionDetection": "Versionserkennung deaktivieren",
"noVersionDetectionExplanation": "Diese Option sollte nur für Apps verwendet werden, bei denen die Versionserkennung nicht korrekt funktioniert.", "noVersionDetectionExplanation": "Diese Option sollte nur für Apps verwendet werden, bei denen die Versionserkennung nicht korrekt funktioniert.",
"downloadingX": "Lade {} herunter", "downloadingX": "{} wird heruntergeladen",
"downloadX": "{} herunterladen", "downloadX": "{} herunterladen",
"downloadedX": "{} heruntergeladen", "downloadedX": "{} heruntergeladen",
"releaseAsset": "release Asset", "releaseAsset": "Release-Asset",
"downloadNotifDescription": "Benachrichtigt den Nutzer über den Fortschritt beim Herunterladen einer App", "downloadNotifDescription": "Benachrichtigt den Nutzer über den Fortschritt beim Herunterladen einer App",
"noAPKFound": "Keine APK gefunden", "noAPKFound": "Keine APK gefunden",
"noVersionDetection": "Keine Versionserkennung", "noVersionDetection": "Keine Versionserkennung",
@@ -216,52 +216,52 @@
"releaseDateAsVersionExplanation": "Diese Option sollte nur für Apps verwendet werden, bei denen die Versionserkennung nicht korrekt funktioniert, aber ein Veröffentlichungsdatum verfügbar ist.", "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", "changes": "Änderungen",
"releaseDate": "Veröffentlichungsdatum", "releaseDate": "Veröffentlichungsdatum",
"importFromURLsInFile": "Importieren von URLs aus Datei (z. B. OPML)", "importFromURLsInFile": "URLs aus Datei importieren (z. B. OPML)",
"versionDetectionExplanation": "Abgleich der Versionsnummer mit der vom Betriebssystem erkannten Version", "versionDetectionExplanation": "Abgleich der Versionsnummer mit der vom Betriebssystem erkannten Version",
"versionDetection": "Versionserkennung", "versionDetection": "Versionserkennung",
"standardVersionDetection": "Standardversionserkennung", "standardVersionDetection": "Standardversionserkennung",
"groupByCategory": "Nach Kategorie gruppieren", "groupByCategory": "Nach Kategorie gruppieren",
"autoApkFilterByArch": "Nach Möglichkeit versuchen, APKs nach CPU-Architektur zu filtern", "autoApkFilterByArch": "Nach Möglichkeit versuchen, APKs nach CPU-Architektur zu filtern",
"overrideSource": "Quelle überschreiben", "overrideSource": "Quelle überschreiben",
"dontShowAgain": "Nicht noch einmal zeigen", "dontShowAgain": "Nicht noch einmal anzeigen",
"dontShowTrackOnlyWarnings": "Warnung für 'Nur Nachverfolgen' nicht anzeigen", "dontShowTrackOnlyWarnings": "Warnung für 'Nur nachverfolgen' nicht anzeigen",
"dontShowAPKOriginWarnings": "Warnung für APK-Herkunft nicht anzeigen", "dontShowAPKOriginWarnings": "Warnung für APK-Herkunft nicht anzeigen",
"moveNonInstalledAppsToBottom": "Nicht installierte Apps ans Ende der Apps Ansicht verschieben", "moveNonInstalledAppsToBottom": "Nicht installierte Apps ans Ende der App-Ansicht verschieben",
"gitlabPATLabel": "GitLab Personal Access Token", "gitlabPATLabel": "Persönlicher Zugangstoken für GitLab",
"about": "Über", "about": "Über",
"requiresCredentialsInSettings": "{}: Benötigt zusätzliche Anmeldedaten (in den Einstellungen)", "requiresCredentialsInSettings": "{}: Benötigt zusätzliche Anmeldedaten (in den Einstellungen)",
"checkOnStart": "Überprüfe einmalig beim Start", "checkOnStart": "Einmalig beim Start überprüfen",
"tryInferAppIdFromCode": "Versuche, die App-ID aus dem Quellcode zu ermitteln", "tryInferAppIdFromCode": "Versuchen, die App-ID aus dem Quellcode zu ermitteln",
"removeOnExternalUninstall": "Automatisches Entfernen von extern deinstallierten Apps", "removeOnExternalUninstall": "Automatisches Entfernen von extern deinstallierten Apps",
"pickHighestVersionCode": "Automatische Auswahl des APK mit höchstem Versionscode", "pickHighestVersionCode": "Automatische Auswahl des APK mit höchstem Versionscode",
"checkUpdateOnDetailPage": "Nach Aktualisierungen suchen, wenn eine App-Detailseite geöffnet wird", "checkUpdateOnDetailPage": "Nach Aktualisierungen suchen, wenn eine App-Detailseite geöffnet wird",
"disablePageTransitions": "Animationen für Seitenübergänge deaktivieren", "disablePageTransitions": "Animationen für Seitenübergänge deaktivieren",
"reversePageTransitions": "Umgekehrte Animationen für Seitenübergänge", "reversePageTransitions": "Umgekehrte Animationen für Seitenübergänge",
"minStarCount": "Minimale Anzahl von Sternen", "minStarCount": "Minimale Anzahl von Sternen",
"addInfoBelow": "Fügen Sie diese Informationen unten hinzu.", "addInfoBelow": "Diese Information unten hinzufügen.",
"addInfoInSettings": "Fügen Sie diese Info in den Einstellungen hinzu.", "addInfoInSettings": "Diese Information in den Einstellungen hinzufügen.",
"githubSourceNote": "Die GitHub-Ratenbegrenzung kann mit einem API-Schlüssel umgangen werden.", "githubSourceNote": "Die GitHub-Ratenbegrenzung kann mit einem API-Schlüssel umgangen werden.",
"sortByLastLinkSegment": "Sortiere nur nach dem letzten Teil des Links", "sortByLastLinkSegment": "Nur nach dem letzten Teil des Links sortieren",
"filterReleaseNotesByRegEx": "Versionshinweise nach regulärem Ausdruck filtern", "filterReleaseNotesByRegEx": "Versionshinweise nach regulärem Ausdruck filtern",
"customLinkFilterRegex": "Benutzerdefinierter APK Link Filter nach Regulärem Ausdruck (Standard '.apk$')", "customLinkFilterRegex": "Benutzerdefinierter APK-Linkfilter durch regulären Ausdruck (Standard '.apk$')",
"appsPossiblyUpdated": "App Aktualisierungen wurden versucht", "appsPossiblyUpdated": "App-Aktualisierungen wurden versucht",
"appsPossiblyUpdatedNotifDescription": "Benachrichtigt den Benutzer, dass Aktualisierungen für eine oder mehrere Apps möglicherweise im Hintergrund durchgeführt wurden", "appsPossiblyUpdatedNotifDescription": "Benachrichtigt den Benutzer, dass Aktualisierungen für eine oder mehrere Apps möglicherweise im Hintergrund durchgeführt wurden",
"xWasPossiblyUpdatedToY": "{} wurde möglicherweise aktualisiert auf {}.", "xWasPossiblyUpdatedToY": "{} wurde möglicherweise aktualisiert auf {}.",
"enableBackgroundUpdates": "Aktiviere Hintergrundaktualisierungen", "enableBackgroundUpdates": "Hintergrundaktualisierungen aktivieren",
"backgroundUpdateReqsExplanation": "Die Hintergrundaktualisierung ist möglicherweise nicht für alle Apps möglich.", "backgroundUpdateReqsExplanation": "Die Hintergrundaktualisierung ist möglicherweise nicht für alle Apps möglich.",
"backgroundUpdateLimitsExplanation": "Der Erfolg einer Hintergrundinstallation kann nur festgestellt werden, wenn Obtainium geöffnet wird.", "backgroundUpdateLimitsExplanation": "Der Erfolg einer Hintergrundinstallation kann nur festgestellt werden, wenn Obtainium geöffnet wird.",
"verifyLatestTag": "Überprüfe das „latest“ Tag", "verifyLatestTag": "Überprüfe das „latest“ Tag",
"intermediateLinkRegex": "Filter für einen „Zwischen“-Link, der zuerst besucht werden soll", "intermediateLinkRegex": "Filter für einen „Zwischen“-Link, der zuerst besucht werden soll",
"filterByLinkText": "Filtere Links durch Linktext", "filterByLinkText": "Links durch Linktext filtern",
"intermediateLinkNotFound": "„Zwischen“-Link nicht gefunden", "intermediateLinkNotFound": "„Zwischen“-Link nicht gefunden",
"intermediateLink": "„Zwischen“-Link", "intermediateLink": "„Zwischen“-Link",
"exemptFromBackgroundUpdates": "Ausschluss von Hintergrundaktualisierungen (falls aktiviert)", "exemptFromBackgroundUpdates": "Ausschluss von Hintergrundaktualisierungen (falls aktiviert)",
"bgUpdatesOnWiFiOnly": "Hintergrundaktualisierungen deaktivieren, wenn kein WLAN vorhanden ist", "bgUpdatesOnWiFiOnly": "Hintergrundaktualisierungen deaktivieren, wenn kein WLAN vorhanden ist",
"autoSelectHighestVersionCode": "Automatisch höchste APK-Version auswählen", "autoSelectHighestVersionCode": "Automatisch höchste APK-Version auswählen",
"versionExtractionRegEx": "Versions-Extraktion per RegEx", "versionExtractionRegEx": "Versionsextraktion per RegEx",
"trimVersionString": "Trim Version String mit RegEx", "trimVersionString": "Versionszeichenfolge mit RegEx kürzen",
"matchGroupToUseForX": "Zu verwendende Abgleichsgruppe für \"{}\"", "matchGroupToUseForX": "Zu verwendende Abgleichsgruppe für „{}“",
"matchGroupToUse": "zu verwendende Gruppe abgleichen", "matchGroupToUse": "Zu verwendende Gruppe abgleichen",
"highlightTouchTargets": "Weniger offensichtliche Touch-Ziele hervorheben", "highlightTouchTargets": "Weniger offensichtliche Touch-Ziele hervorheben",
"pickExportDir": "Export-Verzeichnis wählen", "pickExportDir": "Export-Verzeichnis wählen",
"autoExportOnChanges": "Automatischer Export bei Änderung(en)", "autoExportOnChanges": "Automatischer Export bei Änderung(en)",
@@ -270,37 +270,37 @@
"trySelectingSuggestedVersionCode": "Versuchen, den vorgeschlagenen APK-Versionscode auszuwählen", "trySelectingSuggestedVersionCode": "Versuchen, den vorgeschlagenen APK-Versionscode auszuwählen",
"dontSortReleasesList": "Freigaberelease von der API ordern", "dontSortReleasesList": "Freigaberelease von der API ordern",
"reverseSort": "Umgekehrtes Sortieren", "reverseSort": "Umgekehrtes Sortieren",
"takeFirstLink": "Verwende den ersten Link", "takeFirstLink": "Ersten Link verwenden",
"skipSort": "Überspringe Sortieren", "skipSort": "Sortieren überspringen",
"debugMenu": "Debug-Menü", "debugMenu": "Debug-Menü",
"bgTaskStarted": "Hintergrundaufgabe gestartet Logs prüfen.", "bgTaskStarted": "Hintergrundaufgabe gestartet Logs prüfen.",
"runBgCheckNow": "Hintergrundaktualisierungsprüfung jetzt durchführen", "runBgCheckNow": "Hintergrundaktualisierungsprüfung jetzt durchführen",
"versionExtractWholePage": "Versions-Extraktion per RegEx auf die gesamte Seite anwenden", "versionExtractWholePage": "Versionsextraktion per RegEx auf die gesamte Seite anwenden",
"installing": "Installiere", "installing": "Installieren",
"skipUpdateNotifications": "Keine Benachrichtigung zu App-Aktualisierungen geben", "skipUpdateNotifications": "Update-Benachrichtigungen überspringen",
"updatesAvailableNotifChannel": "Aktualisierungen verfügbar", "updatesAvailableNotifChannel": "Aktualisierungen verfügbar",
"appsUpdatedNotifChannel": "Apps aktualisiert", "appsUpdatedNotifChannel": "Apps aktualisiert",
"appsPossiblyUpdatedNotifChannel": "App Aktualisierungen wurden versucht", "appsPossiblyUpdatedNotifChannel": "App-Aktualisierungen wurden versucht",
"errorCheckingUpdatesNotifChannel": "Fehler beim Prüfen auf Aktualisierungen", "errorCheckingUpdatesNotifChannel": "Fehler beim Prüfen auf Aktualisierungen",
"appsRemovedNotifChannel": "Apps entfernt", "appsRemovedNotifChannel": "Apps entfernt",
"downloadingXNotifChannel": "Lade {} herunter", "downloadingXNotifChannel": "{} herunterladen",
"completeAppInstallationNotifChannel": "App Installation abschließen", "completeAppInstallationNotifChannel": "App-Installation abschließen",
"checkingForUpdatesNotifChannel": "Nach Aktualisierungen suchen", "checkingForUpdatesNotifChannel": "Nach Aktualisierungen suchen",
"onlyCheckInstalledOrTrackOnlyApps": "Überprüfe nur installierte und mit „nur Nachverfolgen“ markierte Apps auf Aktualisierungen", "onlyCheckInstalledOrTrackOnlyApps": "Nur installierte und mit „Nur nachverfolgen“ markierte Apps auf Aktualisierungen prüfen",
"supportFixedAPKURL": "neuere Version anhand der ersten dreißig Zahlen der Checksumme der APK URL erraten, wenn anderweitig nicht unterstützt", "supportFixedAPKURL": "Unterstützung von festen APK-URLs",
"selectX": "Wähle {}", "selectX": "{} wählen",
"parallelDownloads": "Erlaube parallele Downloads", "parallelDownloads": "Parallele Downloads erlauben",
"useShizuku": "Verwenden Sie Shizuku oder Sui zur Installation", "useShizuku": "Shizuku oder Sui zur Installation verwenden",
"shizukuBinderNotFound": "Kompatibler Shizukudienst wurde nicht gefunden", "shizukuBinderNotFound": "Kompatibler Shizuku-Dienst wurde nicht gefunden",
"shizukuOld": "Alte Shizuku-Version (<11) - aktualisieren Sie sie", "shizukuOld": "Alte Shizuku-Version (< 11) - aktualisieren Sie sie",
"shizukuOldAndroidWithADB": "Shizuku läuft auf Android < 8.1 mit ADB - aktualisieren Sie Android oder verwenden Sie stattdessen Sui", "shizukuOldAndroidWithADB": "Shizuku läuft auf Android < 8.1 mit ADB - aktualisieren Sie Android oder verwenden Sie stattdessen Sui",
"shizukuPretendToBeGooglePlay": "Google Play als Installationsquelle festlegen (wenn Shizuku verwendet wird)", "shizukuPretendToBeGooglePlay": "Google Play als Installationsquelle festlegen (wenn Shizuku verwendet wird)",
"useSystemFont": "Verwende die Systemschriftart", "useSystemFont": "Systemschriftart verwenden",
"useVersionCodeAsOSVersion": "Verwende die Appversion als erkannte Version vom Betriebssystem", "useVersionCodeAsOSVersion": "App-Version als erkannte Version vom Betriebssystem verwenden",
"requestHeader": "Request Header", "requestHeader": "Kopfzeile anfordern",
"useLatestAssetDateAsReleaseDate": "Den letzten Asset-Upload als Veröffentlichungsdatum verwenden", "useLatestAssetDateAsReleaseDate": "Letzten Asset-Upload als Veröffentlichungsdatum verwenden",
"defaultPseudoVersioningMethod": "Standardmäßiges Verfahren zur Pseudo-Versionierung", "defaultPseudoVersioningMethod": "Standardmäßiges Verfahren zur Pseudo-Versionierung",
"partialAPKHash": "partieller APK-Hash", "partialAPKHash": "Partieller APK-Hash",
"APKLinkHash": "APK-Link-Hash", "APKLinkHash": "APK-Link-Hash",
"directAPKLink": "Direkter APK-Link", "directAPKLink": "Direkter APK-Link",
"pseudoVersionInUse": "Es werden Pseudoversionen verwendet", "pseudoVersionInUse": "Es werden Pseudoversionen verwendet",
@@ -308,19 +308,19 @@
"latest": "Neueste Version", "latest": "Neueste Version",
"invertRegEx": "Regulären Ausdruck invertieren", "invertRegEx": "Regulären Ausdruck invertieren",
"note": "Hinweis", "note": "Hinweis",
"selfHostedNote": "Das „{}“-Dropdown-Menü kann verwendet werden, um selbst gehostete/angepasste Instanzen einer beliebigen Quelle zu erreichen.", "selfHostedNote": "Das „{}“-Drop-down-Menü kann verwendet werden, um selbst gehostete/angepasste Instanzen einer beliebigen Quelle zu erreichen.",
"badDownload": "Die APK konnte nicht geparst werden (inkompatibler oder teilweiser Download)", "badDownload": "Die APK konnte nicht geparst werden (inkompatibler oder teilweiser Download)",
"beforeNewInstallsShareToAppVerifier": "Neue Apps mit AppVerifier teilen (falls verfügbar)", "beforeNewInstallsShareToAppVerifier": "Neue Apps mit AppVerifier teilen (falls verfügbar)",
"appVerifierInstructionToast": "Geben Sie die Daten an AppVerifier weiter und kehren Sie dann hierher zurück, wenn Sie fertig sind.", "appVerifierInstructionToast": "Geben Sie die Daten an AppVerifier weiter und kehren Sie dann hierher zurück, wenn Sie fertig sind.",
"wiki": "Hilfe/Wiki", "wiki": "Hilfe/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (Verwendung auf eigene Gefahr)", "crowdsourcedConfigsLabel": "Crowdsourced App-Konfigurationen (Verwendung auf eigene Gefahr)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "App entfernen?", "one": "App entfernen?",
"other": "Apps entfernen?" "other": "Apps entfernen?"
}, },
"tooManyRequestsTryAgainInMinutes": { "tooManyRequestsTryAgainInMinutes": {
"one": "Zu viele Anfragen (Rate begrenzt) versuche es in {} Minute erneut", "one": "Zu viele Anfragen (Rate begrenzt) versuchen Sie es in {} Minute erneut",
"other": "Zu viele Anfragen (Rate begrenzt) versuche es in {} Minuten erneut" "other": "Zu viele Anfragen (Rate begrenzt) versuchen Sie es in {} Minuten erneut"
}, },
"bgUpdateGotErrorRetryInMinutes": { "bgUpdateGotErrorRetryInMinutes": {
"one": "Bei der Aktualisierungsprüfung im Hintergrund wurde ein {} festgestellt, eine erneute Prüfung wird in {} Minute geplant", "one": "Bei der Aktualisierungsprüfung im Hintergrund wurde ein {} festgestellt, eine erneute Prüfung wird in {} Minute geplant",
@@ -359,16 +359,16 @@
"other": "{} und {} weitere Apps haben Aktualisierungen." "other": "{} und {} weitere Apps haben Aktualisierungen."
}, },
"xAndNMoreUpdatesInstalled": { "xAndNMoreUpdatesInstalled": {
"one": "{} und 1 weitere Anwendung wurden aktualisiert.", "one": "{} und 1 weitere App wurden aktualisiert.",
"other": "{} und {} weitere Anwendungen wurden aktualisiert." "other": "{} und {} weitere Apps wurden aktualisiert."
}, },
"xAndNMoreUpdatesFailed": { "xAndNMoreUpdatesFailed": {
"one": "Aktualisierung fehlgeschlagen {} und 1 weitere Anwendung.", "one": "Die Aktualisierung von {} und 1 weiteren App ist fehlgeschlagen.",
"other": "Die Aktualisierung von {} und {} weiteren Anwendungen ist fehlgeschlagen." "other": "Die Aktualisierung von {} und {} weiteren Apps ist fehlgeschlagen."
}, },
"xAndNMoreUpdatesPossiblyInstalled": { "xAndNMoreUpdatesPossiblyInstalled": {
"one": "{} und 1 weitere Anwendung wurden möglicherweise aktualisiert.", "one": "{} und 1 weitere App wurden möglicherweise aktualisiert.",
"other": "{} und {} weitere Anwendungen wurden möglicherweise aktualisiert." "other": "{} und {} weitere Apps wurden möglicherweise aktualisiert."
}, },
"apk": { "apk": {
"one": "{} APK", "one": "{} APK",

View File

@@ -1,5 +1,5 @@
{ {
"invalidURLForSource": "URL de l'application {} n'es pas valide", "invalidURLForSource": "URL de l'application {} invalide",
"noReleaseFound": "Impossible de trouver une publication correspondante", "noReleaseFound": "Impossible de trouver une publication correspondante",
"noVersionFound": "Impossible de déterminer la version de la publication", "noVersionFound": "Impossible de déterminer la version de la publication",
"urlMatchesNoSource": "L'URL ne correspond pas à une source connue", "urlMatchesNoSource": "L'URL ne correspond pas à une source connue",
@@ -7,7 +7,7 @@
"appIdMismatch": "L'ID du paquet téléchargé ne correspond pas à l'ID de l'application existante", "appIdMismatch": "L'ID du paquet téléchargé ne correspond pas à l'ID de l'application existante",
"functionNotImplemented": "Cette classe n'implémente pas cette fonction", "functionNotImplemented": "Cette classe n'implémente pas cette fonction",
"placeholder": "Espace réservé", "placeholder": "Espace réservé",
"someErrors": "Des erreurs se sont produites", "someErrors": "Des erreurs sont survenues",
"unexpectedError": "Erreur inattendue", "unexpectedError": "Erreur inattendue",
"ok": "Ok", "ok": "Ok",
"and": "et", "and": "et",
@@ -20,7 +20,7 @@
"cancel": "Annuler", "cancel": "Annuler",
"continue": "Continuer", "continue": "Continuer",
"requiredInBrackets": "(Requis)", "requiredInBrackets": "(Requis)",
"dropdownNoOptsError": "ERREUR: LE DÉROULEMENT DOIT AVOIR AU MOINS UNE OPT", "dropdownNoOptsError": "ERREUR: LA LISTE DÉROULANTE DOIT AVOIR AU MOINS UNE OPTION",
"colour": "Couleur", "colour": "Couleur",
"standard": "Standard", "standard": "Standard",
"custom": "Personnalisé", "custom": "Personnalisé",
@@ -33,10 +33,10 @@
"app": "Application", "app": "Application",
"appsFromSourceAreTrackOnly": "Les applications de cette source sont en 'Suivi uniquement'.", "appsFromSourceAreTrackOnly": "Les applications de cette source sont en 'Suivi uniquement'.",
"youPickedTrackOnly": "Vous avez sélectionné l'option 'Suivi uniquement'.", "youPickedTrackOnly": "Vous avez sélectionné l'option 'Suivi uniquement'.",
"trackOnlyAppDescription": "L'application sera suivie pour les mises à jour, mais Obtainium ne pourra pas le télécharger ou l'installer.", "trackOnlyAppDescription": "L'application sera suivie pour les mises à jour, mais Obtainium ne pourra pas la télécharger ou l'installer.",
"cancelled": "Annulé", "cancelled": "Annulé",
"appAlreadyAdded": "L'application a déjà été ajoutée", "appAlreadyAdded": "Application déjà ajoutée",
"alreadyUpToDateQuestion": "L'application est déjà à jour ?", "alreadyUpToDateQuestion": "L'application est à jour?",
"addApp": "Ajouter Appli", "addApp": "Ajouter Appli",
"appSourceURL": "URL source de l'application", "appSourceURL": "URL source de l'application",
"error": "Erreur", "error": "Erreur",
@@ -48,10 +48,10 @@
"trackOnlyInBrackets": "(Suivi uniquement)", "trackOnlyInBrackets": "(Suivi uniquement)",
"searchableInBrackets": "(Interrogeable)", "searchableInBrackets": "(Interrogeable)",
"appsString": "Applications", "appsString": "Applications",
"noApps": "Aucune applications", "noApps": "Aucune application",
"noAppsForFilter": "Aucune application à Filtrer", "noAppsForFilter": "Aucune application à filtrer",
"byX": "Par {}", "byX": "Par {}",
"percentProgress": "Progression: {}%", "percentProgress": "Progression : {}%",
"pleaseWait": "Veuillez patienter", "pleaseWait": "Veuillez patienter",
"updateAvailable": "Mise à jour disponible", "updateAvailable": "Mise à jour disponible",
"notInstalled": "Non installé", "notInstalled": "Non installé",
@@ -60,7 +60,7 @@
"deselectX": "Déselectionner {}", "deselectX": "Déselectionner {}",
"xWillBeRemovedButRemainInstalled": "{} sera supprimée d'Obtainium mais restera installée sur l'appareil.", "xWillBeRemovedButRemainInstalled": "{} sera supprimée d'Obtainium mais restera installée sur l'appareil.",
"removeSelectedAppsQuestion": "Supprimer les applications sélectionnées ?", "removeSelectedAppsQuestion": "Supprimer les applications sélectionnées ?",
"removeSelectedApps": "Les applications sélectionnées ont étés supprimés", "removeSelectedApps": "Les applications sélectionnées ont été supprimées",
"updateX": "Mettre à jour {}", "updateX": "Mettre à jour {}",
"installX": "Installer {}", "installX": "Installer {}",
"markXTrackOnlyAsUpdated": "Marquer {}\n(Suivi uniquement)\ncomme étant à jour", "markXTrackOnlyAsUpdated": "Marquer {}\n(Suivi uniquement)\ncomme étant à jour",
@@ -78,7 +78,7 @@
"customLinkMessage": "Ces liens fonctionnent sur les appareils sur lesquels Obtainium est installé", "customLinkMessage": "Ces liens fonctionnent sur les appareils sur lesquels Obtainium est installé",
"shareAppConfigLinks": "Partager la configuration de l'application sous forme de lien HTML", "shareAppConfigLinks": "Partager la configuration de l'application sous forme de lien HTML",
"shareSelectedAppURLs": "Partager les URL des applications sélectionnées", "shareSelectedAppURLs": "Partager les URL des applications sélectionnées",
"resetInstallStatus": "L'état d'installation des applications ont étés réinitialisés", "resetInstallStatus": "L'état d'installation des applications a été réinitialisé",
"more": "Plus", "more": "Plus",
"removeOutdatedFilter": "Supprimer le filtre des applications obsolètes", "removeOutdatedFilter": "Supprimer le filtre des applications obsolètes",
"showOutdatedOnly": "Afficher uniquement les applications obsolètes", "showOutdatedOnly": "Afficher uniquement les applications obsolètes",
@@ -88,23 +88,23 @@
"author": "Auteur", "author": "Auteur",
"upToDateApps": "Applications à jour", "upToDateApps": "Applications à jour",
"nonInstalledApps": "Applications non installées", "nonInstalledApps": "Applications non installées",
"importExport": "Importer/Exporter", "importExport": "Sauvegarder/Restaurer",
"settings": "Paramètres", "settings": "Paramètres",
"exportedTo": "Exporté vers {}", "exportedTo": "Sauvegardé vers {}",
"obtainiumExport": "Exporter Obtainium", "obtainiumExport": "Sauvegarder Obtainium",
"invalidInput": "Entrée invalide", "invalidInput": "Entrée invalide",
"importedX": "Importé {}", "importedX": "Restauré {}",
"obtainiumImport": "Importer Obtainium", "obtainiumImport": "Restaurer Obtainium",
"importFromURLList": "Importer depuis une liste d'URL", "importFromURLList": "Restaurer depuis une liste d'URL",
"searchQuery": "Requête de recherche", "searchQuery": "Requête de recherche",
"appURLList": "Liste d'URL de l'application", "appURLList": "Liste d'URL de l'application",
"line": "File d'attente", "line": "Ligne",
"searchX": "Rechercher {}", "searchX": "Rechercher {}",
"noResults": "Aucun résultat", "noResults": "Aucun résultat",
"importX": "Importer {}", "importX": "Restauré {}",
"importedAppsIdDisclaimer": "Les applications importées peuvent s'afficher de manière incorrecte comme \"Non installées\".\nPour résoudre ce problème, réinstallez-les via Obtainium.\nCela n'affectera pas les données des applications. Cela n'affecte que la méthode d'importation par URL et par des tiers.", "importedAppsIdDisclaimer": "Les applications importées peuvent s'afficher de manière incorrecte comme étant \"Non installées\".\nPour résoudre ce problème, réinstallez-les via Obtainium.\nCela n'affectera pas les données des applications.\n\nN'affecte que les méthodes d'importation d'URL et par des tiers.",
"importErrors": "Erreurs d'importation", "importErrors": "Erreurs lors de la restauration",
"importedXOfYApps": "{} applications sur {} ont étés importées.", "importedXOfYApps": "{} applications sur {} ont été restaurées.",
"followingURLsHadErrors": "Les URL suivants comportent des erreurs :", "followingURLsHadErrors": "Les URL suivants comportent des erreurs :",
"selectURL": "Sélectionner l'URL", "selectURL": "Sélectionner l'URL",
"selectURLs": "Sélectionner les URL", "selectURLs": "Sélectionner les URL",
@@ -125,21 +125,21 @@
"bgUpdateCheckInterval": "Intervalle de recherche de mises à jour en arrière-plan", "bgUpdateCheckInterval": "Intervalle de recherche de mises à jour en arrière-plan",
"neverManualOnly": "Jamais - Manuellement uniquement", "neverManualOnly": "Jamais - Manuellement uniquement",
"appearance": "Apparence", "appearance": "Apparence",
"showWebInAppView": "Afficher la page Web source dans la vue Applications", "showWebInAppView": "Afficher la page Web source dans l'onglet 'Applications'",
"pinUpdates": "Épingler les mises à jour en haut de la vue Applications", "pinUpdates": "Épingler les mises à jour en haut de l'onglet 'Applications'",
"updates": "Mises à jour", "updates": "Mises à jour",
"sourceSpecific": "Spécifique à la source", "sourceSpecific": "Spécifique à la source",
"appSource": "Source de l'application", "appSource": "Source de l'application",
"noLogs": "Aucun journal", "noLogs": "Aucun journal",
"appLogs": "Journaux d'applications", "appLogs": "Journaux d'application",
"close": "Fermer", "close": "Fermer",
"share": "Partager", "share": "Partager",
"appNotFound": "Application introuvable", "appNotFound": "Application introuvable",
"obtainiumExportHyphenatedLowercase": "export-obtainium", "obtainiumExportHyphenatedLowercase": "export-obtainium",
"pickAnAPK": "Selectionner une APK", "pickAnAPK": "Selectionner un APK",
"appHasMoreThanOnePackage": "{} a plus d'un paquet :", "appHasMoreThanOnePackage": "{} a plus d'un paquet:",
"deviceSupportsXArch": "Votre appareil prend en charge l'architecture CPU {}.", "deviceSupportsXArch": "Votre appareil prend en charge l'architecture CPU {}.",
"deviceSupportsFollowingArchs": "Votre appareil prend en charge les architectures CPU suivants : ", "deviceSupportsFollowingArchs": "Votre appareil prend en charge les architectures CPU suivants: ",
"warning": "Avertissement", "warning": "Avertissement",
"sourceIsXButPackageFromYPrompt": "La source de l'application est '{}' mais le paquet de mise à jour provient de '{}'. Continuer ?", "sourceIsXButPackageFromYPrompt": "La source de l'application est '{}' mais le paquet de mise à jour provient de '{}'. Continuer ?",
"updatesAvailable": "Mises à jour disponibles", "updatesAvailable": "Mises à jour disponibles",
@@ -148,7 +148,7 @@
"xHasAnUpdate": "{} a une mise à jour.", "xHasAnUpdate": "{} a une mise à jour.",
"appsUpdated": "Applications mises à jour", "appsUpdated": "Applications mises à jour",
"appsNotUpdated": "Échec de la mise à jour des applications", "appsNotUpdated": "Échec de la mise à jour des applications",
"appsUpdatedNotifDescription": "Notifie à l'utilisateur que des mises à jour d'une ou plusieurs applications ont été installés en arrière-plan.", "appsUpdatedNotifDescription": "Notifie à l'utilisateur que des mises à jour d'une ou plusieurs applications ont été installées en arrière-plan.",
"xWasUpdatedToY": "{} a été mis à jour en {}.", "xWasUpdatedToY": "{} a été mis à jour en {}.",
"xWasNotUpdatedToY": "Échec de la mise à jour de {} vers {}.", "xWasNotUpdatedToY": "Échec de la mise à jour de {} vers {}.",
"errorCheckingUpdates": "Erreur lors de la recherche de mises à jour", "errorCheckingUpdates": "Erreur lors de la recherche de mises à jour",
@@ -172,14 +172,14 @@
"installedVersionX": "Version installée : {}", "installedVersionX": "Version installée : {}",
"lastUpdateCheckX": "Dernière recherche de mises à jour : {}", "lastUpdateCheckX": "Dernière recherche de mises à jour : {}",
"remove": "Supprimer", "remove": "Supprimer",
"yesMarkUpdated": "Oui, Marquer comme étant à jour", "yesMarkUpdated": "Oui, marquer comme étant à jour",
"fdroid": "F-Droid Officiel", "fdroid": "F-Droid Officiel",
"appIdOrName": "ID ou nom de l'application", "appIdOrName": "ID ou nom de l'application",
"appId": "ID de l'application", "appId": "ID de l'application",
"appWithIdOrNameNotFound": "Aucune application n'a été trouvée avec cet identifiant ou ce nom", "appWithIdOrNameNotFound": "Aucune application n'a été trouvée avec cet identifiant ou ce nom",
"reposHaveMultipleApps": "Les dépôts peuvent contenir plusieurs applications", "reposHaveMultipleApps": "Les dépôts peuvent contenir plusieurs applications",
"fdroidThirdPartyRepo": "Dépôt tiers F-Droid", "fdroidThirdPartyRepo": "Dépôt tiers F-Droid",
"steamMobile": "Steam Mobile", "steamMobile": "Application mobile Steam",
"steamChat": "Steam Chat", "steamChat": "Steam Chat",
"install": "Installer", "install": "Installer",
"markInstalled": "Marquer comme étant installé", "markInstalled": "Marquer comme étant installé",
@@ -191,17 +191,17 @@
"downloadingX": "Téléchargement {}", "downloadingX": "Téléchargement {}",
"downloadX": "Télécharger {}", "downloadX": "Télécharger {}",
"downloadedX": "Téléchargé {}", "downloadedX": "Téléchargé {}",
"releaseAsset": "Version actif", "releaseAsset": "Version active",
"downloadNotifDescription": "Notifie l'utilisateur sur l'avancement du téléchargement d'une application", "downloadNotifDescription": "Notifie l'utilisateur sur l'avancement du téléchargement d'une application",
"noAPKFound": "Aucun APK trouvé", "noAPKFound": "Aucun APK trouvé",
"noVersionDetection": "Aucune version trouvée", "noVersionDetection": "Aucune version trouvée",
"categorize": "Catégoriser", "categorize": "Catégoriser",
"categories": "Catégories", "categories": "Catégories",
"category": "Catégorie", "category": "Catégorie",
"noCategory": "Aucune Catégorie", "noCategory": "Aucune catégorie",
"noCategories": "Aucune Catégories", "noCategories": "Aucune catégories",
"deleteCategoriesQuestion": "Supprimer les Catégories ?", "deleteCategoriesQuestion": "Supprimer les catégories?",
"categoryDeleteWarning": "Toutes les applications des catégories supprimées seront définies comme non catégorisées.", "categoryDeleteWarning": "Toutes les applications des catégories supprimées seront définies comme non catégorisées .",
"addCategory": "Ajouter une catégorie", "addCategory": "Ajouter une catégorie",
"label": "Nom", "label": "Nom",
"language": "Langue", "language": "Langue",
@@ -213,20 +213,20 @@
"uninstallFromDevice": "Désinstaller de l'appareil", "uninstallFromDevice": "Désinstaller de l'appareil",
"onlyWorksWithNonVersionDetectApps": "Ne fonctionne que pour les applications dont la détection de la version est désactivée.", "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", "releaseDateAsVersion": "Utiliser la date de sortie comme 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 pour lesquelles une date de sortie est disponible.", "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": "Correctifs", "changes": "Modifications",
"releaseDate": "Date de sortie", "releaseDate": "Date de sortie",
"importFromURLsInFile": "Importer à partir des URLs d'un fichier (Comme OPML)", "importFromURLsInFile": "Importer à partir des URLs d'un fichier (comme OPML)",
"versionDetectionExplanation": "Reporter la chaîne de version par la version détectée par le système d'exploitation", "versionDetectionExplanation": "Reporter la chaîne de version selon la version détectée par le système d'exploitation",
"versionDetection": "Détection de la version", "versionDetection": "Détection de la version",
"standardVersionDetection": "Détection de la version standard", "standardVersionDetection": "Détection de la version standard",
"groupByCategory": "Grouper par Catégorie", "groupByCategory": "Grouper par catégorie",
"autoApkFilterByArch": "Essayer de filtrer les APKs par architecture CPU si possible", "autoApkFilterByArch": "Essayer de filtrer les APKs par architecture CPU si possible",
"overrideSource": "Remplacer la source", "overrideSource": "Remplacer la source",
"dontShowAgain": "Ne plus afficher", "dontShowAgain": "Ne plus afficher",
"dontShowTrackOnlyWarnings": "Ne plus afficher les erreurs 'Suivi uniquement'", "dontShowTrackOnlyWarnings": "Ne plus afficher les erreurs 'Suivi uniquement'",
"dontShowAPKOriginWarnings": "Ne plus afficher les erreurs sur l'origine de l'APK", "dontShowAPKOriginWarnings": "Ne plus afficher les erreurs sur l'origine de l'APK",
"moveNonInstalledAppsToBottom": "Déplacer les applications non installés vers le bas de la vue Applications", "moveNonInstalledAppsToBottom": "Déplacer les applications non installées vers le bas de la vue Applications",
"gitlabPATLabel": "Jeton d'accès personnel GitLab", "gitlabPATLabel": "Jeton d'accès personnel GitLab",
"about": "À propos", "about": "À propos",
"requiresCredentialsInSettings": "{} a besoin d'un complément d'information (dans les Paramètres)", "requiresCredentialsInSettings": "{} a besoin d'un complément d'information (dans les Paramètres)",
@@ -267,14 +267,14 @@
"autoExportOnChanges": "Exportation automatique lors de modification", "autoExportOnChanges": "Exportation automatique lors de modification",
"includeSettings": "Inclure les paramètres", "includeSettings": "Inclure les paramètres",
"filterVersionsByRegEx": "Filtrer les versions par expression régulière", "filterVersionsByRegEx": "Filtrer les versions par expression régulière",
"trySelectingSuggestedVersionCode": "Essayez de sélectionner la version suggérée du Code APK", "trySelectingSuggestedVersionCode": "Essayer de sélectionner la version suggérée du code APK",
"dontSortReleasesList": "Conserver l'ordre de la version de l'API", "dontSortReleasesList": "Conserver l'ordre de la version de l'API",
"reverseSort": "Tri inversé", "reverseSort": "Tri inversé",
"takeFirstLink": "Utiliser le premier lien", "takeFirstLink": "Utiliser le premier lien",
"skipSort": "Ignorer le tri", "skipSort": "Ignorer le tri",
"debugMenu": "Menu de déboggage", "debugMenu": "Menu de déboggage",
"bgTaskStarted": "Tâche en arrière plan démarrée - vérifier les journaux.", "bgTaskStarted": "Tâche en arrière-plan démarrée - vérifier les journaux.",
"runBgCheckNow": "Exécuter la recherche de la mise à jour en l'arrière-plan maintenant", "runBgCheckNow": "Exécuter la recherche de mise à jour en arrière-plan maintenant",
"versionExtractWholePage": "Appliquer l'extraction de la version par expression régulière à l'ensemble de la page", "versionExtractWholePage": "Appliquer l'extraction de la version par expression régulière à l'ensemble de la page",
"installing": "Installation", "installing": "Installation",
"skipUpdateNotifications": "Ignorer les notifications de mise à jour", "skipUpdateNotifications": "Ignorer les notifications de mise à jour",
@@ -288,10 +288,10 @@
"checkingForUpdatesNotifChannel": "Recherche de mises à jour", "checkingForUpdatesNotifChannel": "Recherche de mises à jour",
"onlyCheckInstalledOrTrackOnlyApps": "Rechercher uniquement les mises à jour des applications installées et des applications 'Suivi uniquement'", "onlyCheckInstalledOrTrackOnlyApps": "Rechercher uniquement les mises à jour des applications installées et des applications 'Suivi uniquement'",
"supportFixedAPKURL": "Prise en charge des URL APK fixes", "supportFixedAPKURL": "Prise en charge des URL APK fixes",
"selectX": "Selectionner {}", "selectX": "Sélectionner {}",
"parallelDownloads": "Autoriser les téléchargements simultanés", "parallelDownloads": "Autoriser les téléchargements simultanés",
"useShizuku": "Utiliser Shizuku ou Sui pour l'installation", "useShizuku": "Utiliser Shizuku ou Sui pour l'installation",
"shizukuBinderNotFound": "Le service Shizuku n'es pas démarré", "shizukuBinderNotFound": "Le service Shizuku est introuvable",
"shizukuOld": "Ancienne version de Shizuku (<11) - veuillez le mettre à jour", "shizukuOld": "Ancienne version de Shizuku (<11) - veuillez le mettre à jour",
"shizukuOldAndroidWithADB": "Shizuku fonctionne sur Android < 8.1 avec ADB - veuillez mettre à jour Android ou utiliser Sui à la place", "shizukuOldAndroidWithADB": "Shizuku fonctionne sur Android < 8.1 avec ADB - veuillez mettre à jour Android ou utiliser Sui à la place",
"shizukuPretendToBeGooglePlay": "Définir Google Play comme source d'installation (si Shizuku est utilisé)", "shizukuPretendToBeGooglePlay": "Définir Google Play comme source d'installation (si Shizuku est utilisé)",
@@ -299,7 +299,7 @@
"useVersionCodeAsOSVersion": "Utiliser le code de version de l'application détectée par le système d'exploitation", "useVersionCodeAsOSVersion": "Utiliser le code de version de l'application détectée par le système d'exploitation",
"requestHeader": "Intitulé de la demande", "requestHeader": "Intitulé de la demande",
"useLatestAssetDateAsReleaseDate": "Utiliser le dernier élément mis en ligne comme date de sortie", "useLatestAssetDateAsReleaseDate": "Utiliser le dernier élément mis en ligne comme date de sortie",
"defaultPseudoVersioningMethod": "Methode de version fictive par défaut", "defaultPseudoVersioningMethod": "Méthode de version fictive par défaut",
"partialAPKHash": "Hash partiel de l'APK", "partialAPKHash": "Hash partiel de l'APK",
"APKLinkHash": "Hash du lien APK", "APKLinkHash": "Hash du lien APK",
"directAPKLink": "Lien direct de l'APK", "directAPKLink": "Lien direct de l'APK",
@@ -308,7 +308,7 @@
"latest": "Dernière version", "latest": "Dernière version",
"invertRegEx": "Inverser l'expression régulière", "invertRegEx": "Inverser l'expression régulière",
"note": "Note", "note": "Note",
"selfHostedNote": "La liste déroulante \"{}\" peut être utilisé pour accéder à des instances auto-hébergées/personnalisées de n'importe quelle source.", "selfHostedNote": "La liste déroulante \"{}\" peut être utilisée pour accéder à des instances auto-hébergées/personnalisées de n'importe quelle source.",
"badDownload": "L'APK n'a pas pu être analysé (téléchargement incompatible ou partiel)", "badDownload": "L'APK n'a pas pu être analysé (téléchargement incompatible ou partiel)",
"beforeNewInstallsShareToAppVerifier": "Partager les nouvelles applications avec AppVerifier (si disponible)", "beforeNewInstallsShareToAppVerifier": "Partager les nouvelles applications avec AppVerifier (si disponible)",
"appVerifierInstructionToast": "Partagez avec AppVerifier, puis revenez ici lorsque tout est prêt.", "appVerifierInstructionToast": "Partagez avec AppVerifier, puis revenez ici lorsque tout est prêt.",
@@ -359,7 +359,7 @@
"other": "{} et {} autres applications ont des mises à jour." "other": "{} et {} autres applications ont des mises à jour."
}, },
"xAndNMoreUpdatesInstalled": { "xAndNMoreUpdatesInstalled": {
"one": "{} et 1 autre application ont étés mis à jour.", "one": "{} et 1 autre application ont été mises à jour.",
"other": "{} et {} autres applications ont étés mis à jour." "other": "{} et {} autres applications ont étés mis à jour."
}, },
"xAndNMoreUpdatesFailed": { "xAndNMoreUpdatesFailed": {
@@ -367,7 +367,7 @@
"other": "Échec de la mise à jour de {} et {} autres applications." "other": "Échec de la mise à jour de {} et {} autres applications."
}, },
"xAndNMoreUpdatesPossiblyInstalled": { "xAndNMoreUpdatesPossiblyInstalled": {
"one": "{} et 1 autre application ont peut-être étés mis à jour.", "one": "{} et 1 autre application ont peut-être été mises à jour.",
"other": "{} et {} autres applications ont peut-être étés mis à jour." "other": "{} et {} autres applications ont peut-être étés mis à jour."
}, },
"apk": { "apk": {

View File

@@ -4,28 +4,28 @@
"noVersionFound": "無法確定版本", "noVersionFound": "無法確定版本",
"urlMatchesNoSource": "URL 不符合已知來源", "urlMatchesNoSource": "URL 不符合已知來源",
"cantInstallOlderVersion": "無法安裝舊版本的應用程式", "cantInstallOlderVersion": "無法安裝舊版本的應用程式",
"appIdMismatch": "下載的套件 ID 與現有的應用程式 ID 不匹配", "appIdMismatch": "下載的套件 ID 與現有的應用程式 ID 不相符",
"functionNotImplemented": "此類別尚未實作此功能", "functionNotImplemented": "此類別尚未實作此功能",
"placeholder": "佔位", "placeholder": "佔位字串",
"someErrors": "發生了一些錯誤", "someErrors": "發生了一些錯誤",
"unexpectedError": "意外錯誤", "unexpectedError": "意外錯誤",
"ok": "確定", "ok": "確定",
"and": "和", "and": "和",
"githubPATLabel": "GitHub 個人存取權杖(增加速率限制)", "githubPATLabel": "GitHub 個人存取權杖(放寬速率限制)",
"includePrereleases": "包含預發佈版本", "includePrereleases": "包含預先釋出版本",
"fallbackToOlderReleases": "回退到舊版本", "fallbackToOlderReleases": "回退到舊版本",
"filterReleaseTitlesByRegEx": "用正則表達式過濾版本標題", "filterReleaseTitlesByRegEx": "用正則表達式過濾版本發佈標題",
"invalidRegEx": "無效的正則表達式", "invalidRegEx": "無效的正則表達式",
"noDescription": "描述", "noDescription": "沒有描述",
"cancel": "取消", "cancel": "取消",
"continue": "繼續", "continue": "繼續",
"requiredInBrackets": "(必填)", "requiredInBrackets": "必填",
"dropdownNoOptsError": "錯誤:下拉選單必須至少有一個選項", "dropdownNoOptsError": "錯誤:下拉選單必須至少有一個選項",
"colour": "顏色", "colour": "顏色",
"standard": "標準", "standard": "標準",
"custom": "自訂", "custom": "自訂",
"useMaterialYou": "使用 Material You", "useMaterialYou": "使用 Material You",
"githubStarredRepos": "GitHub Starred Repos", "githubStarredRepos": "GitHub 打星星的專案",
"uname": "使用者名稱", "uname": "使用者名稱",
"wrongArgNum": "提供的參數數量錯誤", "wrongArgNum": "提供的參數數量錯誤",
"xIsTrackOnly": "{} 是僅追蹤", "xIsTrackOnly": "{} 是僅追蹤",
@@ -35,16 +35,16 @@
"youPickedTrackOnly": "您已選擇「僅追蹤」選項。", "youPickedTrackOnly": "您已選擇「僅追蹤」選項。",
"trackOnlyAppDescription": "該應用程式將被追蹤更新,但 Obtainium 將無法下載或安裝它。", "trackOnlyAppDescription": "該應用程式將被追蹤更新,但 Obtainium 將無法下載或安裝它。",
"cancelled": "已取消", "cancelled": "已取消",
"appAlreadyAdded": "應用程式已添加", "appAlreadyAdded": "應用程式已新增",
"alreadyUpToDateQuestion": "應用程式已經是最新的?", "alreadyUpToDateQuestion": "應用程式已經是最新的?",
"addApp": "添加應用程式", "addApp": "新增應用程式",
"appSourceURL": "應用程式來源 URL", "appSourceURL": "應用程式來源 URL",
"error": "錯誤", "error": "錯誤",
"add": "添加", "add": "新增",
"searchSomeSourcesLabel": "搜尋(僅限部分來源)", "searchSomeSourcesLabel": "搜尋(僅限部分來源)",
"search": "搜尋", "search": "搜尋",
"additionalOptsFor": "{} 的其他選項", "additionalOptsFor": "{} 的其他選項",
"supportedSources": "支的來源", "supportedSources": "支的來源",
"trackOnlyInBrackets": "(僅追蹤)", "trackOnlyInBrackets": "(僅追蹤)",
"searchableInBrackets": "(可搜尋)", "searchableInBrackets": "(可搜尋)",
"appsString": "應用程式", "appsString": "應用程式",
@@ -58,7 +58,7 @@
"pseudoVersion": "偽版本", "pseudoVersion": "偽版本",
"selectAll": "全選", "selectAll": "全選",
"deselectX": "取消選取 {}", "deselectX": "取消選取 {}",
"xWillBeRemovedButRemainInstalled": "{} 將從 Obtainium 中移除,但仍然安裝在設備上。", "xWillBeRemovedButRemainInstalled": "{} 將從 Obtainium 中移除,但仍然安裝在裝置上。",
"removeSelectedAppsQuestion": "移除選取的應用程式?", "removeSelectedAppsQuestion": "移除選取的應用程式?",
"removeSelectedApps": "移除選取的應用程式", "removeSelectedApps": "移除選取的應用程式",
"updateX": "更新 {}", "updateX": "更新 {}",
@@ -71,12 +71,12 @@
"no": "否", "no": "否",
"yes": "是", "yes": "是",
"markSelectedAppsUpdated": "標記選取的應用程式為已更新", "markSelectedAppsUpdated": "標記選取的應用程式為已更新",
"pinToTop": "釘選到頂", "pinToTop": "釘選到頂",
"unpinFromTop": "取消釘選", "unpinFromTop": "取消釘選",
"resetInstallStatusForSelectedAppsQuestion": "重設選取應用程式的安裝狀態?", "resetInstallStatusForSelectedAppsQuestion": "重設選取應用程式的安裝狀態?",
"installStatusOfXWillBeResetExplanation": "任何選取應用程式的安裝狀態將被重設。\n\n這可以在由於更新失敗或其他問題導致 Obtainium 顯示的應用程式版本不正確時有所幫助。", "installStatusOfXWillBeResetExplanation": "任何選取應用程式的安裝狀態將被重設。\n\n這可以在由於更新失敗或其他問題導致 Obtainium 顯示的應用程式版本不正確時有所幫助。",
"customLinkMessage": "這些連結適用於已安裝 Obtainium 的設備", "customLinkMessage": "這些連結適用於已安裝 Obtainium 的裝置",
"shareAppConfigLinks": "分享應用程式配置為 HTML 連結", "shareAppConfigLinks": "分享應用程式設定為 HTML 連結",
"shareSelectedAppURLs": "分享選取的應用程式 URL", "shareSelectedAppURLs": "分享選取的應用程式 URL",
"resetInstallStatus": "重設安裝狀態", "resetInstallStatus": "重設安裝狀態",
"more": "更多", "more": "更多",
@@ -95,14 +95,14 @@
"invalidInput": "無效的輸入", "invalidInput": "無效的輸入",
"importedX": "已匯入 {}", "importedX": "已匯入 {}",
"obtainiumImport": "Obtainium 匯入", "obtainiumImport": "Obtainium 匯入",
"importFromURLList": "從 URL 列表匯入", "importFromURLList": "從 URL 清單匯入",
"searchQuery": "搜尋查詢", "searchQuery": "搜尋查詢",
"appURLList": "應用程式 URL 清單", "appURLList": "應用程式 URL 清單",
"line": "行", "line": "行",
"searchX": "搜尋 {}", "searchX": "搜尋 {}",
"noResults": "找到結果", "noResults": "沒有找到結果",
"importX": "匯入 {}", "importX": "匯入 {}",
"importedAppsIdDisclaimer": "匯入的應用程式可能會錯誤地顯示為「未安裝」。\n要修正此問題過 Obtainium 重新安裝它們。\n這不應該影響應用程式數據。\n\n僅影響 URL 和第三方匯入方法。", "importedAppsIdDisclaimer": "匯入的應用程式可能會錯誤地顯示為「未安裝」。\n要修正此問題過 Obtainium 重新安裝它們。\n這不應該影響應用程式資料。\n\n僅影響 URL 和第三方匯入方法。",
"importErrors": "匯入錯誤", "importErrors": "匯入錯誤",
"importedXOfYApps": "已匯入 {} 個中的 {} 個應用程式。", "importedXOfYApps": "已匯入 {} 個中的 {} 個應用程式。",
"followingURLsHadErrors": "以下 URL 有錯誤:", "followingURLsHadErrors": "以下 URL 有錯誤:",
@@ -118,7 +118,7 @@
"appSortBy": "應用程式排序依據", "appSortBy": "應用程式排序依據",
"authorName": "作者/名稱", "authorName": "作者/名稱",
"nameAuthor": "名稱/作者", "nameAuthor": "名稱/作者",
"asAdded": "添加順序", "asAdded": "新增順序",
"appSortOrder": "應用程式排序順序", "appSortOrder": "應用程式排序順序",
"ascending": "升序", "ascending": "升序",
"descending": "降序", "descending": "降序",
@@ -134,12 +134,12 @@
"appLogs": "應用程式日誌", "appLogs": "應用程式日誌",
"close": "關閉", "close": "關閉",
"share": "分享", "share": "分享",
"appNotFound": "找到應用程式", "appNotFound": "沒有找到應用程式",
"obtainiumExportHyphenatedLowercase": "obtainium-export", "obtainiumExportHyphenatedLowercase": "obtainium-export",
"pickAnAPK": "選擇一個 APK", "pickAnAPK": "選擇一個 APK",
"appHasMoreThanOnePackage": "{} 有多個套件:", "appHasMoreThanOnePackage": "{} 有多個套件:",
"deviceSupportsXArch": "您的設備支持 {} CPU 架構。", "deviceSupportsXArch": "您的裝置支援 {} CPU 架構。",
"deviceSupportsFollowingArchs": "您的設備支持以下 CPU 架構:", "deviceSupportsFollowingArchs": "您的裝置支援以下 CPU 架構:",
"warning": "警告", "warning": "警告",
"sourceIsXButPackageFromYPrompt": "應用程式來源是 「{}」,但發佈套件來自 「{}」。要繼續嗎?", "sourceIsXButPackageFromYPrompt": "應用程式來源是 「{}」,但發佈套件來自 「{}」。要繼續嗎?",
"updatesAvailable": "有可用的更新", "updatesAvailable": "有可用的更新",
@@ -148,7 +148,7 @@
"xHasAnUpdate": "{} 有一個更新。", "xHasAnUpdate": "{} 有一個更新。",
"appsUpdated": "應用程式已更新", "appsUpdated": "應用程式已更新",
"appsNotUpdated": "未能更新應用程式", "appsNotUpdated": "未能更新應用程式",
"appsUpdatedNotifDescription": "通知使用者一個或多個應用程式的更新已在背景中用", "appsUpdatedNotifDescription": "通知使用者一個或多個應用程式的更新已在背景中用",
"xWasUpdatedToY": "{} 已更新到 {}。", "xWasUpdatedToY": "{} 已更新到 {}。",
"xWasNotUpdatedToY": "未能將 {} 更新到 {}。", "xWasNotUpdatedToY": "未能將 {} 更新到 {}。",
"errorCheckingUpdates": "檢查更新時出錯", "errorCheckingUpdates": "檢查更新時出錯",
@@ -158,13 +158,13 @@
"xWasRemovedDueToErrorY": "{} 已因以下錯誤被移除:{}", "xWasRemovedDueToErrorY": "{} 已因以下錯誤被移除:{}",
"completeAppInstallation": "完成應用程式安裝", "completeAppInstallation": "完成應用程式安裝",
"obtainiumMustBeOpenToInstallApps": "Obtainium 必須開啟才能安裝應用程式", "obtainiumMustBeOpenToInstallApps": "Obtainium 必須開啟才能安裝應用程式",
"completeAppInstallationNotifDescription": "請使用者回 Obtainium 以完成應用程式安裝", "completeAppInstallationNotifDescription": "請使用者回 Obtainium 以完成應用程式安裝",
"checkingForUpdates": "正在檢查更新", "checkingForUpdates": "正在檢查更新",
"checkingForUpdatesNotifDescription": "檢查更新時顯示的暫時性通知", "checkingForUpdatesNotifDescription": "檢查更新時顯示的暫時性通知",
"pleaseAllowInstallPerm": "請允許 Obtainium 安裝應用程式", "pleaseAllowInstallPerm": "請允許 Obtainium 安裝應用程式",
"trackOnly": "僅追蹤", "trackOnly": "僅追蹤",
"errorWithHttpStatusCode": "錯誤 {}", "errorWithHttpStatusCode": "錯誤 {}",
"versionCorrectionDisabled": "版本校正已用(外掛程式似乎無法正常工作)", "versionCorrectionDisabled": "版本校正已用(外掛程式似乎無法正常工作)",
"unknown": "未知", "unknown": "未知",
"none": "無", "none": "無",
"never": "從不", "never": "從不",
@@ -186,47 +186,47 @@
"update": "更新", "update": "更新",
"markUpdated": "標記為已更新", "markUpdated": "標記為已更新",
"additionalOptions": "額外選項", "additionalOptions": "額外選項",
"disableVersionDetection": "用版本測", "disableVersionDetection": "用版本測",
"noVersionDetectionExplanation": "此選項僅應用於版本測無法正確工作的應用程式。", "noVersionDetectionExplanation": "此選項僅應用於版本測無法正確工作的應用程式。",
"downloadingX": "正在下載 {}", "downloadingX": "正在下載 {}",
"downloadX": "下載 {}", "downloadX": "下載 {}",
"downloadedX": "已下載 {}", "downloadedX": "已下載 {}",
"releaseAsset": "發佈資源", "releaseAsset": "發佈資源",
"downloadNotifDescription": "通知使用者應用程式下載進度", "downloadNotifDescription": "通知使用者應用程式下載進度",
"noAPKFound": "找到 APK", "noAPKFound": "沒有找到 APK",
"noVersionDetection": "無版本測", "noVersionDetection": "無版本測",
"categorize": "分類", "categorize": "分類",
"categories": "類別", "categories": "類別",
"category": "類別", "category": "類別",
"noCategory": "無類別", "noCategory": "無類別",
"noCategories": "無類別", "noCategories": "無類別",
"deleteCategoriesQuestion": "刪除類別?", "deleteCategoriesQuestion": "刪除類別?",
"categoryDeleteWarning": "所有在已刪除類別中的應用程式將被設為未分類。", "categoryDeleteWarning": "所有在已刪除類別中的應用程式將被設為未分類。",
"addCategory": "新增類別", "addCategory": "新增類別",
"label": "標籤", "label": "標籤",
"language": "語言", "language": "語言",
"copiedToClipboard": "已複製到剪貼簿", "copiedToClipboard": "已複製到剪貼簿",
"storagePermissionDenied": "存取權限被拒絕", "storagePermissionDenied": "存取權限被拒絕",
"selectedCategorizeWarning": "這將替換選取應用程式的任何現有類別設。", "selectedCategorizeWarning": "這將替換選取應用程式的任何現有類別設。",
"filterAPKsByRegEx": "用正則表達式過濾 APK", "filterAPKsByRegEx": "用正則表達式過濾 APK",
"removeFromObtainium": "從 Obtainium 移除", "removeFromObtainium": "從 Obtainium 移除",
"uninstallFromDevice": "從設備解除安裝", "uninstallFromDevice": "從裝置解除安裝",
"onlyWorksWithNonVersionDetectApps": "僅適用於用版本測的應用程式。", "onlyWorksWithNonVersionDetectApps": "僅適用於用版本測的應用程式。",
"releaseDateAsVersion": "使用發佈日期作為版本字串", "releaseDateAsVersion": "使用發佈日期作為版本字串",
"releaseDateAsVersionExplanation": "此選項僅應用於版本測無法正確工作但有發佈日期的應用程式。", "releaseDateAsVersionExplanation": "此選項僅應用於版本測無法正確工作但有發佈日期的應用程式。",
"changes": "變更", "changes": "變更",
"releaseDate": "發佈日期", "releaseDate": "發佈日期",
"importFromURLsInFile": "從文件中的 URL 匯入(如 OPML", "importFromURLsInFile": "從檔案中的 URL 匯入(如 OPML",
"versionDetectionExplanation": "將版本字串與作業系統測到的版本對比", "versionDetectionExplanation": "將版本字串與作業系統測到的版本對比",
"versionDetection": "版本測", "versionDetection": "版本測",
"standardVersionDetection": "標準版本測", "standardVersionDetection": "標準版本測",
"groupByCategory": "按類別分組", "groupByCategory": "按類別分組",
"autoApkFilterByArch": "如果可能,嘗試按 CPU 架構過濾 APK", "autoApkFilterByArch": "如果可能,嘗試按 CPU 架構過濾 APK",
"overrideSource": "覆蓋來源", "overrideSource": "覆蓋來源",
"dontShowAgain": "不要再顯示", "dontShowAgain": "不要再顯示",
"dontShowTrackOnlyWarnings": "不要顯示「僅追蹤」警告", "dontShowTrackOnlyWarnings": "不要顯示「僅追蹤」警告",
"dontShowAPKOriginWarnings": "不要顯示 APK 來源警告", "dontShowAPKOriginWarnings": "不要顯示 APK 來源警告",
"moveNonInstalledAppsToBottom": "將未安裝的應用程式移到應用程式視圖的底部", "moveNonInstalledAppsToBottom": "將未安裝的應用程式移到應用程式檢視的末端",
"gitlabPATLabel": "GitLab 個人存取權杖", "gitlabPATLabel": "GitLab 個人存取權杖",
"about": "關於", "about": "關於",
"requiresCredentialsInSettings": "{} 需要額外的憑證(在設定中)", "requiresCredentialsInSettings": "{} 需要額外的憑證(在設定中)",
@@ -234,34 +234,34 @@
"tryInferAppIdFromCode": "嘗試從原始碼推斷應用程式 ID", "tryInferAppIdFromCode": "嘗試從原始碼推斷應用程式 ID",
"removeOnExternalUninstall": "自動移除外部解除安裝的應用程式", "removeOnExternalUninstall": "自動移除外部解除安裝的應用程式",
"pickHighestVersionCode": "自動選取最高版本號的 APK", "pickHighestVersionCode": "自動選取最高版本號的 APK",
"checkUpdateOnDetailPage": "在開應用程式詳細頁面時檢查更新", "checkUpdateOnDetailPage": "在開應用程式詳細頁面時檢查更新",
"disablePageTransitions": "用頁面過渡動畫", "disablePageTransitions": "用頁面過渡動畫",
"reversePageTransitions": "反轉頁面過渡動畫", "reversePageTransitions": "反轉頁面過渡動畫",
"minStarCount": "最少星數", "minStarCount": "最少星數",
"addInfoBelow": "在下方添加此資訊。", "addInfoBelow": "在下方新增此資訊。",
"addInfoInSettings": "在設定中增加此資訊。", "addInfoInSettings": "在設定中增加此資訊。",
"githubSourceNote": "使用 API 金鑰可以避免 GitHub 的速率限制。", "githubSourceNote": "使用 API 金鑰可以避免 GitHub 的速率限制。",
"sortByLastLinkSegment": "僅按連結的最後一段排序", "sortByLastLinkSegment": "僅按連結的最後一段排序",
"filterReleaseNotesByRegEx": "用正則表達式過濾發佈說明", "filterReleaseNotesByRegEx": "用正則表達式過濾發佈說明",
"customLinkFilterRegex": "自定 APK 連結過濾正則表達式(預設為 '.apk$'", "customLinkFilterRegex": "自定 APK 連結過濾正則表達式(預設為 '.apk$'",
"appsPossiblyUpdated": "嘗試更新應用程式", "appsPossiblyUpdated": "嘗試更新應用程式",
"appsPossiblyUpdatedNotifDescription": "通知使用者一個或多個應用程式的更新可能已在背景中用", "appsPossiblyUpdatedNotifDescription": "通知使用者一個或多個應用程式的更新可能已在背景中用",
"xWasPossiblyUpdatedToY": "{} 可能已更新到 {}。", "xWasPossiblyUpdatedToY": "{} 可能已更新到 {}。",
"enableBackgroundUpdates": "啟用背景更新", "enableBackgroundUpdates": "啟用背景更新",
"backgroundUpdateReqsExplanation": "並非所有應用程式都能進行背景更新。", "backgroundUpdateReqsExplanation": "並非所有應用程式都能進行背景更新。",
"backgroundUpdateLimitsExplanation": "背景安裝的成功與否只能在開 Obtainium 時確定。", "backgroundUpdateLimitsExplanation": "背景安裝的成功與否只能在開 Obtainium 時確定。",
"verifyLatestTag": "驗證「最新」標籤", "verifyLatestTag": "驗證「最新」標籤",
"intermediateLinkRegex": "過濾要訪問的「中間」連結", "intermediateLinkRegex": "過濾要存取的「中間」連結",
"filterByLinkText": "按連結文過濾連結", "filterByLinkText": "按連結文過濾連結",
"intermediateLinkNotFound": "找到中間連結", "intermediateLinkNotFound": "沒有找到中間連結",
"intermediateLink": "中間連結", "intermediateLink": "中間連結",
"exemptFromBackgroundUpdates": "免除背景更新(若已啟用)", "exemptFromBackgroundUpdates": "免除背景更新(若已啟用)",
"bgUpdatesOnWiFiOnly": "用非 WiFi 的背景更新", "bgUpdatesOnWiFiOnly": "用非 WiFi 的背景更新",
"autoSelectHighestVersionCode": "自動選擇最高 versionCode 的 APK", "autoSelectHighestVersionCode": "自動選擇最高 versionCode 的 APK",
"versionExtractionRegEx": "版本字串提取正則表達式", "versionExtractionRegEx": "版本字串提取正則表達式",
"trimVersionString": "Trim Version String With RegEx", "trimVersionString": "用正則表達式修剪版本字串",
"matchGroupToUseForX": "Match Group to Use for \"{}\"", "matchGroupToUseForX": "用於「{}」的對應群組",
"matchGroupToUse": "要用於版本字串提取的匹配組", "matchGroupToUse": "要用於版本字串提取的對應群組",
"highlightTouchTargets": "突出顯示不明顯的觸控目標", "highlightTouchTargets": "突出顯示不明顯的觸控目標",
"pickExportDir": "選擇匯出目錄", "pickExportDir": "選擇匯出目錄",
"autoExportOnChanges": "更改時自動匯出", "autoExportOnChanges": "更改時自動匯出",
@@ -275,7 +275,7 @@
"debugMenu": "除錯選單", "debugMenu": "除錯選單",
"bgTaskStarted": "背景任務已啟動 - 檢查日誌。", "bgTaskStarted": "背景任務已啟動 - 檢查日誌。",
"runBgCheckNow": "立即執行背景更新檢查", "runBgCheckNow": "立即執行背景更新檢查",
"versionExtractWholePage": "將版本字串提取正則表達式用於整個頁面", "versionExtractWholePage": "將版本字串提取正則表達式用於整個頁面",
"installing": "正在安裝", "installing": "正在安裝",
"skipUpdateNotifications": "跳過更新通知", "skipUpdateNotifications": "跳過更新通知",
"updatesAvailableNotifChannel": "有可用的更新", "updatesAvailableNotifChannel": "有可用的更新",
@@ -291,12 +291,12 @@
"selectX": "選擇 {}", "selectX": "選擇 {}",
"parallelDownloads": "允許平行下載", "parallelDownloads": "允許平行下載",
"useShizuku": "使用 Shizuku 或 Sui 來安裝", "useShizuku": "使用 Shizuku 或 Sui 來安裝",
"shizukuBinderNotFound": "Shizuku 服務未運", "shizukuBinderNotFound": "Shizuku 服務未運",
"shizukuOld": "舊版 Shizuku (<11) - 請更新", "shizukuOld": "舊版 Shizuku (<11) - 請更新",
"shizukuOldAndroidWithADB": "Shizuku 在 Android 8.1 以下版本使用 ADB 行 - 請更新 Android 或改用 Sui", "shizukuOldAndroidWithADB": "Shizuku 在 Android 8.1 以下版本使用 ADB 行 - 請更新 Android 或改用 Sui",
"shizukuPretendToBeGooglePlay": "設 Google Play 為安裝來源(如果使用 Shizuku", "shizukuPretendToBeGooglePlay": "設 Google Play 為安裝來源(如果使用 Shizuku",
"useSystemFont": "使用系統字", "useSystemFont": "使用系統字",
"useVersionCodeAsOSVersion": "使用應用程式 versionCode 作為作系統測的版本", "useVersionCodeAsOSVersion": "使用應用程式 versionCode 作為作系統測的版本",
"requestHeader": "請求標頭", "requestHeader": "請求標頭",
"useLatestAssetDateAsReleaseDate": "使用最新資源上傳日期作為發佈日期", "useLatestAssetDateAsReleaseDate": "使用最新資源上傳日期作為發佈日期",
"defaultPseudoVersioningMethod": "預設偽版本管理方法", "defaultPseudoVersioningMethod": "預設偽版本管理方法",
@@ -308,12 +308,12 @@
"latest": "最新", "latest": "最新",
"invertRegEx": "反轉正則表達式", "invertRegEx": "反轉正則表達式",
"note": "備註", "note": "備註",
"selfHostedNote": "可使用「{}」下拉選單來訪問任何來源的自託管/自定義實例。", "selfHostedNote": "可使用「{}」下拉選單來存取任何來源的自託管/自訂執行個體。",
"badDownload": "無法解析 APK容或下載不完整)", "badDownload": "無法解析 APK容或下載不完整)",
"beforeNewInstallsShareToAppVerifier": "將新應用程式分享到 AppVerifier如果可用", "beforeNewInstallsShareToAppVerifier": "將新應用程式分享到 AppVerifier如果可用",
"appVerifierInstructionToast": "分享至 AppVerifier然後準備好時回此處。", "appVerifierInstructionToast": "分享至 AppVerifier然後準備好時回此處。",
"wiki": "幫助/維基", "wiki": "幫助/維基",
"crowdsourcedConfigsLabel": "群眾外包的應用程式配置(使用風險自負)", "crowdsourcedConfigsLabel": "群眾外包的應用程式設定(使用風險自負)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "移除應用程式?", "one": "移除應用程式?",
"other": "移除應用程式?" "other": "移除應用程式?"

View File

@@ -68,11 +68,6 @@ class APKPure extends AppSource {
'customLinkFilterRegex': '$standardUrl/download/[^/]+\$' 'customLinkFilterRegex': '$standardUrl/download/[^/]+\$'
}); });
// if (versionLinks.length > 7) {
// // Returns up to 30 which is too much - would take too long and possibly get blocked/rate-limited
// versionLinks = versionLinks.sublist(0, 7);
// }
var supportedArchs = (await DeviceInfoPlugin().androidInfo).supportedAbis; var supportedArchs = (await DeviceInfoPlugin().androidInfo).supportedAbis;
if (additionalSettings['autoApkFilterByArch'] != true) { if (additionalSettings['autoApkFilterByArch'] != true) {
@@ -94,11 +89,16 @@ class APKPure extends AppSource {
var apkUrls = apksDiv var apkUrls = apksDiv
?.querySelectorAll('div.group-title') ?.querySelectorAll('div.group-title')
.map((e) { .map((e) {
String architecture = e.text.trim(); String architectureString = e.text.trim();
if (architecture.toLowerCase() == 'unlimited' || if (architectureString.toLowerCase() == 'unlimited' ||
architecture.toLowerCase() == 'universal') { architectureString.toLowerCase() == 'universal') {
architecture = ''; architectureString = '';
} }
List<String> architectures = architectureString
.split(',')
.map((e) => e.trim())
.where((e) => e.isNotEmpty)
.toList();
// Only take the first APK for each architecture, ignore others for now, for simplicity // 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 // Unclear why there can even be multiple APKs for the same version and arch
var apkInfo = e.nextElementSibling?.querySelector('div.info'); var apkInfo = e.nextElementSibling?.querySelector('div.info');
@@ -121,14 +121,16 @@ class APKPure extends AppSource {
DateTime? releaseDate = DateTime? releaseDate =
parseDateTimeMMMddCommayyyy(dateString); parseDateTimeMMMddCommayyyy(dateString);
if (additionalSettings['autoApkFilterByArch'] == true && if (additionalSettings['autoApkFilterByArch'] == true &&
architecture.isNotEmpty && architectures.isNotEmpty &&
!supportedArchs.contains(architecture)) { architectures
.where((a) => supportedArchs.contains(a))
.isEmpty) {
return const MapEntry('', ''); return const MapEntry('', '');
} }
topReleaseDate ??= topReleaseDate ??=
releaseDate; // Just use the release date of the first APK in the list as the release date for this version releaseDate; // Just use the release date of the first APK in the list as the release date for this version
return MapEntry( return MapEntry(
'$appId-$versionCode-$architecture.${type.toLowerCase()}', '$appId-$versionCode-$architectureString.${type.toLowerCase()}',
'https://d.${hosts.contains(host) ? 'cdnpure.com' : host}/b/$type/$appId?versionCode=$versionCode'); 'https://d.${hosts.contains(host) ? 'cdnpure.com' : host}/b/$type/$appId?versionCode=$versionCode');
}) })
.where((e) => e.key.isNotEmpty) .where((e) => e.key.isNotEmpty)

View File

@@ -202,7 +202,7 @@ class GitLab extends AppSource {
} }
finalResult.apkUrls = finalResult.apkUrls.map((apkUrl) { finalResult.apkUrls = finalResult.apkUrls.map((apkUrl) {
if (RegExp('^$standardUrl/-/jobs/[0-9]+/artifacts/file/[^/]+\$') if (RegExp('^$standardUrl/-/jobs/[0-9]+/artifacts/file/[^/]+')
.hasMatch(apkUrl.value)) { .hasMatch(apkUrl.value)) {
return MapEntry( return MapEntry(
apkUrl.key, apkUrl.value.replaceFirst('/file/', '/raw/')); apkUrl.key, apkUrl.value.replaceFirst('/file/', '/raw/'));

View File

@@ -10,6 +10,7 @@ class Uptodown extends AppSource {
allowSubDomains = true; allowSubDomains = true;
naiveStandardVersionDetection = true; naiveStandardVersionDetection = true;
showReleaseDateAsVersionToggle = true; showReleaseDateAsVersionToggle = true;
urlsAlwaysHaveExtension = true;
} }
@override @override
@@ -39,20 +40,29 @@ class Uptodown extends AppSource {
} }
var html = parse(res.body); var html = parse(res.body);
String? version = html.querySelector('div.version')?.innerHtml; String? version = html.querySelector('div.version')?.innerHtml;
String? apkUrl =
'${standardUrl.split('/').reversed.toList().sublist(1).reversed.join('/')}/post-download';
String? name = html.querySelector('#detail-app-name')?.innerHtml.trim(); String? name = html.querySelector('#detail-app-name')?.innerHtml.trim();
String? author = html.querySelector('#author-link')?.innerHtml.trim(); String? author = html.querySelector('#author-link')?.innerHtml.trim();
var detailElements = html.querySelectorAll('#technical-information td'); var detailElements = html.querySelectorAll('#technical-information td');
String? appId = (detailElements.elementAtOrNull(2))?.innerHtml.trim(); String? appId = (detailElements.elementAtOrNull(2))?.innerHtml.trim();
String? dateStr = (detailElements.elementAtOrNull(29))?.innerHtml.trim(); String? dateStr = (detailElements.elementAtOrNull(29))?.innerHtml.trim();
String? fileId =
html.querySelector('#detail-app-name')?.attributes['data-file-id'];
String? extension = html
.querySelectorAll('td')
.where((e) => e.text.toLowerCase().trim() == 'file type')
.firstOrNull
?.nextElementSibling
?.text
.toLowerCase()
.trim();
return Map.fromEntries([ return Map.fromEntries([
MapEntry('version', version), MapEntry('version', version),
MapEntry('apkUrl', apkUrl),
MapEntry('appId', appId), MapEntry('appId', appId),
MapEntry('name', name), MapEntry('name', name),
MapEntry('author', author), MapEntry('author', author),
MapEntry('dateStr', dateStr) MapEntry('dateStr', dateStr),
MapEntry('fileId', fileId),
MapEntry('extension', extension)
]); ]);
} }
@@ -64,14 +74,16 @@ class Uptodown extends AppSource {
var appDetails = var appDetails =
await getAppDetailsFromPage(standardUrl, additionalSettings); await getAppDetailsFromPage(standardUrl, additionalSettings);
var version = appDetails['version']; var version = appDetails['version'];
var apkUrl = appDetails['apkUrl'];
var appId = appDetails['appId']; var appId = appDetails['appId'];
var fileId = appDetails['fileId'];
var extension = appDetails['extension'];
if (version == null) { if (version == null) {
throw NoVersionError(); throw NoVersionError();
} }
if (apkUrl == null) { if (fileId == null) {
throw NoAPKError(); throw NoAPKError();
} }
var apkUrl = '$standardUrl/$fileId-x';
if (appId == null) { if (appId == null) {
throw NoReleasesError(); throw NoReleasesError();
} }
@@ -82,8 +94,8 @@ class Uptodown extends AppSource {
if (dateStr != null) { if (dateStr != null) {
relDate = parseDateTimeMMMddCommayyyy(dateStr); relDate = parseDateTimeMMMddCommayyyy(dateStr);
} }
return APKDetails( return APKDetails(version, [MapEntry('$appId.$extension', apkUrl)],
version, getApkUrlsFromUrls([apkUrl]), AppNames(author, appName), AppNames(author, appName),
releaseDate: relDate); releaseDate: relDate);
} }
@@ -96,7 +108,7 @@ class Uptodown extends AppSource {
} }
var html = parse(res.body); var html = parse(res.body);
var finalUrlKey = var finalUrlKey =
html.querySelector('.post-download')?.attributes['data-url']; html.querySelector('#detail-download-button')?.attributes['data-url'];
if (finalUrlKey == null) { if (finalUrlKey == null) {
throw NoAPKError(); throw NoAPKError();
} }

View File

@@ -225,7 +225,9 @@ Future<File> downloadFile(String url, String fileName, bool fileNameHasExt,
ext != 'apk') { ext != 'apk') {
ext = 'apk'; ext = 'apk';
} }
fileName = fileName.split('/').last; // Ensure the fileName is a file name fileName = fileNameHasExt
? fileName
: fileName.split('/').last; // Ensure the fileName is a file name
File downloadedFile = File('$destDir/$fileName.$ext'); File downloadedFile = File('$destDir/$fileName.$ext');
if (fileNameHasExt) { if (fileNameHasExt) {
// If the user says the filename already has an ext, ignore whatever you inferred from above // If the user says the filename already has an ext, ignore whatever you inferred from above
@@ -447,11 +449,15 @@ class AppsProvider with ChangeNotifier {
notificationsProvider?.cancel(notif.id); notificationsProvider?.cancel(notif.id);
int? prevProg; int? prevProg;
var fileNameNoExt = '${app.id}-${downloadUrl.hashCode}'; var fileNameNoExt = '${app.id}-${downloadUrl.hashCode}';
if (source.urlsAlwaysHaveExtension) {
fileNameNoExt =
'$fileNameNoExt.${app.apkUrls[app.preferredApkIndex].key.split('.').last}';
}
var headers = await source.getRequestHeaders(app.additionalSettings, var headers = await source.getRequestHeaders(app.additionalSettings,
forAPKDownload: true); forAPKDownload: true);
var downloadedFile = await downloadFileWithRetry( var downloadedFile = await downloadFileWithRetry(
downloadUrl, fileNameNoExt, false, headers: headers, downloadUrl, fileNameNoExt, source.urlsAlwaysHaveExtension,
(double? progress) { headers: headers, (double? progress) {
int? prog = progress?.ceil(); int? prog = progress?.ceil();
if (apps[app.id] != null) { if (apps[app.id] != null) {
apps[app.id]!.downloadProgress = progress; apps[app.id]!.downloadProgress = progress;
@@ -485,8 +491,17 @@ class AppsProvider with ChangeNotifier {
.listSync() .listSync()
.where((e) => e.path.toLowerCase().endsWith('.apk')) .where((e) => e.path.toLowerCase().endsWith('.apk'))
.toList(); .toList();
newInfo = for (var i = 0; i < apks.length; i++) {
await pm.getPackageArchiveInfo(archiveFilePath: apks.first.path); try {
newInfo = await pm.getPackageArchiveInfo(
archiveFilePath: apks.first.path);
break;
} catch (e) {
if (i == apks.length - 1) {
rethrow;
}
}
}
} }
if (newInfo == null) { if (newInfo == null) {
downloadedFile.delete(); downloadedFile.delete();
@@ -844,7 +859,11 @@ class AppsProvider with ChangeNotifier {
if (needBGWorkaround) { if (needBGWorkaround) {
// ignore: use_build_context_synchronously // ignore: use_build_context_synchronously
installApk(downloadedFile, contextIfNewInstall, installApk(downloadedFile, contextIfNewInstall,
needsBGWorkaround: true); needsBGWorkaround: true,
shizukuPretendToBeGooglePlay: apps[id]!
.app
.additionalSettings['shizukuPretendToBeGooglePlay'] ==
true);
} else { } else {
// ignore: use_build_context_synchronously // ignore: use_build_context_synchronously
sayInstalled = await installApk(downloadedFile, contextIfNewInstall, sayInstalled = await installApk(downloadedFile, contextIfNewInstall,

View File

@@ -412,6 +412,7 @@ abstract class AppSource {
bool showReleaseDateAsVersionToggle = false; bool showReleaseDateAsVersionToggle = false;
bool versionDetectionDisallowed = false; bool versionDetectionDisallowed = false;
List<String> excludeCommonSettingKeys = []; List<String> excludeCommonSettingKeys = [];
bool urlsAlwaysHaveExtension = false;
AppSource() { AppSource() {
name = runtimeType.toString(); name = runtimeType.toString();

View File

@@ -47,10 +47,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: app_links name: app_links
sha256: ae5f9a1b7d40d26178f605414be81ed4260350b4fae8259fe5ca4f89fe70c4af sha256: "4acba851087b25136e8f6e32a53bd4536eb3bec69947ddb66e7b9a5792ceb0c7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.4" version: "6.2.0"
app_links_linux: app_links_linux:
dependency: transitive dependency: transitive
description: description:
@@ -159,10 +159,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: connectivity_plus name: connectivity_plus
sha256: "3e7d1d9dbae40ae82cbe6c23c518f0c4ffe32764ee9749b9a99d32cbac8734f6" sha256: "2056db5241f96cdc0126bd94459fc4cdc13876753768fc7a31c425e50a7177d0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.0.4" version: "6.0.5"
connectivity_plus_platform_interface: connectivity_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -183,10 +183,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: crypto name: crypto
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.3" version: "3.0.5"
csslib: csslib:
dependency: transitive dependency: transitive
description: description:
@@ -215,10 +215,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: device_info_plus name: device_info_plus
sha256: "93429694c9253d2871b3af80cf11b3cbb5c65660d402ed7bf69854ce4a089f82" sha256: a7fd703482b391a87d60b6061d04dfdeab07826b96f9abd8f5ed98068acc0074
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.1.1" version: "10.1.2"
device_info_plus_platform_interface: device_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -271,10 +271,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: ffi name: ffi
sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.2" version: "2.1.3"
file: file:
dependency: transitive dependency: transitive
description: description:
@@ -287,10 +287,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: file_picker name: file_picker
sha256: "824f5b9f389bfc4dddac3dea76cd70c51092d9dff0b2ece7ef4f53db8547d258" sha256: "167bb619cdddaa10ef2907609feb8a79c16dfa479d3afaf960f8e223f754bf12"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.0.6" version: "8.1.2"
fixnum: fixnum:
dependency: transitive dependency: transitive
description: description:
@@ -332,10 +332,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_fgbg name: flutter_fgbg
sha256: "5e61a2ff2e2e83614ae7690bea3dfa74bbd91b5c083e81ce07692411ce65e3d7" sha256: e02ad0738ba5fc7f331b62acb0d74aa540626a6441ae18fad685faa5ac4ad7a5
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.0" version: "0.6.0"
flutter_keyboard_visibility: flutter_keyboard_visibility:
dependency: transitive dependency: transitive
description: description:
@@ -404,10 +404,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_local_notifications name: flutter_local_notifications
sha256: dd6676d8c2926537eccdf9f72128bbb2a9d0814689527b17f92c248ff192eaf3 sha256: c500d5d9e7e553f06b61877ca6b9c8b92c570a4c8db371038702e8ce57f8a50f
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "17.2.1+2" version: "17.2.2"
flutter_local_notifications_linux: flutter_local_notifications_linux:
dependency: transitive dependency: transitive
description: description:
@@ -433,10 +433,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_markdown name: flutter_markdown
sha256: "2e8a801b1ded5ea001a4529c97b1f213dcb11c6b20668e081cafb23468593514" sha256: a23c41ee57573e62fc2190a1f36a0480c4d90bde3a8a8d7126e5d5992fb53fb7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.3" version: "0.7.3+1"
flutter_plugin_android_lifecycle: flutter_plugin_android_lifecycle:
dependency: transitive dependency: transitive
description: description:
@@ -467,10 +467,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: fluttertoast name: fluttertoast
sha256: "7eae679e596a44fdf761853a706f74979f8dd3cd92cf4e23cae161fda091b847" sha256: "95f349437aeebe524ef7d6c9bde3e6b4772717cf46a0eb6a3ceaddc740b297cc"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.2.6" version: "8.2.8"
fraction: fraction:
dependency: transitive dependency: transitive
description: description:
@@ -547,18 +547,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.4" version: "10.0.5"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.3" version: "3.0.5"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
@@ -595,18 +595,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.0" version: "0.11.1"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.12.0" version: "1.15.0"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@@ -651,10 +651,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path_provider_android name: path_provider_android
sha256: "490539678396d4c3c0b06efdaab75ae60675c3e0c66f72bc04c2e2c1e0e2abeb" sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.9" version: "2.2.10"
path_provider_foundation: path_provider_foundation:
dependency: transitive dependency: transitive
description: description:
@@ -699,10 +699,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_android name: permission_handler_android
sha256: eaf2a1ec4472775451e88ca6a7b86559ef2f1d1ed903942ed135e38ea0097dca sha256: "76e4ab092c1b240d31177bb64d2b0bea43f43d0e23541ec866151b9f7b2490fa"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "12.0.8" version: "12.0.12"
permission_handler_apple: permission_handler_apple:
dependency: transitive dependency: transitive
description: description:
@@ -715,10 +715,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_html name: permission_handler_html
sha256: "6cac773d389e045a8d4f85418d07ad58ef9e42a56e063629ce14c4c26344de24" sha256: d220eb8476b466d58b161e10b3001d93999010a26228a3fb89c4280db1249546
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.2" version: "0.1.3+1"
permission_handler_platform_interface: permission_handler_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -803,10 +803,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: share_plus name: share_plus
sha256: "59dfd53f497340a0c3a81909b220cfdb9b8973a91055c4e5ab9b9b9ad7c513c0" sha256: "468c43f285207c84bcabf5737f33b914ceb8eb38398b91e5e3ad1698d1b72a52"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.0" version: "10.0.2"
share_plus_platform_interface: share_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -819,34 +819,34 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: shared_preferences name: shared_preferences
sha256: c272f9cabca5a81adc9b0894381e9c1def363e980f960fa903c604c471b22f68 sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.1" version: "2.3.2"
shared_preferences_android: shared_preferences_android:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_android name: shared_preferences_android
sha256: "041be4d9d2dc6079cf342bc8b761b03787e3b71192d658220a56cac9c04a0294" sha256: a7e8467e9181cef109f601e3f65765685786c1a738a83d7fbbde377589c0d974
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.0" version: "2.3.1"
shared_preferences_foundation: shared_preferences_foundation:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_foundation name: shared_preferences_foundation
sha256: "671e7a931f55a08aa45be2a13fe7247f2a41237897df434b30d2012388191833" sha256: c4b35f6cb8f63c147312c054ce7c2254c8066745125264f0c88739c417fc9d9f
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.0" version: "2.5.2"
shared_preferences_linux: shared_preferences_linux:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_linux name: shared_preferences_linux
sha256: "2ba0510d3017f91655b7543e9ee46d48619de2a2af38e5c790423f7007c7ccc1" sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.0" version: "2.4.1"
shared_preferences_platform_interface: shared_preferences_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -859,18 +859,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_web name: shared_preferences_web
sha256: "59dc807b94d29d52ddbb1b3c0d3b9d0a67fc535a64e62a5542c8db0513fcb6c2" sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.1" version: "2.4.2"
shared_preferences_windows: shared_preferences_windows:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_windows name: shared_preferences_windows
sha256: "398084b47b7f92110683cac45c6dc4aae853db47e470e5ddcd52cab7f7196ab2" sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.0" version: "2.4.1"
shared_storage: shared_storage:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -921,10 +921,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: sqflite_common name: sqflite_common
sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" sha256: "7b41b6c3507854a159e24ae90a8e3e9cc01eb26a477c118d6dca065b5f55453e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.4" version: "2.5.4+2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@@ -953,10 +953,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: synchronized name: synchronized
sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" sha256: a824e842b8a054f91a728b783c177c1e4731f6b124f9192468457a8913371255
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.0+1" version: "3.2.0"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
@@ -969,10 +969,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.0" version: "0.7.2"
timezone: timezone:
dependency: transitive dependency: transitive
description: description:
@@ -1001,10 +1001,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_android name: url_launcher_android
sha256: "94d8ad05f44c6d4e2ffe5567ab4d741b82d62e3c8e288cc1fcea45965edf47c9" sha256: f0c73347dfcfa5b3db8bc06e1502668265d39c08f310c29bff4e28eea9699f79
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.8" version: "6.3.9"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@@ -1017,10 +1017,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_linux name: url_launcher_linux
sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.1" version: "3.2.0"
url_launcher_macos: url_launcher_macos:
dependency: transitive dependency: transitive
description: description:
@@ -1041,10 +1041,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_web name: url_launcher_web
sha256: a36e2d7981122fa185006b216eb6b5b97ede3f9a54b7a511bc966971ab98d049 sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.2" version: "2.3.3"
url_launcher_windows: url_launcher_windows:
dependency: transitive dependency: transitive
description: description:
@@ -1073,18 +1073,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.2.1" version: "14.2.4"
web: web:
dependency: transitive dependency: transitive
description: description:
name: web name: web
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.1" version: "1.0.0"
webview_flutter: webview_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -1113,18 +1113,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_wkwebview name: webview_flutter_wkwebview
sha256: "9c62cc46fa4f2d41e10ab81014c1de470a6c6f26051a2de32111b2ee55287feb" sha256: "1942a12224ab31e9508cf00c0c6347b931b023b8a4f0811e5dec3b06f94f117d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.14.0" version: "3.15.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9" sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.5.3" version: "5.5.4"
win32_registry: win32_registry:
dependency: transitive dependency: transitive
description: description:
@@ -1158,5 +1158,5 @@ packages:
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
sdks: sdks:
dart: ">=3.4.0 <4.0.0" dart: ">=3.5.0 <4.0.0"
flutter: ">=3.22.0" flutter: ">=3.24.0"

View File

@@ -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 # 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 # 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. # of the product and file versions while build-number is used as the build suffix.
version: 1.1.17+2274 version: 1.1.20+2277
environment: environment:
sdk: '>=3.0.0 <4.0.0' sdk: '>=3.0.0 <4.0.0'
@@ -37,7 +37,7 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.5 cupertino_icons: ^1.0.5
path_provider: ^2.0.11 path_provider: ^2.0.11
flutter_fgbg: ^0.4.0 flutter_fgbg: ^0.6.0
flutter_local_notifications: ^17.0.0 flutter_local_notifications: ^17.0.0
provider: ^6.0.3 provider: ^6.0.3
http: ^1.0.0 http: ^1.0.0