Compare commits

..

17 Commits

Author SHA1 Message Date
Imran
6784c6c0c6 Merge pull request #2207 from ImranR98/dev
- Fix "Forbidden" error for APKMirror (#1973)
- Switch from title case to sentence case + minor wording change (#2195, #2197)
2025-03-29 23:46:29 -04:00
Imran Remtulla
b6ef153bfa Update packages, increment version, run dart fix, switch to Shizuku plugin fork with bugfix (maybe temp) 2025-03-29 23:45:28 -04:00
Imran Remtulla
6a3805723d Switch from title case to sentence case + minor wording change (#2195, #2197) 2025-03-29 22:15:11 -04:00
Imran Remtulla
ebc6671d62 Fix "Forbidden" error for APKMirror (#1973) 2025-03-29 21:54:30 -04:00
Imran
c87fc6f242 Merge pull request #2191 from abc0922001/patch-2
Update zh-Hant-TW.json
2025-03-21 17:55:04 -04:00
Imran
b23db43620 Merge pull request #2189 from summoner001/main
Update hu.json
2025-03-21 17:54:55 -04:00
abc0922001
b2b10739e3 Update zh-Hant-TW.json 2025-03-17 16:07:48 +08:00
summoner001
32cc97a18a Update hu.json
Fixing autotranslated texts
2025-03-16 11:01:52 +01:00
Imran
4815e5180e Merge pull request #2188 from ImranR98/dev
- Add welcome dialog (#2084)
- Correct wording for arch filtering in HTML intermediate links (#2182)
- Update package installer to use update ownership API (#2078)
2025-03-16 00:38:36 -04:00
Imran Remtulla
14325eb710 Increment version 2025-03-16 00:36:17 -04:00
Imran Remtulla
7607b747c1 Update package installer to use update ownership API (#2078) + upgrade Flutter and other packages 2025-03-16 00:35:57 -04:00
Imran Remtulla
774bc07663 Correct wording for arch filtering in HTML intermediate links (#2182) 2025-03-16 00:30:51 -04:00
Imran Remtulla
4e43001276 Add welcome dialog (#2084) 2025-03-16 00:05:01 -04:00
Imran
46835d0876 Merge pull request #2174 from summoner001/main
Update hu.json
2025-03-15 03:58:01 -04:00
Imran
48d8eb214d Update README.md 2025-03-15 03:49:35 -04:00
summoner001
51f0d745c9 Update hu.json
fix sentence
2025-03-08 10:38:58 +01:00
summoner001
ae72302f4c Update hu.json
Fix autotranslated translation.
2025-03-08 09:41:10 +01:00
37 changed files with 327 additions and 201 deletions

View File

@@ -8,6 +8,7 @@ Obtainium allows you to install and update apps directly from their releases pag
More info:
- [Obtainium Wiki](https://wiki.obtainium.imranr.dev/) ([repository](https://github.com/ImranR98/Obtainium-Wiki))
- [Obtainium 101](https://www.youtube.com/watch?v=0MF_v2OBncw) - Tutorial video
- [AppVerifier](https://github.com/soupslurpr/AppVerifier) - App verification tool (recommended, integrates with Obtainium)
- [apps.obtainium.imranr.dev](https://apps.obtainium.imranr.dev/) - Crowdsourced app configurations ([repository](https://github.com/ImranR98/apps.obtainium.imranr.dev))
- [Side Of Burritos - You should use this instead of F-Droid | How to use app RSS feed](https://youtu.be/FFz57zNR_M0) - Original motivation for this app

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Detekcija standardne verzije",
"groupByCategory": "Grupiši po kategoriji",
"autoApkFilterByArch": "Pokušajte filtrirati APK-ove po arhitekturi procesora ako je moguće",
"autoLinkFilterByArch": "Attempt to filter links by CPU architecture if possible",
"overrideSource": "Premosti izvor",
"dontShowAgain": "Ne prikazuj ovo ponovo",
"dontShowTrackOnlyWarnings": "Ne prikazuj upozorenja „Samo za praćenje”",
@@ -314,7 +315,7 @@
"appVerifierInstructionToast": "Dijeli sa AppVerifier-om, zatim se vratite kada ste spremni.",
"wiki": "Pomoć/Wiki",
"crowdsourcedConfigsLabel": "Konfiguracije aplikacije obezbeđene pomoću velikog broja ljudi (crowdsourcing) (koristite na svoju odgovornost)",
"crowdsourcedConfigsShort": "Crowdsourced App Configs",
"crowdsourcedConfigsShort": "Crowdsourced App Configurations",
"allowInsecure": "Allow insecure HTTP requests",
"stayOneVersionBehind": "Stay one version behind latest",
"refreshBeforeDownload": "Refresh app details before download",
@@ -322,6 +323,8 @@
"name": "Name",
"smartname": "Name (Smart)",
"sortMethod": "Sort Method",
"welcome": "Welcome",
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
"removeAppQuestion": {
"one": "Želite li ukloniti aplikaciju?",
"other": "Želite li ukloniti aplikacije?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Standardní detekce verze",
"groupByCategory": "Seskupit podle kategorie",
"autoApkFilterByArch": "Pokud je to možné, pokuste se filtrovat soubory APK podle architektury procesoru",
"autoLinkFilterByArch": "Pokus o filtrování odkazů podle architektury procesoru, pokud je to možné.",
"overrideSource": "Přepsat zdroj",
"dontShowAgain": "Nezobrazovat znovu",
"dontShowTrackOnlyWarnings": "Nezobrazovat varování pro 'Jen sledované'",
@@ -322,6 +323,8 @@
"name": "Název",
"smartname": "Název (Smart)",
"sortMethod": "Metoda třídění",
"welcome": "Vítejte na",
"documentationLinksNote": "Níže odkazovaná stránka Obtainium GitHub obsahuje odkazy na videa, články, diskuse a další zdroje, které vám pomohou pochopit, jak aplikaci používat.",
"removeAppQuestion": {
"one": "Odstranit Apku?",
"other": "Odstranit Apky?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Standard versionsregistrering",
"groupByCategory": "Gruppér efter kategori",
"autoApkFilterByArch": "Forsøg at filtrere APK'er efter CPU-arkitektur, hvis muligt",
"autoLinkFilterByArch": "Forsøg at filtrere links efter CPU-arkitektur, hvis det er muligt",
"overrideSource": "Tilsidesæt kilde",
"dontShowAgain": "Vis ikke igen",
"dontShowTrackOnlyWarnings": "Vis ikke 'Følg Kun'-advarsler",
@@ -322,6 +323,8 @@
"name": "Navn",
"smartname": "Navn (Smart)",
"sortMethod": "Sorteringsmetode",
"welcome": "Velkommen",
"documentationLinksNote": "Obtainiums GitHub-side, som der linkes til nedenfor, indeholder links til videoer, artikler, diskussioner og andre ressourcer, som kan hjælpe dig med at forstå, hvordan du bruger appen.",
"removeAppQuestion": {
"one": "Fjern app?",
"other": "Fjern apps?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Standardversionserkennung",
"groupByCategory": "Nach Kategorie gruppieren",
"autoApkFilterByArch": "Nach Möglichkeit versuchen, APKs nach CPU-Architektur zu filtern",
"autoLinkFilterByArch": "Versuchen Sie, Links nach CPU-Architektur zu filtern, wenn möglich",
"overrideSource": "Quelle überschreiben",
"dontShowAgain": "Nicht noch einmal anzeigen",
"dontShowTrackOnlyWarnings": "Warnung für „Nur nachverfolgen“ nicht anzeigen",
@@ -322,6 +323,8 @@
"name": "Name",
"smartname": "Name (Smart)",
"sortMethod": "Sortierverfahren",
"welcome": "Willkommen",
"documentationLinksNote": "Die unten verlinkte GitHub-Seite von Obtainium enthält Links zu Videos, Artikeln, Diskussionen und anderen Ressourcen, die Ihnen helfen werden, die Verwendung der App zu verstehen.",
"removeAppQuestion": {
"one": "App entfernen?",
"other": "Apps entfernen?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Norma versiodetekto",
"groupByCategory": "Grupigi per kategorio",
"autoApkFilterByArch": "Provi filtri APKj per CPU-arkitekturo se ebla",
"autoLinkFilterByArch": "Attempt to filter links by CPU architecture if possible",
"overrideSource": "Substitui la fonton",
"dontShowAgain": "Ne plu montri",
"dontShowTrackOnlyWarnings": "Ne plu montri 'Nur sekvita' avertojn",
@@ -314,7 +315,7 @@
"appVerifierInstructionToast": "Diskonigu kun AppVerifier, poste revenu ĉi tie kiam preta.",
"wiki": "Helpo/Vikio",
"crowdsourcedConfigsLabel": "Komunumaj apo-agordoj (uzu kun singardo)",
"crowdsourcedConfigsShort": "Crowdsourced App Configs",
"crowdsourcedConfigsShort": "Crowdsourced App Configurations",
"allowInsecure": "Allow insecure HTTP requests",
"stayOneVersionBehind": "Stay one version behind latest",
"refreshBeforeDownload": "Refresh app details before download",
@@ -322,6 +323,8 @@
"name": "Name",
"smartname": "Name (Smart)",
"sortMethod": "Sort Method",
"welcome": "Welcome",
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
"removeAppQuestion": {
"one": "Forigi la aplikaĵon?",
"other": "Forigi la aplikaĵojn?"

View File

@@ -1,110 +1,110 @@
{
"invalidURLForSource": "Not a valid {} App URL",
"invalidURLForSource": "Not a valid {} app URL",
"noReleaseFound": "Could not find a suitable release",
"noVersionFound": "Could not determine release version",
"urlMatchesNoSource": "URL does not match a known source",
"cantInstallOlderVersion": "Cannot install an older version of an App",
"appIdMismatch": "Downloaded package ID does not match existing App ID",
"cantInstallOlderVersion": "Cannot install an older version of an app",
"appIdMismatch": "Downloaded package ID does not match existing app ID",
"functionNotImplemented": "This class has not implemented this function",
"placeholder": "Placeholder",
"someErrors": "Some Errors Occurred",
"unexpectedError": "Unexpected Error",
"someErrors": "Some errors occurred",
"unexpectedError": "Unexpected error",
"ok": "Okay",
"and": "and",
"githubPATLabel": "GitHub Personal Access Token (Increases Rate Limit)",
"githubPATLabel": "GitHub personal access token (increases rate limit)",
"includePrereleases": "Include prereleases",
"fallbackToOlderReleases": "Fallback to older releases",
"filterReleaseTitlesByRegEx": "Filter Release Titles by Regular Expression",
"filterReleaseTitlesByRegEx": "Filter release titles by regular expression",
"invalidRegEx": "Invalid regular expression",
"noDescription": "No description",
"cancel": "Cancel",
"continue": "Continue",
"requiredInBrackets": "(Required)",
"requiredInBrackets": "(required)",
"dropdownNoOptsError": "ERROR: DROPDOWN MUST HAVE AT LEAST ONE OPT",
"colour": "Colour",
"standard": "Standard",
"custom": "Custom",
"useMaterialYou": "Use Material You",
"githubStarredRepos": "GitHub Starred Repos",
"githubStarredRepos": "GitHub starred repos",
"uname": "Username",
"wrongArgNum": "Wrong number of arguments provided",
"xIsTrackOnly": "{} is Track-Only",
"xIsTrackOnly": "{} is track-only",
"source": "Source",
"app": "App",
"appsFromSourceAreTrackOnly": "Apps from this source are 'Track-Only'.",
"youPickedTrackOnly": "You have selected the 'Track-Only' option.",
"trackOnlyAppDescription": "The App will be tracked for updates, but Obtainium will not be able to download or install it.",
"appsFromSourceAreTrackOnly": "Apps from this source are 'track-only'.",
"youPickedTrackOnly": "You have selected the 'track-only' option.",
"trackOnlyAppDescription": "The app will be tracked for updates, but Obtainium will not be able to download or install it.",
"cancelled": "Cancelled",
"appAlreadyAdded": "App already added",
"alreadyUpToDateQuestion": "App Already up to Date?",
"alreadyUpToDateQuestion": "App already up to date?",
"addApp": "Add App",
"appSourceURL": "App Source URL",
"appSourceURL": "App source URL",
"error": "Error",
"add": "Add",
"searchSomeSourcesLabel": "Search (Some Sources Only)",
"searchSomeSourcesLabel": "Search (some sources only)",
"search": "Search",
"additionalOptsFor": "Additional Options for {}",
"supportedSources": "Supported Sources",
"trackOnlyInBrackets": "(Track-Only)",
"searchableInBrackets": "(Searchable)",
"additionalOptsFor": "Additional options for {}",
"supportedSources": "Supported sources",
"trackOnlyInBrackets": "(track-only)",
"searchableInBrackets": "(searchable)",
"appsString": "Apps",
"noApps": "No Apps",
"noAppsForFilter": "No Apps for Filter",
"noApps": "No apps",
"noAppsForFilter": "No apps for filter",
"byX": "By {}",
"percentProgress": "Progress: {}%",
"pleaseWait": "Please Wait",
"updateAvailable": "Update Available",
"notInstalled": "Not Installed",
"pleaseWait": "Please wait",
"updateAvailable": "Update available",
"notInstalled": "Not installed",
"pseudoVersion": "pseudo-version",
"selectAll": "Select All",
"selectAll": "Select all",
"deselectX": "Deselect {}",
"xWillBeRemovedButRemainInstalled": "{} will be removed from Obtainium but remain installed on device.",
"removeSelectedAppsQuestion": "Remove Selected Apps?",
"removeSelectedApps": "Remove Selected Apps",
"removeSelectedAppsQuestion": "Remove selected apps?",
"removeSelectedApps": "Remove selected apps",
"updateX": "Update {}",
"installX": "Install {}",
"markXTrackOnlyAsUpdated": "Mark {}\n(Track-Only)\nas Updated",
"markXTrackOnlyAsUpdated": "Mark {}\n(track-only)\nas updated",
"changeX": "Change {}",
"installUpdateApps": "Install/Update Apps",
"installUpdateSelectedApps": "Install/Update Selected Apps",
"markXSelectedAppsAsUpdated": "Mark {} Selected Apps as Updated?",
"installUpdateApps": "Install/update apps",
"installUpdateSelectedApps": "Install/update selected apps",
"markXSelectedAppsAsUpdated": "Mark {} selected apps as updated?",
"no": "No",
"yes": "Yes",
"markSelectedAppsUpdated": "Mark Selected Apps as Updated",
"markSelectedAppsUpdated": "Mark selected apps as updated",
"pinToTop": "Pin to top",
"unpinFromTop": "Unpin from top",
"resetInstallStatusForSelectedAppsQuestion": "Reset Install Status for Selected Apps?",
"installStatusOfXWillBeResetExplanation": "The install status of any selected Apps will be reset.\n\nThis can help when the App version shown in Obtainium is incorrect due to failed updates or other issues.",
"resetInstallStatusForSelectedAppsQuestion": "Reset install status for selected apps?",
"installStatusOfXWillBeResetExplanation": "The install status of any selected apps will be reset.\n\nThis can help when the app version shown in Obtainium is incorrect due to failed updates or other issues.",
"customLinkMessage": "These links work on devices with Obtainium installed",
"shareAppConfigLinks": "Share app configuration as HTML link",
"shareSelectedAppURLs": "Share Selected App URLs",
"resetInstallStatus": "Reset Install Status",
"shareSelectedAppURLs": "Share selected app URLs",
"resetInstallStatus": "Reset install status",
"more": "More",
"removeOutdatedFilter": "Remove Out-of-Date App Filter",
"showOutdatedOnly": "Show Out-of-Date Apps Only",
"removeOutdatedFilter": "Remove out-of-date app filter",
"showOutdatedOnly": "Show out-of-date apps only",
"filter": "Filter",
"filterApps": "Filter Apps",
"appName": "App Name",
"filterApps": "Filter apps",
"appName": "App name",
"author": "Author",
"upToDateApps": "Up to Date Apps",
"nonInstalledApps": "Non-Installed Apps",
"upToDateApps": "Up to date apps",
"nonInstalledApps": "Non-installed apps",
"importExport": "Import/Export",
"settings": "Settings",
"exportedTo": "Exported to {}",
"obtainiumExport": "Obtainium Export",
"obtainiumExport": "Obtainium export",
"invalidInput": "Invalid input",
"importedX": "Imported {}",
"obtainiumImport": "Obtainium Import",
"importFromURLList": "Import from URL List",
"searchQuery": "Search Query",
"appURLList": "App URL List",
"obtainiumImport": "Obtainium import",
"importFromURLList": "Import from URL list",
"searchQuery": "Search query",
"appURLList": "App URL list",
"line": "Line",
"searchX": "Search {}",
"noResults": "No results found",
"importX": "Import {}",
"importedAppsIdDisclaimer": "Imported Apps may incorrectly show as \"Not Installed\".\nTo fix this, re-install them through Obtainium.\nThis should not affect App data.\n\nOnly affects URL and third-party import methods.",
"importErrors": "Import Errors",
"importedXOfYApps": "{} of {} Apps imported.",
"importedAppsIdDisclaimer": "Imported apps may incorrectly show as \"not installed\".\nTo fix this, re-install them through Obtainium.\nThis should not affect app data.\n\nOnly affects URL and third-party import methods.",
"importErrors": "Import errors",
"importedXOfYApps": "{} of {} apps imported.",
"followingURLsHadErrors": "The following URLs had errors:",
"selectURL": "Select URL",
"selectURLs": "Select URLs",
@@ -112,26 +112,26 @@
"theme": "Theme",
"dark": "Dark",
"light": "Light",
"followSystem": "Follow System",
"followSystem": "Follow system",
"followSystemThemeExplanation": "Following system theme is possible only by using third-party applications",
"useBlackTheme": "Use pure black dark theme",
"appSortBy": "App Sort By",
"authorName": "Author/Name",
"nameAuthor": "Name/Author",
"asAdded": "As Added",
"appSortOrder": "App Sort Order",
"appSortBy": "App sort by",
"authorName": "Author/name",
"nameAuthor": "Name/author",
"asAdded": "As added",
"appSortOrder": "App sort order",
"ascending": "Ascending",
"descending": "Descending",
"bgUpdateCheckInterval": "Background Update Checking Interval",
"neverManualOnly": "Never - Manual Only",
"bgUpdateCheckInterval": "Background update checking interval",
"neverManualOnly": "Never - manual only",
"appearance": "Appearance",
"showWebInAppView": "Show Source webpage in App view",
"pinUpdates": "Pin updates to top of Apps view",
"showWebInAppView": "Show source webpage in app view",
"pinUpdates": "Pin updates to top of apps view",
"updates": "Updates",
"sourceSpecific": "Source-Specific",
"appSource": "App Source",
"noLogs": "No Logs",
"appLogs": "App Logs",
"sourceSpecific": "Source-specific",
"appSource": "App source",
"noLogs": "No logs",
"appLogs": "App logs",
"close": "Close",
"share": "Share",
"appNotFound": "App not found",
@@ -141,28 +141,28 @@
"deviceSupportsXArch": "Your device supports the {} CPU architecture.",
"deviceSupportsFollowingArchs": "Your device supports the following CPU architectures:",
"warning": "Warning",
"sourceIsXButPackageFromYPrompt": "The App source is '{}' but the release package comes from '{}'. Continue?",
"updatesAvailable": "Updates Available",
"updatesAvailableNotifDescription": "Notifies the user that updates are available for one or more Apps tracked by Obtainium",
"sourceIsXButPackageFromYPrompt": "The app source is '{}' but the release package comes from '{}'. Continue?",
"updatesAvailable": "Updates available",
"updatesAvailableNotifDescription": "Notifies the user that updates are available for one or more apps tracked by Obtainium",
"noNewUpdates": "No new updates.",
"xHasAnUpdate": "{} has an update.",
"appsUpdated": "Apps Updated",
"appsUpdated": "Apps updated",
"appsNotUpdated": "Failed to update applications",
"appsUpdatedNotifDescription": "Notifies the user that updates to one or more Apps were applied in the background",
"appsUpdatedNotifDescription": "Notifies the user that updates to one or more apps were applied in the background",
"xWasUpdatedToY": "{} was updated to {}.",
"xWasNotUpdatedToY": "Failed to update {} to {}.",
"errorCheckingUpdates": "Error Checking for Updates",
"errorCheckingUpdates": "Error checking for updates",
"errorCheckingUpdatesNotifDescription": "A notification that shows when background update checking fails",
"appsRemoved": "Apps Removed",
"appsRemovedNotifDescription": "Notifies the user that one or more Apps were removed due to errors while loading them",
"appsRemoved": "Apps removed",
"appsRemovedNotifDescription": "Notifies the user that one or more apps were removed due to errors while loading them",
"xWasRemovedDueToErrorY": "{} was removed due to this error: {}",
"completeAppInstallation": "Complete App Installation",
"obtainiumMustBeOpenToInstallApps": "Obtainium must be open to install Apps",
"completeAppInstallationNotifDescription": "Asks the user to return to Obtainium to finish installing an App",
"checkingForUpdates": "Checking for Updates",
"completeAppInstallation": "Complete app installation",
"obtainiumMustBeOpenToInstallApps": "Obtainium must be open to install apps",
"completeAppInstallationNotifDescription": "Asks the user to return to Obtainium to finish installing an app",
"checkingForUpdates": "Checking for updates",
"checkingForUpdatesNotifDescription": "Transient notification that appears when checking for updates",
"pleaseAllowInstallPerm": "Please allow Obtainium to install Apps",
"trackOnly": "Track-Only",
"pleaseAllowInstallPerm": "Please allow Obtainium to install apps",
"trackOnly": "Track-only",
"errorWithHttpStatusCode": "Error {}",
"versionCorrectionDisabled": "Version correction disabled (plugin doesn't seem to work)",
"unknown": "Unknown",
@@ -170,87 +170,88 @@
"never": "Never",
"latestVersionX": "Latest: {}",
"installedVersionX": "Installed: {}",
"lastUpdateCheckX": "Last Update Check: {}",
"lastUpdateCheckX": "Last update check: {}",
"remove": "Remove",
"yesMarkUpdated": "Yes, Mark as Updated",
"fdroid": "F-Droid Official",
"appIdOrName": "App ID or Name",
"yesMarkUpdated": "Yes, mark as updated",
"fdroid": "F-Droid official",
"appIdOrName": "App ID or name",
"appId": "App ID",
"appWithIdOrNameNotFound": "No App was found with that ID or Name",
"reposHaveMultipleApps": "Repos may contain multiple Apps",
"fdroidThirdPartyRepo": "F-Droid Third-Party Repo",
"appWithIdOrNameNotFound": "No app was found with that ID or name",
"reposHaveMultipleApps": "Repos may contain multiple apps",
"fdroidThirdPartyRepo": "F-Droid third-party repo",
"install": "Install",
"markInstalled": "Mark Installed",
"markInstalled": "Mark installed",
"update": "Update",
"markUpdated": "Mark Updated",
"additionalOptions": "Additional Options",
"disableVersionDetection": "Disable Version Detection",
"noVersionDetectionExplanation": "This option should only be used for Apps where version detection does not work correctly.",
"markUpdated": "Mark updated",
"additionalOptions": "Additional options",
"disableVersionDetection": "Disable version detection",
"noVersionDetectionExplanation": "This option should only be used for apps where version detection does not work correctly.",
"downloadingX": "Downloading {}",
"downloadX": "Download {}",
"downloadedX": "Downloaded {}",
"releaseAsset": "Release Asset",
"downloadNotifDescription": "Notifies the user of the progress in downloading an App",
"releaseAsset": "Release asset",
"downloadNotifDescription": "Notifies the user of the progress in downloading an app",
"noAPKFound": "No APK found",
"noVersionDetection": "No version detection",
"categorize": "Categorize",
"categories": "Categories",
"category": "Category",
"noCategory": "No Category",
"noCategories": "No Categories",
"deleteCategoriesQuestion": "Delete Categories?",
"categoryDeleteWarning": "All Apps in deleted categories will be set to uncategorized.",
"addCategory": "Add Category",
"noCategory": "No category",
"noCategories": "No categories",
"deleteCategoriesQuestion": "Delete categories?",
"categoryDeleteWarning": "All apps in deleted categories will be set to uncategorized.",
"addCategory": "Add category",
"label": "Label",
"language": "Language",
"copiedToClipboard": "Copied to Clipboard",
"copiedToClipboard": "Copied to clipboard",
"storagePermissionDenied": "Storage permission denied",
"selectedCategorizeWarning": "This will replace any existing category settings for the selected Apps.",
"filterAPKsByRegEx": "Filter APKs by Regular Expression",
"selectedCategorizeWarning": "This will replace any existing category settings for the selected apps.",
"filterAPKsByRegEx": "Filter APKs by regular expression",
"removeFromObtainium": "Remove from Obtainium",
"uninstallFromDevice": "Uninstall from Device",
"onlyWorksWithNonVersionDetectApps": "Only works for Apps with version detection disabled.",
"uninstallFromDevice": "Uninstall from device",
"onlyWorksWithNonVersionDetectApps": "Only works for apps with version detection disabled.",
"releaseDateAsVersion": "Use release date as version string",
"releaseTitleAsVersion": "Use release title as version string",
"releaseDateAsVersionExplanation": "This option should only be used for Apps where version detection does not work correctly, but a release date is available.",
"releaseDateAsVersionExplanation": "This option should only be used for apps where version detection does not work correctly, but a release date is available.",
"changes": "Changes",
"releaseDate": "Release Date",
"importFromURLsInFile": "Import from URLs in File (like OPML)",
"releaseDate": "Release date",
"importFromURLsInFile": "Import from URLs in file (like OPML)",
"versionDetectionExplanation": "Reconcile version string with version detected from OS",
"versionDetection": "Version Detection",
"versionDetection": "Version detection",
"standardVersionDetection": "Standard version detection",
"groupByCategory": "Group by Category",
"groupByCategory": "Group by category",
"autoApkFilterByArch": "Attempt to filter APKs by CPU architecture if possible",
"overrideSource": "Override Source",
"autoLinkFilterByArch": "Attempt to filter links by CPU architecture if possible",
"overrideSource": "Override source",
"dontShowAgain": "Don't show this again",
"dontShowTrackOnlyWarnings": "Don't show 'Track-Only' warnings",
"dontShowTrackOnlyWarnings": "Don't show 'track-only' warnings",
"dontShowAPKOriginWarnings": "Don't show APK origin warnings",
"moveNonInstalledAppsToBottom": "Move non-installed Apps to bottom of Apps view",
"gitlabPATLabel": "GitLab Personal Access Token",
"moveNonInstalledAppsToBottom": "Move non-installed apps to bottom of apps view",
"gitlabPATLabel": "GitLab personal access token",
"about": "About",
"requiresCredentialsInSettings": "{} needs additional credentials (in Settings)",
"checkOnStart": "Check for updates on startup",
"tryInferAppIdFromCode": "Try inferring App ID from source code",
"removeOnExternalUninstall": "Automatically remove externally uninstalled Apps",
"tryInferAppIdFromCode": "Try inferring app ID from source code",
"removeOnExternalUninstall": "Automatically remove externally uninstalled apps",
"pickHighestVersionCode": "Auto-select highest version code APK",
"checkUpdateOnDetailPage": "Check for updates on opening an App detail page",
"checkUpdateOnDetailPage": "Check for updates on opening an app detail page",
"disablePageTransitions": "Disable page transition animations",
"reversePageTransitions": "Reverse page transition animations",
"minStarCount": "Minimum Star Count",
"minStarCount": "Minimum star count",
"addInfoBelow": "Add this info below.",
"addInfoInSettings": "Add this info in the Settings.",
"githubSourceNote": "GitHub rate limiting can be avoided using an API key.",
"sortByLastLinkSegment": "Sort by only the last segment of the link",
"filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression",
"customLinkFilterRegex": "Custom APK Link Filter by Regular Expression (Default '.apk$')",
"appsPossiblyUpdated": "App Updates Attempted",
"appsPossiblyUpdatedNotifDescription": "Notifies the user that updates to one or more Apps were potentially applied in the background",
"filterReleaseNotesByRegEx": "Filter release notes by regular expression",
"customLinkFilterRegex": "Custom APK link filter by regular expression (default '.apk$')",
"appsPossiblyUpdated": "App updates attempted",
"appsPossiblyUpdatedNotifDescription": "Notifies the user that updates to one or more apps were potentially applied in the background",
"xWasPossiblyUpdatedToY": "{} may have been updated to {}.",
"enableBackgroundUpdates": "Enable background updates",
"backgroundUpdateReqsExplanation": "Background updates may not be possible for all apps.",
"backgroundUpdateLimitsExplanation": "The success of a background install can only be determined when Obtainium is opened.",
"verifyLatestTag": "Verify the 'latest' tag",
"intermediateLinkRegex": "Filter for an 'Intermediate' Link to Visit",
"intermediateLinkRegex": "Filter for an 'intermediate' link to visit",
"filterByLinkText": "Filter links by link text",
"intermediateLinkNotFound": "Intermediate link not found",
"intermediateLink": "Intermediate link",
@@ -258,35 +259,35 @@
"bgUpdatesOnWiFiOnly": "Disable background updates when not on Wi-Fi",
"bgUpdatesWhileChargingOnly": "Disable background updates when not charging",
"autoSelectHighestVersionCode": "Auto-select highest versionCode APK",
"versionExtractionRegEx": "Version String Extraction RegEx",
"trimVersionString": "Trim Version String With RegEx",
"matchGroupToUseForX": "Match Group to Use for \"{}\"",
"matchGroupToUse": "Match Group to Use for Version String Extraction RegEx",
"versionExtractionRegEx": "Version string extraction RegEx",
"trimVersionString": "Trim version string with RegEx",
"matchGroupToUseForX": "Match group to use for \"{}\"",
"matchGroupToUse": "Match group to use for version string extraction RegEx",
"highlightTouchTargets": "Highlight less obvious touch targets",
"pickExportDir": "Pick Export Directory",
"pickExportDir": "Pick export directory",
"autoExportOnChanges": "Auto-export on changes",
"includeSettings": "Include settings",
"filterVersionsByRegEx": "Filter Versions by Regular Expression",
"filterVersionsByRegEx": "Filter versions by regular expression",
"trySelectingSuggestedVersionCode": "Try selecting suggested versionCode APK",
"dontSortReleasesList": "Retain release order from API",
"reverseSort": "Reverse sorting",
"takeFirstLink": "Take first link",
"skipSort": "Skip sorting",
"debugMenu": "Debug Menu",
"debugMenu": "Debug menu",
"bgTaskStarted": "Background task started - check logs.",
"runBgCheckNow": "Run Background Update Check Now",
"runBgCheckNow": "Run background update check now",
"versionExtractWholePage": "Apply version string extraction Regex to entire page",
"installing": "Installing",
"skipUpdateNotifications": "Skip update notifications",
"updatesAvailableNotifChannel": "Updates Available",
"appsUpdatedNotifChannel": "Apps Updated",
"appsPossiblyUpdatedNotifChannel": "App Updates Attempted",
"errorCheckingUpdatesNotifChannel": "Error Checking for Updates",
"appsRemovedNotifChannel": "Apps Removed",
"updatesAvailableNotifChannel": "Updates available",
"appsUpdatedNotifChannel": "Apps updated",
"appsPossiblyUpdatedNotifChannel": "App updates attempted",
"errorCheckingUpdatesNotifChannel": "Error checking for updates",
"appsRemovedNotifChannel": "Apps removed",
"downloadingXNotifChannel": "Downloading {}",
"completeAppInstallationNotifChannel": "Complete App Installation",
"checkingForUpdatesNotifChannel": "Checking for Updates",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"completeAppInstallationNotifChannel": "Complete app installation",
"checkingForUpdatesNotifChannel": "Checking for updates",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and track-only apps for updates",
"supportFixedAPKURL": "Support fixed APK URLs",
"selectX": "Select {}",
"parallelDownloads": "Allow parallel downloads",
@@ -299,29 +300,31 @@
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
"requestHeader": "Request header",
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
"defaultPseudoVersioningMethod": "Default Pseudo-Versioning Method",
"partialAPKHash": "Partial APK Hash",
"APKLinkHash": "APK Link Hash",
"directAPKLink": "Direct APK Link",
"pseudoVersionInUse": "A Pseudo-Version is in Use",
"defaultPseudoVersioningMethod": "Default pseudo-versioning method",
"partialAPKHash": "Partial APK hash",
"APKLinkHash": "APK link hash",
"directAPKLink": "Direct APK link",
"pseudoVersionInUse": "A pseudo-version is in use",
"installed": "Installed",
"latest": "Latest",
"invertRegEx": "Invert regular expression",
"note": "Note",
"selfHostedNote": "The \"{}\" dropdown can be used to reach self-hosted/custom instances of any source.",
"badDownload": "The APK could not be parsed (incompatible or partial download)",
"beforeNewInstallsShareToAppVerifier": "Share new Apps with AppVerifier (if available)",
"beforeNewInstallsShareToAppVerifier": "Share new apps with AppVerifier (if available)",
"appVerifierInstructionToast": "Share to AppVerifier, then return here when ready.",
"wiki": "Help/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
"crowdsourcedConfigsShort": "Crowdsourced App Configs",
"crowdsourcedConfigsLabel": "Crowdsourced app configurations (use at your own risk)",
"crowdsourcedConfigsShort": "Crowdsourced app configurations",
"allowInsecure": "Allow insecure HTTP requests",
"stayOneVersionBehind": "Stay one version behind latest",
"refreshBeforeDownload": "Refresh app details before download",
"tencentAppStore": "Tencent App Store",
"name": "Name",
"smartname": "Name (Smart)",
"sortMethod": "Sort Method",
"smartname": "Name (smart)",
"sortMethod": "Sort method",
"welcome": "Welcome",
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
"removeAppQuestion": {
"one": "Remove App?",
"other": "Remove Apps?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Por versión",
"groupByCategory": "Agrupar por categorías",
"autoApkFilterByArch": "Filtrar APK por arquitectura del procesador (si es posible)",
"autoLinkFilterByArch": "Intente filtrar los enlaces por arquitectura de CPU si es posible",
"overrideSource": "Forzar desde la fuente",
"dontShowAgain": "No mostrar de nuevo",
"dontShowTrackOnlyWarnings": "No mostrar avisos sobre apps 'solo para seguimiento'",
@@ -322,6 +323,8 @@
"name": "Nombre",
"smartname": "Nombre (Smart)",
"sortMethod": "Método de clasificación",
"welcome": "Bienvenido",
"documentationLinksNote": "La página GitHub de Obtainium enlazada a continuación contiene enlaces a vídeos, artículos, debates y otros recursos que te ayudarán a entender cómo utilizar la aplicación.",
"removeAppQuestion": {
"one": "¿Eliminar aplicación?",
"other": "¿Eliminar aplicaciones?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "تشخیص نسخه استاندارد",
"groupByCategory": "گروه بر اساس دسته",
"autoApkFilterByArch": "در صورت امکان سعی کنید APKها را بر اساس معماری CPU فیلتر کنید",
"autoLinkFilterByArch": "Attempt to filter links by CPU architecture if possible",
"overrideSource": "نادیده گرفتن منبع",
"dontShowAgain": "دوباره این را نشان نده",
"dontShowTrackOnlyWarnings": "هشدار 'فقط ردیابی' را نشان ندهید",
@@ -322,6 +323,8 @@
"name": "Name",
"smartname": "Name (Smart)",
"sortMethod": "Sort Method",
"welcome": "Welcome",
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
"removeAppQuestion": {
"one": "برنامه حذف شود؟",
"other": "برنامه ها حذف شوند؟"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Détection de la version standard",
"groupByCategory": "Grouper par catégorie",
"autoApkFilterByArch": "Essayer de filtrer les APKs par architecture CPU si possible",
"autoLinkFilterByArch": "Essayer de filtrer les liens en fonction de l'architecture de l'unité centrale si possible",
"overrideSource": "Remplacer la source",
"dontShowAgain": "Ne plus afficher",
"dontShowTrackOnlyWarnings": "Ne plus afficher les avertissements 'Suivi uniquement'",
@@ -322,6 +323,8 @@
"name": "Nom",
"smartname": "Nom (Smart)",
"sortMethod": "Méthode de tri",
"welcome": "Bienvenue",
"documentationLinksNote": "La page GitHub d'Obtainium, dont le lien figure ci-dessous, contient des liens vers des vidéos, des articles, des discussions et d'autres ressources qui vous aideront à comprendre comment utiliser l'application.",
"removeAppQuestion": {
"one": "Supprimer l'application ?",
"other": "Supprimer les applications ?"

View File

@@ -220,7 +220,8 @@
"versionDetection": "Verzió-érzékelés",
"standardVersionDetection": "Alapértelmezett verzió-érzékelés",
"groupByCategory": "Csoportosítás kategória alapján",
"autoApkFilterByArch": "Ha lehetséges, próbálja CPU architektúra szerint szűrni az APK-kat",
"autoApkFilterByArch": "Ha lehetséges, próbálja meg az APK-kat CPU-architektúra szerint szűrni",
"autoLinkFilterByArch": "Ha lehetséges, próbálja meg a hivatkozásokat CPU-architektúra szerint szűrni",
"overrideSource": "Forrás felülírása",
"dontShowAgain": "Ne jelenítse meg ezt többé",
"dontShowTrackOnlyWarnings": "Ne jelenítse meg a „Csak nyomon-követés” figyelmeztetést",
@@ -294,7 +295,7 @@
"shizukuBinderNotFound": "A Shizuku szolgáltatás nem fut",
"shizukuOld": "Régi Shizuku verzió (<11) - frissítse",
"shizukuOldAndroidWithADB": "A Shizuku csak Android < 8.1 ADB-vel fut - frissítse az Androidot vagy használja a Sui-t helyette",
"shizukuPretendToBeGooglePlay": "Állítsa be a Google Playt telepítési forrásként (ha Shizukut használ)",
"shizukuPretendToBeGooglePlay": "A Google Play beállítása telepítési forrásként (ha Shizukut használ)",
"useSystemFont": "A rendszer betűtípusának használata",
"useVersionCodeAsOSVersion": "Az alkalmazás verziókódjának használata a rendszer által érzékelt verzióként",
"requestHeader": "Kérelemfejléc",
@@ -314,14 +315,16 @@
"appVerifierInstructionToast": "Ossza meg az AppVerifierrel, majd térjen vissza ide, ha kész.",
"wiki": "Súgó/Wiki",
"crowdsourcedConfigsLabel": "Crowdsource-ből származó alkalmazások beállítása (saját felelősségére használja)",
"crowdsourcedConfigsShort": "Crowdsourced App Configs",
"crowdsourcedConfigsShort": "Crowdsourced App Configurations",
"allowInsecure": "Nem biztonságos HTTP-kérések engedélyezése",
"stayOneVersionBehind": "Maradjon egy verzióval a legújabb mögött",
"refreshBeforeDownload": "Az alkalmazás adatainak frissítése a letöltés előtt",
"tencentAppStore": "Tencent Appstore",
"name": "Név",
"smartname": "Név (Smart)",
"sortMethod": "Rendezési módszer",
"smartname": "Név (Okos)",
"sortMethod": "Rendezési eljárás",
"welcome": "Üdvözöljük!",
"documentationLinksNote": "Az alábbi hivatkozás az Obtainium GitHub oldalára vezet, amely további videók, cikkek, beszélgetések és egyéb források hivatkozásait tartalmazza, amelyek segítenek megérteni az alkalmazás használatát.",
"removeAppQuestion": {
"one": "Eltávolítja az alkalmazást?",
"other": "Eltávolítja az alkalmazásokat?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Pendeteksi versi standar",
"groupByCategory": "Kelompokkan berdasarkan kategori",
"autoApkFilterByArch": "Coba filter APK berdasarkan arsitektur CPU jika memungkinkan",
"autoLinkFilterByArch": "Mencoba memfilter tautan berdasarkan arsitektur CPU jika memungkinkan",
"overrideSource": "Ganti sumber",
"dontShowAgain": "Jangan tampilkan lagi",
"dontShowTrackOnlyWarnings": "Jangan tampilkan peringatan 'Pelacakan Saja'",
@@ -322,6 +323,8 @@
"name": "Nama",
"smartname": "Nama (Cerdas)",
"sortMethod": "Metode Penyortiran",
"welcome": "Selamat datang.",
"documentationLinksNote": "Halaman GitHub Obtainium yang ditautkan di bawah ini berisi tautan ke video, artikel, diskusi, dan sumber daya lain yang akan membantu Anda memahami cara menggunakan aplikasi.",
"removeAppQuestion": {
"one": "Hapus aplikasi?",
"other": "Hapus aplikasi?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Rilevamento di versione standard",
"groupByCategory": "Raggruppa per categoria",
"autoApkFilterByArch": "Tenta di filtrare gli APK in base all'architettura della CPU, se possibile",
"autoLinkFilterByArch": "Tentare di filtrare i collegamenti in base all'architettura della CPU, se possibile.",
"overrideSource": "Sovrascrivi fonte",
"dontShowAgain": "Non mostrarlo più",
"dontShowTrackOnlyWarnings": "Non mostrare gli avvisi 'Solo-Monitoraggio'",
@@ -322,6 +323,8 @@
"name": "Nome",
"smartname": "Nome (intelligente)",
"sortMethod": "Metodo di ordinamento",
"welcome": "Benvenuti",
"documentationLinksNote": "La pagina GitHub di Obtainium collegata qui sotto contiene collegamenti a video, articoli, discussioni e altre risorse che vi aiuteranno a capire come utilizzare l'applicazione.",
"removeAppQuestion": {
"one": "Rimuovere l'app?",
"other": "Rimuovere le app?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "標準のバージョン検出",
"groupByCategory": "カテゴリ別にグループ化する",
"autoApkFilterByArch": "可能であれば、CPUアーキテクチャによるAPKのフィルタリングを試みる",
"autoLinkFilterByArch": "可能であれば、CPUアーキテクチャによるリンクのフィルタリングを試みる。",
"overrideSource": "ソースの上書き",
"dontShowAgain": "二度と表示しない",
"dontShowTrackOnlyWarnings": "「追跡のみ」の警告を表示しない",
@@ -319,9 +320,11 @@
"stayOneVersionBehind": "最新のバージョンから1つ前のものを使用する",
"refreshBeforeDownload": "ダウンロード前にアプリの詳細を更新する",
"tencentAppStore": "Tencent App Store",
"name": "Name",
"name": "名称",
"smartname": "名前(スマート)",
"sortMethod": "ソート方法",
"welcome": "ようこそ",
"documentationLinksNote": "以下のリンクにあるObtainium GitHubページには、ビデオ、記事、ディスカッション、その他のリソースへのリンクがあり、アプリの使い方を理解するのに役立ちます。",
"removeAppQuestion": {
"one": "アプリを削除しますか?",
"other": "アプリを削除しますか?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "표준 버전 감지",
"groupByCategory": "카테고리별 그룹화",
"autoApkFilterByArch": "가능한 경우 CPU 아키텍처별로 APK 필터링 시도",
"autoLinkFilterByArch": "가능하면 CPU 아키텍처별로 링크를 필터링해 보세요.",
"overrideSource": "소스 재정의",
"dontShowAgain": "다시 표시하지 않기",
"dontShowTrackOnlyWarnings": "'추적 전용' 경고 표시 안 함",
@@ -322,6 +323,8 @@
"name": "이름",
"smartname": "이름(스마트)",
"sortMethod": "정렬 방법",
"welcome": "환영",
"documentationLinksNote": "아래에 링크된 Obtainium 깃허브 페이지에는 앱 사용 방법을 이해하는 데 도움이 되는 동영상, 기사, 토론 및 기타 리소스에 대한 링크가 포함되어 있습니다.",
"removeAppQuestion": {
"one": "앱을 제거하시겠습니까?",
"other": "앱을 제거하시겠습니까?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Standaard versieherkenning",
"groupByCategory": "Groeperen op categorie",
"autoApkFilterByArch": "Probeer APK's te filteren op CPU-architectuur, indien mogelijk",
"autoLinkFilterByArch": "Probeer links zo mogelijk te filteren op CPU-architectuur",
"overrideSource": "Bron overschrijven",
"dontShowAgain": "Laat dit niet meer zien",
"dontShowTrackOnlyWarnings": "Geen waarschuwingen weergeven voor 'Alleen volgen'",
@@ -322,6 +323,8 @@
"name": "Naam",
"smartname": "Naam (Slim)",
"sortMethod": "Sorteermethode",
"welcome": "Welkom",
"documentationLinksNote": "De GitHub pagina van Obtainium waarnaar hieronder wordt gelinkt bevat links naar video's, artikelen, discussies en andere bronnen die je zullen helpen begrijpen hoe je de app kunt gebruiken.",
"removeAppQuestion": {
"one": "App verwijderen?",
"other": "Apps verwijderen?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Standardowe wykrywanie wersji",
"groupByCategory": "Grupuj według kategorii",
"autoApkFilterByArch": "Spróbuj filtrować pliki APK według architektury procesora, jeśli to możliwe",
"autoLinkFilterByArch": "Spróbuj filtrować linki według architektury procesora, jeśli to możliwe.",
"overrideSource": "Nadpisz źródło",
"dontShowAgain": "Nie pokazuj tego ponownie",
"dontShowTrackOnlyWarnings": "Nie pokazuj ostrzeżeń \"Tylko obserwowana\"",
@@ -322,6 +323,8 @@
"name": "Nazwa",
"smartname": "Nazwa (Smart)",
"sortMethod": "Metoda sortowania",
"welcome": "Witamy",
"documentationLinksNote": "Strona Obtainium GitHub, do której link znajduje się poniżej, zawiera linki do filmów, artykułów, dyskusji i innych zasobów, które pomogą ci zrozumieć, jak korzystać z aplikacji.",
"removeAppQuestion": {
"one": "Usunąć aplikację?",
"few": "Usunąć aplikacje?",

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Detecção de versão padrão",
"groupByCategory": "Agroupar por categoria",
"autoApkFilterByArch": "Tente filtrar APKs por arquitetura de CPU, se possível",
"autoLinkFilterByArch": "Tentativa de filtrar as ligações por arquitetura de CPU, se possível",
"overrideSource": "Substituir fonte",
"dontShowAgain": "Não mostrar isso novamente",
"dontShowTrackOnlyWarnings": "Não mostrar avisos 'Apenas monitorar'",
@@ -322,6 +323,8 @@
"name": "Nome",
"smartname": "Nome (Smart)",
"sortMethod": "Método de ordenação",
"welcome": "Bem-vindo",
"documentationLinksNote": "A página do Obtainium no GitHub com a ligação abaixo contém ligações para vídeos, artigos, discussões e outros recursos que o ajudarão a compreender como utilizar a aplicação.",
"removeAppQuestion": {
"one": "Remover aplicativo?",
"other": "Remover aplicativos?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Стандартное",
"groupByCategory": "Группировать по категориям",
"autoApkFilterByArch": "Попытаться отфильтровать APK-файлы по архитектуре процессора",
"autoLinkFilterByArch": "Попытайтесь отфильтровать ссылки по архитектуре процессора, если это возможно",
"overrideSource": "Переопределить источник",
"dontShowAgain": "Не показывать снова",
"dontShowTrackOnlyWarnings": "Не показывать предупреждения о только отслеживаемых приложениях",
@@ -322,6 +323,8 @@
"name": "Имя",
"smartname": "Имя (умное)",
"sortMethod": "Метод сортировки",
"welcome": "Добро пожаловать",
"documentationLinksNote": "На странице Obtainium GitHub, ссылка на которую приведена ниже, содержатся ссылки на видео, статьи, обсуждения и другие ресурсы, которые помогут вам понять, как пользоваться приложением.",
"removeAppQuestion": {
"one": "Удалить приложение?",
"other": "Удалить приложения?"

View File

@@ -89,7 +89,7 @@ const main = async () => {
await new Promise((resolve, reject) => {
setTimeout(() => {
resolve()
}, Math.random() * 1000); // Try to avoid rate limit
}, Math.random() * 10000); // Try to avoid rate limit
})
const response = await translateText(str, lang, deeplAPIKey)
if (response.translations) {

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Standardversionsdetektering",
"groupByCategory": "Gruppera via Kategori",
"autoApkFilterByArch": "Försök att filtrera APK-filer efter CPU-arkitektur om möjligt",
"autoLinkFilterByArch": "Försök att filtrera länkar efter CPU-arkitektur om möjligt",
"overrideSource": "Överskrid Källa",
"dontShowAgain": "Visa inte detta igen",
"dontShowTrackOnlyWarnings": "Visa inte 'Följ-Endast' varningar",
@@ -322,6 +323,8 @@
"name": "Namn",
"smartname": "Namn (Smart)",
"sortMethod": "Sorteringsmetod",
"welcome": "Välkommen",
"documentationLinksNote": "Obtainium GitHub-sidan som länkas nedan innehåller länkar till videor, artiklar, diskussioner och andra resurser som hjälper dig att förstå hur du använder appen.",
"removeAppQuestion": {
"one": "Ta Bort App?",
"other": "Ta Bort Appar?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Standart sürüm tespiti",
"groupByCategory": "Kategoriye Göre Grupla",
"autoApkFilterByArch": "Mümkünse APK'leri CPU mimarisi ile filtreleme girişimi",
"autoLinkFilterByArch": "Mümkünse bağlantıları CPU mimarisine göre filtrelemeye çalışın",
"overrideSource": "Öncelenecek Kaynak",
"dontShowAgain": "Bunu tekrar gösterme",
"dontShowTrackOnlyWarnings": "'Yalnızca Takip Edilen' uyarılarını gösterme",
@@ -322,6 +323,8 @@
"name": "İsim",
"smartname": "İsim (Akıllı)",
"sortMethod": "Sıralama Yöntemi",
"welcome": "Hoş geldiniz",
"documentationLinksNote": "Aşağıda bağlantısı verilen Obtainium GitHub sayfası, uygulamayı nasıl kullanacağınızı anlamanıza yardımcı olacak videolara, makalelere, tartışmalara ve diğer kaynaklara bağlantılar içerir.",
"removeAppQuestion": {
"one": "Uygulamayı Kaldır?",
"other": "Uygulamaları Kaldır?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Стандартне визначення версії",
"groupByCategory": "Групувати за категоріями",
"autoApkFilterByArch": "Спробувати фільтрувати APK за архітектурою ЦП, якщо можливо",
"autoLinkFilterByArch": "Спробуйте відфільтрувати посилання за архітектурою процесора, якщо це можливо",
"overrideSource": "Перевизначити джерело",
"dontShowAgain": "Не показувати це знову",
"dontShowTrackOnlyWarnings": "Не показувати попередження про 'Тільки відстеження'",
@@ -322,6 +323,8 @@
"name": "Ім'я",
"smartname": "Ім'я (Smart)",
"sortMethod": "Метод сортування",
"welcome": "Ласкаво просимо.",
"documentationLinksNote": "Сторінка Obtainium на GitHub, посилання на яку наведено нижче, містить посилання на відео, статті, дискусії та інші ресурси, які допоможуть вам зрозуміти, як користуватися додатком.",
"removeAppQuestion": {
"one": "Видалити застосунок?",
"other": "Видалити застосунки?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "Phát hiện phiên bản tiêu chuẩn",
"groupByCategory": "Nhóm theo danh mục",
"autoApkFilterByArch": "Cố gắng lọc APK theo kiến trúc CPU nếu có thể",
"autoLinkFilterByArch": "Attempt to filter links by CPU architecture if possible",
"overrideSource": "Ghi đè nguồn",
"dontShowAgain": "Đừng hiển thị thông tin này nữa",
"dontShowTrackOnlyWarnings": "Không hiển thị cảnh báo 'Chỉ theo dõi'",
@@ -314,7 +315,7 @@
"appVerifierInstructionToast": "Chia sẻ lên AppVerifier, sau đó quay lại đây khi sẵn sàng.",
"wiki": "Trợ giúp/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
"crowdsourcedConfigsShort": "Crowdsourced App Configs",
"crowdsourcedConfigsShort": "Crowdsourced App Configurations",
"allowInsecure": "Allow insecure HTTP requests",
"stayOneVersionBehind": "Stay one version behind latest",
"refreshBeforeDownload": "Refresh app details before download",
@@ -322,6 +323,8 @@
"name": "Name",
"smartname": "Name (Smart)",
"sortMethod": "Sort Method",
"welcome": "Welcome",
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
"removeAppQuestion": {
"one": "Gỡ ứng dụng?",
"other": "Gỡ ứng dụng?"

View File

@@ -211,7 +211,7 @@
"uninstallFromDevice": "從裝置解除安裝",
"onlyWorksWithNonVersionDetectApps": "僅適用於停用版本偵測的應用程式。",
"releaseDateAsVersion": "使用發佈日期作為版本字串",
"releaseTitleAsVersion": "Use release title as version string",
"releaseTitleAsVersion": "使用發佈標題作為版本字串",
"releaseDateAsVersionExplanation": "此選項僅應用於版本偵測無法正確工作但有發佈日期的應用程式。",
"changes": "變更",
"releaseDate": "發佈日期",
@@ -221,6 +221,7 @@
"standardVersionDetection": "標準版本偵測",
"groupByCategory": "按類別分組",
"autoApkFilterByArch": "如果可能,嘗試按 CPU 架構過濾 APK",
"autoLinkFilterByArch": "若可能,自動根據 CPU 架構篩選連結",
"overrideSource": "覆蓋來源",
"dontShowAgain": "不要再顯示",
"dontShowTrackOnlyWarnings": "不要顯示「僅追蹤」警告",
@@ -256,7 +257,7 @@
"intermediateLink": "中間連結",
"exemptFromBackgroundUpdates": "免除背景更新(若已啟用)",
"bgUpdatesOnWiFiOnly": "停用非 Wi-Fi 的背景更新",
"bgUpdatesWhileChargingOnly": "Disable background updates when not charging",
"bgUpdatesWhileChargingOnly": "未充電時停用背景更新",
"autoSelectHighestVersionCode": "自動選擇最高 versionCode 的 APK",
"versionExtractionRegEx": "版本字串提取正則表達式",
"trimVersionString": "用正則表達式修剪版本字串",
@@ -314,14 +315,16 @@
"appVerifierInstructionToast": "分享至 AppVerifier然後準備好時回到此處。",
"wiki": "幫助/維基",
"crowdsourcedConfigsLabel": "群眾外包的應用程式設定(使用風險自負)",
"crowdsourcedConfigsShort": "Crowdsourced App Configs",
"allowInsecure": "Allow insecure HTTP requests",
"stayOneVersionBehind": "Stay one version behind latest",
"refreshBeforeDownload": "Refresh app details before download",
"crowdsourcedConfigsShort": "群眾外包的應用程式設定",
"allowInsecure": "允許不安全的 HTTP 請求",
"stayOneVersionBehind": "保持比最新版本落後一個版本",
"refreshBeforeDownload": "下載前刷新應用程式詳細資訊",
"tencentAppStore": "騰訊應用寶",
"name": "Name",
"smartname": "Name (Smart)",
"sortMethod": "Sort Method",
"name": "名稱",
"smartname": "名稱(智慧)",
"sortMethod": "排序方式",
"welcome": "歡迎",
"documentationLinksNote": "下方連結的 Obtainium GitHub 頁面包含影片、文章、討論及其他資源,能幫助你瞭解如何使用這款應用程式。",
"removeAppQuestion": {
"one": "移除應用程式?",
"other": "移除應用程式?"

View File

@@ -221,6 +221,7 @@
"standardVersionDetection": "常规版本检测",
"groupByCategory": "按类别分组显示",
"autoApkFilterByArch": "如果可能,尝试按设备支持的 CPU 架构筛选 APK 文件",
"autoLinkFilterByArch": "尽可能按 CPU 架构过滤链接",
"overrideSource": "覆盖来源",
"dontShowAgain": "不再显示",
"dontShowTrackOnlyWarnings": "忽略“仅追踪”模式警告",
@@ -322,6 +323,8 @@
"name": "名称",
"smartname": "姓名(智能)",
"sortMethod": "排序方法",
"welcome": "欢迎光临",
"documentationLinksNote": "下面链接的 Obtainium GitHub 页面包含视频、文章、讨论和其他资源的链接,可帮助您了解如何使用该应用程序。",
"removeAppQuestion": {
"one": "是否删除应用?",
"other": "是否删除应用?"

View File

@@ -72,7 +72,8 @@ class APKMirror extends AppSource {
true
? additionalSettings['filterReleaseTitlesByRegEx']
: null;
Response res = await sourceRequest('$standardUrl/feed', additionalSettings);
Response res =
await sourceRequest('$standardUrl/feed/', additionalSettings);
if (res.statusCode == 200) {
var items = parse(res.body).querySelectorAll('item');
dynamic targetRelease;

View File

@@ -213,8 +213,8 @@ class HTML extends AppSource {
additionalValidators: [(value) => regExValidator(value)])
],
[
GeneratedFormSwitch('autoApkFilterByArch',
label: tr('autoApkFilterByArch'), defaultValue: false)
GeneratedFormSwitch('autoLinkFilterByArch',
label: tr('autoLinkFilterByArch'), defaultValue: false)
],
];
HTML() {
@@ -319,7 +319,7 @@ class HTML extends AppSource {
if (intLinks.isEmpty) {
throw NoReleasesError(note: currentUrl);
} else {
if (additionalSettings['intermediateLink'][i]['autoApkFilterByArch'] ==
if (additionalSettings['intermediateLink'][i]['autoLinkFilterByArch'] ==
true) {
intLinks = await filterApksByArch(intLinks);
}

View File

@@ -65,7 +65,7 @@ class Tencent extends AppSource {
var releaseDate =
json['app_detail_records'][appId]['app_info']['update_time'];
var apkName = Uri.parse(apkUrl).queryParameters['fsname'] ??
'${appId}_${version}.apk';
'${appId}_$version.apk';
return APKDetails(
version, [MapEntry(apkName, apkUrl)], AppNames(author, appName),

View File

@@ -15,6 +15,7 @@ import 'package:obtainium/providers/apps_provider.dart';
import 'package:obtainium/providers/settings_provider.dart';
import 'package:obtainium/providers/source_provider.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher_string.dart';
class HomePage extends StatefulWidget {
const HomePage({super.key});
@@ -54,6 +55,45 @@ class _HomePageState extends State<HomePage> {
void initState() {
super.initState();
initDeepLinks();
WidgetsBinding.instance.addPostFrameCallback((_) async {
var sp = context.read<SettingsProvider>();
if (!sp.welcomeShown) {
await showDialog(
context: context,
builder: (BuildContext ctx) {
return AlertDialog(
title: Text(tr('welcome')),
content: Column(
mainAxisSize: MainAxisSize.min,
spacing: 20,
children: [
Text(tr('documentationLinksNote')),
GestureDetector(
onTap: () {
launchUrlString(
'https://github.com/ImranR98/Obtainium/blob/main/README.md',
mode: LaunchMode.externalApplication);
},
child: Text(
'https://github.com/ImranR98/Obtainium/blob/main/README.md',
style: const TextStyle(
decoration: TextDecoration.underline,
fontWeight: FontWeight.bold),
)),
],
),
actions: [
TextButton(
onPressed: () {
sp.welcomeShown = true;
Navigator.of(context).pop(null);
},
child: Text(tr('ok'))),
],
);
});
}
});
}
Future<void> initDeepLinks() async {

View File

@@ -490,8 +490,9 @@ class _ImportExportPageState extends State<ImportExportPage> {
searchSource[0]);
}
},
child: Text(tr('searchX',
args: [tr('source')])))),
child: Text(tr('searchX', args: [
tr('source').toLowerCase()
])))),
],
),
const SizedBox(height: 8),

View File

@@ -800,7 +800,9 @@ class AppsProvider with ChangeNotifier {
if (newInfo == null) {
try {
file.file.deleteSync(recursive: true);
additionalAPKs.forEach((a) => a.file.deleteSync(recursive: true));
for (var a in additionalAPKs) {
a.file.deleteSync(recursive: true);
}
} catch (e) {
//
} finally {

View File

@@ -150,6 +150,15 @@ class SettingsProvider with ChangeNotifier {
return result;
}
bool get welcomeShown {
return prefs?.getBool('welcomeShown') ?? false;
}
set welcomeShown(bool welcomeShown) {
prefs?.setBool('welcomeShown', welcomeShown);
notifyListeners();
}
bool checkJustStarted() {
if (justStarted) {
justStarted = false;

View File

@@ -363,7 +363,7 @@ class App {
otherAssetUrls: otherAssetUrls);
factory App.fromJson(Map<String, dynamic> json) {
Map<String, dynamic> originalJSON = new Map.from(json);
Map<String, dynamic> originalJSON = Map.from(json);
try {
json = appJSONCompatibilityModifiers(json);
} catch (e) {

View File

@@ -14,7 +14,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: "6109d0b1dc015c016e113ded3dd80ac823f790ab"
resolved-ref: c9e144fae63231b5d1d7b88af779c314afcb6e83
url: "https://github.com/ImranR98/android_package_installer"
source: git
version: "0.0.1"
@@ -80,18 +80,18 @@ packages:
dependency: transitive
description:
name: archive
sha256: "0c64e928dcbefddecd234205422bcfc2b5e6d31be0b86fef0d0dd48d7b4c9742"
sha256: "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12"
url: "https://pub.dev"
source: hosted
version: "4.0.4"
version: "4.0.5"
args:
dependency: transitive
description:
name: args
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
url: "https://pub.dev"
source: hosted
version: "2.6.0"
version: "2.7.0"
async:
dependency: transitive
description:
@@ -104,10 +104,10 @@ packages:
dependency: "direct main"
description:
name: background_fetch
sha256: e9f26ae54d88310b7ac2a68f2f9fcee0081a4d5f11100f233a70702021e7ac4f
sha256: "442e82f508708be89fd0cc7e1dc3b27bc7c6c8c39a47967ccb7ed1c57b9108b5"
url: "https://pub.dev"
source: hosted
version: "1.3.7"
version: "1.3.8"
battery_plus:
dependency: "direct main"
description:
@@ -304,10 +304,10 @@ packages:
dependency: "direct main"
description:
name: file_picker
sha256: "7423298f08f6fc8cce05792bae329f9a93653fc9c08712831b1a55540127995d"
sha256: "09b474c0c8117484b80cbebc043801ff91e05cfbd2874d512825c899e1754694"
url: "https://pub.dev"
source: hosted
version: "9.0.2"
version: "9.2.3"
fixnum:
dependency: transitive
description:
@@ -328,10 +328,10 @@ packages:
dependency: transitive
description:
name: flex_seed_scheme
sha256: d3ba3c5c92d2d79d45e94b4c6c71d01fac3c15017da1545880c53864da5dfeb0
sha256: b06d8b367b84cbf7ca5c5603c858fa5edae88486c4e4da79ac1044d73b6c62ec
url: "https://pub.dev"
source: hosted
version: "3.5.0"
version: "3.5.1"
flutter:
dependency: "direct main"
description: flutter
@@ -580,10 +580,10 @@ packages:
dependency: transitive
description:
name: image
sha256: "13d3349ace88f12f4a0d175eb5c12dcdd39d35c4c109a8a13dfeb6d0bd9e31c3"
sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928"
url: "https://pub.dev"
source: hosted
version: "4.5.3"
version: "4.5.4"
intl:
dependency: transitive
description:
@@ -860,10 +860,10 @@ packages:
dependency: "direct main"
description:
name: provider
sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c
sha256: "489024f942069c2920c844ee18bb3d467c69e48955a4f32d1677f71be103e310"
url: "https://pub.dev"
source: hosted
version: "6.1.2"
version: "6.1.4"
share_plus:
dependency: "direct main"
description:
@@ -884,10 +884,10 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a"
sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5"
url: "https://pub.dev"
source: hosted
version: "2.5.2"
version: "2.5.3"
shared_preferences_android:
dependency: transitive
description:
@@ -950,8 +950,8 @@ packages:
description:
path: "."
ref: master
resolved-ref: "25acc02612c2e0fcae40d312e047ac48106f8f6b"
url: "https://github.com/re7gog/shizuku_apk_installer"
resolved-ref: c4349ceb03ae7293987cc0290ef06761e62c082e
url: "https://github.com/wilver06w/shizuku_apk_installer"
source: git
version: "0.0.1"
sky_engine:
@@ -1195,10 +1195,10 @@ packages:
dependency: transitive
description:
name: webview_flutter_android
sha256: "631093a7fbd93e9690ac61d8c8f3e857efbc189fc33f712b9ad6c01a623517ef"
sha256: e09150b28a07933839adef0e4a088bb43e8c8d9e6b93025b01882d4067a58ab0
url: "https://pub.dev"
source: hosted
version: "4.3.3"
version: "4.3.4"
webview_flutter_platform_interface:
dependency: transitive
description:
@@ -1219,10 +1219,10 @@ packages:
dependency: transitive
description:
name: win32
sha256: b89e6e24d1454e149ab20fbb225af58660f0c0bf4475544650700d8e2da54aef
sha256: dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f
url: "https://pub.dev"
source: hosted
version: "5.11.0"
version: "5.12.0"
win32_registry:
dependency: transitive
description:

View File

@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 1.1.46+2303
version: 1.1.48+2305
environment:
sdk: ^3.6.0
@@ -80,7 +80,7 @@ dependencies:
ref: master
shizuku_apk_installer:
git:
url: https://github.com/re7gog/shizuku_apk_installer
url: https://github.com/wilver06w/shizuku_apk_installer
ref: master
markdown: any