Compare commits

...

22 Commits

Author SHA1 Message Date
Imran
84df499ea6 Merge pull request #1606 from ImranR98/dev
- Add more links to the settings page (#1554)
- Support for more Huawei AppGallery URL schemes (#1570)
- Fix HTML release asset download (#1578)
- Fix non-APK GitHub release asset downloads (#1581)
- Fix asset date UI (#1590)
2024-05-05 22:07:51 -04:00
Imran Remtulla
0d25b74050 Increment version 2024-05-05 22:05:59 -04:00
Imran Remtulla
0effbc3841 Merge remote-tracking branch 'origin/main' into dev 2024-05-05 22:05:07 -04:00
Imran Remtulla
7478a7af22 Add more links to the settings page (#1554) 2024-05-05 22:03:04 -04:00
Imran Remtulla
0838a6d30b Support for more Huawei AppGallery URL schemes (#1570) 2024-05-05 21:51:05 -04:00
Imran Remtulla
8cee268d13 Fix HTML release asset download (#1578) 2024-05-05 21:43:05 -04:00
Imran Remtulla
a3fddc5400 Fix non-APK GitHub release asset downloads (#1581) 2024-05-05 21:35:16 -04:00
Imran Remtulla
c0a2e372e5 Fix asset date UI (#1590) + update packages 2024-05-05 21:11:59 -04:00
Imran
c633963203 Merge pull request #1598 from LilligantMatsuri/main
Update Chinese translation
2024-05-02 09:11:40 -04:00
Matsuri
299f457938 Update zh.json
- Add a missing string and its translation (#L116)
- Correct inaccurate translations
- Minor improvements

Signed-off-by: Matsuri <matsuri@vmoe.info>
2024-05-02 16:00:00 +08:00
Imran
37e62c922b Merge pull request #1591 from Hamster45105/main
Fix README link
2024-05-01 09:05:15 -04:00
Hamish
95722ce47b Fix README link 2024-05-01 16:42:56 +10:00
Imran
8b806b3ef1 Merge pull request #1585 from Hamster45105/patch-1
Update README
2024-04-30 16:35:41 -04:00
Hamish
09221b3526 Update README 2024-04-29 11:56:28 +10:00
Imran
31b6250082 Merge pull request #1568 from DwainZwerg/patch-16
Update de.json
2024-04-28 13:32:12 -04:00
Imran
07372da91b Merge pull request #1569 from bluefly000/japanese-translation
Update ja.json
2024-04-28 13:32:01 -04:00
Imran
5c36bcfb4b Merge pull request #1575 from Stephan-P/patch-1
Update nl.json
2024-04-28 13:31:52 -04:00
Imran
e5012b1fcb Merge pull request #1582 from CertainBot/patch-3
Spanish Update
2024-04-28 13:31:43 -04:00
CertainBot
6f951175a4 Spanish Update
English:
- texts homogenized, few corrections
Español:
- homogeneizar textos, algunas correcciones
2024-04-27 17:31:38 +02:00
Stephan Paternotte
be52ec372f Update nl.json
Significant overhaul of the Dutch translation including addition of a line that was missing compared to en.json
2024-04-24 20:02:50 +02:00
bluefly000
eb7126afc3 Update ja.json 2024-04-24 13:14:41 +09:00
DwainZwerg
26fc63a02a Update de.json 2024-04-23 22:15:22 +02:00
29 changed files with 497 additions and 406 deletions

View File

@@ -29,15 +29,23 @@ Currently supported App sources:
- [Huawei AppGallery](https://appgallery.huawei.com/) - [Huawei AppGallery](https://appgallery.huawei.com/)
- Jenkins Jobs - Jenkins Jobs
- Open Source - App-Specific: - Open Source - App-Specific:
- [Mullvad](https://mullvad.net/en/)
- [Signal](https://signal.org/) - [Signal](https://signal.org/)
- [VLC](https://videolan.org/) - [VLC](https://videolan.org/)
- Other - App-Specific: - Other - App-Specific:
- [WhatsApp](https://whatsapp.com) - [WhatsApp](https://whatsapp.com)
- [Telegram App](https://telegram.org) - [Telegram App](https://telegram.org)
- [Neutron Code](https://neutroncode.com) - [Neutron Code](https://neutroncode.com)
- Direct APK Link
- "HTML" (Fallback): Any other URL that returns an HTML page with links to APK files - "HTML" (Fallback): Any other URL that returns an HTML page with links to APK files
## Finding App Configurations
You can find crowdsourced app configurations at [apps.obtainium.imranr.dev](https://apps.obtainium.imranr.dev).
If you can't find the configuration for an app you want, feel free to leave a request on the [discussions page](https://github.com/ImranR98/apps.obtainium.imranr.dev/discussions/new?category=app-requests).
Or, contribute some configurations to the website by creating a PR at [this repo](https://github.com/ImranR98/apps.obtainium.imranr.dev).
## Installation ## Installation
[<img src="https://github.com/machiav3lli/oandbackupx/blob/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png" [<img src="https://github.com/machiav3lli/oandbackupx/blob/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png"

View File

@@ -113,6 +113,7 @@
"dark": "Tamna", "dark": "Tamna",
"light": "Svijetla", "light": "Svijetla",
"followSystem": "Pratite sistem", "followSystem": "Pratite sistem",
"followSystemThemeExplanation": "Following system theme is possible only by using third-party applications",
"useBlackTheme": "Koristite čisto crnu tamnu temu", "useBlackTheme": "Koristite čisto crnu tamnu temu",
"appSortBy": "Aplikacije sortirane po", "appSortBy": "Aplikacije sortirane po",
"authorName": "Autor/Ime", "authorName": "Autor/Ime",
@@ -309,6 +310,8 @@
"badDownload": "The APK could not be parsed (incompatible or partial download)", "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.", "appVerifierInstructionToast": "Share to AppVerifier, then return here when ready.",
"wiki": "Help/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Želite li ukloniti aplikaciju?", "one": "Želite li ukloniti aplikaciju?",
"other": "Želite li ukloniti aplikacije?" "other": "Želite li ukloniti aplikacije?"

View File

@@ -113,6 +113,7 @@
"dark": "Tmavé", "dark": "Tmavé",
"light": "Světlé", "light": "Světlé",
"followSystem": "Jako systém", "followSystem": "Jako systém",
"followSystemThemeExplanation": "Sledování motivu systému je možné pouze pomocí aplikací třetích stran.",
"useBlackTheme": "Použít čistě černé tmavé téma", "useBlackTheme": "Použít čistě černé tmavé téma",
"appSortBy": "Seřadit podle", "appSortBy": "Seřadit podle",
"authorName": "Autor/Jméno", "authorName": "Autor/Jméno",
@@ -309,6 +310,8 @@
"badDownload": "APK nelze analyzovat (nekompatibilní nebo částečné stažení)", "badDownload": "APK nelze analyzovat (nekompatibilní nebo částečné stažení)",
"beforeNewInstallsShareToAppVerifier": "Sdílení nových aplikací s aplikací AppVerifier (pokud je k dispozici)", "beforeNewInstallsShareToAppVerifier": "Sdílení nových aplikací s aplikací AppVerifier (pokud je k dispozici)",
"appVerifierInstructionToast": "Sdílejte do aplikace AppVerifier a po dokončení se sem vraťte.", "appVerifierInstructionToast": "Sdílejte do aplikace AppVerifier a po dokončení se sem vraťte.",
"wiki": "Nápověda/Wiki",
"crowdsourcedConfigsLabel": "Konfigurace aplikací s využitím crowdsourcingu (použití na vlastní nebezpečí)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Odstranit Apku?", "one": "Odstranit Apku?",
"other": "Odstranit Apky?" "other": "Odstranit Apky?"

View File

@@ -113,6 +113,7 @@
"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",
"useBlackTheme": "Verwende Pure Black Dark Theme", "useBlackTheme": "Verwende Pure Black Dark Theme",
"appSortBy": "App sortieren nach", "appSortBy": "App sortieren nach",
"authorName": "Autor/Name", "authorName": "Autor/Name",
@@ -309,6 +310,8 @@
"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",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (Verwendung auf eigene Gefahr)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "App entfernen?", "one": "App entfernen?",
"other": "Apps entfernen?" "other": "Apps entfernen?"

View File

@@ -310,6 +310,8 @@
"badDownload": "The APK could not be parsed (incompatible or partial download)", "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.", "appVerifierInstructionToast": "Share to AppVerifier, then return here when ready.",
"wiki": "Help/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Remove App?", "one": "Remove App?",
"other": "Remove Apps?" "other": "Remove Apps?"

View File

@@ -24,15 +24,15 @@
"colour": "Color", "colour": "Color",
"standard": "Estándar", "standard": "Estándar",
"custom": "A medida", "custom": "A medida",
"useMaterialYou": "Utilice el material que", "useMaterialYou": "Use 'Material You'",
"githubStarredRepos": "Repositorios favoritos en GitHub", "githubStarredRepos": "Repositorios favoritos en GitHub",
"uname": "Nombre de usuario", "uname": "Nombre de usuario",
"wrongArgNum": "Número de argumentos provistos inválido", "wrongArgNum": "Número de argumentos provistos inválido",
"xIsTrackOnly": "{} es de 'sólo seguimiento'", "xIsTrackOnly": "{} es de 'sólo seguimiento'",
"source": "Origen", "source": "Origen",
"app": "Aplicación", "app": "Aplicación",
"appsFromSourceAreTrackOnly": "Las aplicaciones de este origen son de 'solo seguimiento'.", "appsFromSourceAreTrackOnly": "Las aplicaciones de este origen son solo para seguimiento.",
"youPickedTrackOnly": "Debe seleccionar la opción de 'solo seguimiento'.", "youPickedTrackOnly": "Debe seleccionar la opción de 'solo para seguimiento'.",
"trackOnlyAppDescription": "Se hará el seguimiento de actualizaciones para la aplicación, pero Obtainium no será capaz de descargar o actualizarla.", "trackOnlyAppDescription": "Se hará el seguimiento de actualizaciones para la aplicación, pero Obtainium no será capaz de descargar o actualizarla.",
"cancelled": "Cancelado", "cancelled": "Cancelado",
"appAlreadyAdded": "Aplicación añadida anteriormente", "appAlreadyAdded": "Aplicación añadida anteriormente",
@@ -45,7 +45,7 @@
"search": "Buscar", "search": "Buscar",
"additionalOptsFor": "Opciones adicionales para {}", "additionalOptsFor": "Opciones adicionales para {}",
"supportedSources": "Fuentes admitidas", "supportedSources": "Fuentes admitidas",
"trackOnlyInBrackets": "(Solo seguimiento)", "trackOnlyInBrackets": "(Solo para seguimiento)",
"searchableInBrackets": "(permite búsqueda)", "searchableInBrackets": "(permite búsqueda)",
"appsString": "Aplicaciones", "appsString": "Aplicaciones",
"noApps": "Sin Aplicaciones", "noApps": "Sin Aplicaciones",
@@ -63,7 +63,7 @@
"removeSelectedApps": "Eliminar aplicaciones seleccionadas", "removeSelectedApps": "Eliminar aplicaciones seleccionadas",
"updateX": "Actualizar {}", "updateX": "Actualizar {}",
"installX": "Instalar {}", "installX": "Instalar {}",
"markXTrackOnlyAsUpdated": "Marcar {}\n(Solo seguimiento)\ncomo actualizada", "markXTrackOnlyAsUpdated": "Marcar {}\n(solo para seguimiento)\ncomo actualizada",
"changeX": "Cambiar {}", "changeX": "Cambiar {}",
"installUpdateApps": "Instalar/actualizar aplicaciones", "installUpdateApps": "Instalar/actualizar aplicaciones",
"installUpdateSelectedApps": "Instalar/actualizar aplicaciones seleccionadas", "installUpdateSelectedApps": "Instalar/actualizar aplicaciones seleccionadas",
@@ -113,6 +113,7 @@
"dark": "Oscuro", "dark": "Oscuro",
"light": "Claro", "light": "Claro",
"followSystem": "Seguir al sistema", "followSystem": "Seguir al sistema",
"followSystemThemeExplanation": "Seguir el tema del sistema sólo es posible utilizando aplicaciones de terceros",
"useBlackTheme": "Negro puro en tema oscuro", "useBlackTheme": "Negro puro en tema oscuro",
"appSortBy": "Ordenar aplicaciones por", "appSortBy": "Ordenar aplicaciones por",
"authorName": "Autor/nombre", "authorName": "Autor/nombre",
@@ -177,7 +178,7 @@
"appId": "ID de la Aplicación", "appId": "ID de la Aplicación",
"appWithIdOrNameNotFound": "No se han encontrado aplicaciones con ese ID o nombre", "appWithIdOrNameNotFound": "No se han encontrado aplicaciones con ese ID o nombre",
"reposHaveMultipleApps": "Los repositorios pueden contener varias aplicaciones", "reposHaveMultipleApps": "Los repositorios pueden contener varias aplicaciones",
"fdroidThirdPartyRepo": "Repositorio de tercera parte F-Droid", "fdroidThirdPartyRepo": "Repositorio de terceros F-Droid",
"steamMobile": "Steam para móviles", "steamMobile": "Steam para móviles",
"steamChat": "Chat de Steam", "steamChat": "Chat de Steam",
"install": "Instalar", "install": "Instalar",
@@ -190,7 +191,7 @@
"downloadingX": "Descargando {}", "downloadingX": "Descargando {}",
"downloadX": "Descargar {}", "downloadX": "Descargar {}",
"downloadedX": "Descargado {}", "downloadedX": "Descargado {}",
"releaseAsset": "Liberar activos", "releaseAsset": "Recurso publicado",
"downloadNotifDescription": "Notifica al usuario del progreso de descarga de una aplicación", "downloadNotifDescription": "Notifica al usuario del progreso de descarga de una aplicación",
"noAPKFound": "No se ha encontrado el paquete de instalación APK", "noAPKFound": "No se ha encontrado el paquete de instalación APK",
"noVersionDetection": "Sin detección de versiones", "noVersionDetection": "Sin detección de versiones",
@@ -223,9 +224,9 @@
"autoApkFilterByArch": "Filtrar APK por arquitectura del procesador (si es posible)", "autoApkFilterByArch": "Filtrar APK por arquitectura del procesador (si es posible)",
"overrideSource": "Forzar desde la fuente", "overrideSource": "Forzar desde la fuente",
"dontShowAgain": "No mostrar de nuevo", "dontShowAgain": "No mostrar de nuevo",
"dontShowTrackOnlyWarnings": "No mostrar avisos sobre apps en 'solo seguimiento'", "dontShowTrackOnlyWarnings": "No mostrar avisos sobre apps 'solo para seguimiento",
"dontShowAPKOriginWarnings": "No mostrar avisos sobre las fuentes de las APKs", "dontShowAPKOriginWarnings": "No mostrar avisos sobre las fuentes de las APKs",
"moveNonInstalledAppsToBottom": "Mover Apps no instaladas al final", "moveNonInstalledAppsToBottom": "Mover apps no instaladas al final",
"gitlabPATLabel": "Token de acceso personal a GitLab", "gitlabPATLabel": "Token de acceso personal a GitLab",
"about": "Acerca", "about": "Acerca",
"requiresCredentialsInSettings": "{}: Esto requiere credenciales adicionales (en ajustes)", "requiresCredentialsInSettings": "{}: Esto requiere credenciales adicionales (en ajustes)",
@@ -285,30 +286,32 @@
"checkingForUpdatesNotifChannel": "Buscando actualizaciones", "checkingForUpdatesNotifChannel": "Buscando actualizaciones",
"onlyCheckInstalledOrTrackOnlyApps": "Comprobar actualizaciones solo para apps instaladas o en seguimiento", "onlyCheckInstalledOrTrackOnlyApps": "Comprobar actualizaciones solo para apps instaladas o en seguimiento",
"supportFixedAPKURL": "Soporte para URLs fijas de APK", "supportFixedAPKURL": "Soporte para URLs fijas de APK",
"selectX": "Selecciona {}", "selectX": "Elija {}",
"parallelDownloads": "Permitir descargas paralelas", "parallelDownloads": "Permitir descargas paralelas",
"useShizuku": "Utilice Shizuku o Sui para instalar", "useShizuku": "Use Shizuku o Sui para instalar",
"shizukuBinderNotFound": "Shizuku no funciona", "shizukuBinderNotFound": "Shizuku no funciona",
"shizukuOld": "Versión antigua de Shizuku (<11) - actualícela", "shizukuOld": "Versión antigua de Shizuku (<11) - actualícela",
"shizukuOldAndroidWithADB": "Shizuku corriendo en Android < 8.1 con ADB - actualiza Android o usa Sui en su lugar", "shizukuOldAndroidWithADB": "Shizuku corriendo en Android < 8.1 con ADB - actualiza Android o usa Sui en su lugar",
"shizukuPretendToBeGooglePlay": "Establecer Google Play como fuente de instalación (si se utiliza Shizuku)", "shizukuPretendToBeGooglePlay": "Establecer Google Play como fuente de instalación (si se usa Shizuku)",
"useSystemFont": "Usar fuente del sistema", "useSystemFont": "Usar fuente del sistema",
"useVersionCodeAsOSVersion": "Usar la versión de la aplicación como versión detectada por el sistema operativo", "useVersionCodeAsOSVersion": "Usar la versión de la aplicación como versión detectada por el sistema operativo",
"requestHeader": "Encabezado de solicitud", "requestHeader": "Encabezado de solicitud",
"useLatestAssetDateAsReleaseDate": "Usar la última carga de recursos como fecha de lanzamiento", "useLatestAssetDateAsReleaseDate": "Usar la última carga del recurso como fecha de lanzamiento",
"defaultPseudoVersioningMethod": "Método de pseudoversionado predeterminado", "defaultPseudoVersioningMethod": "Método de pseudoversionado predeterminado",
"partialAPKHash": "Hash de APK parcial", "partialAPKHash": "Hash de APK parcial",
"APKLinkHash": "Hash de enlace APK", "APKLinkHash": "Hash de enlace APK",
"directAPKLink": "Enlace APK directo", "directAPKLink": "Enlace APK directo",
"pseudoVersionInUse": "Se está utilizando una pseudoversión", "pseudoVersionInUse": "Se está usando una pseudoversión",
"installed": "Instalado", "installed": "Instalado",
"latest": "Versión más reciente", "latest": "Versión más reciente",
"invertRegEx": "Invertir expresión regular", "invertRegEx": "Invertir expresión regular",
"note": "Nota", "note": "Nota",
"selfHostedNote": "El desplegable «{}» puede utilizarse para acceder a instancias autoalojadas/personalizadas de cualquier fuente.", "selfHostedNote": "El desplegable «{}» puede usarse para acceder a instancias autoalojadas/personalizadas de cualquier fuente.",
"badDownload": "No se ha podido analizar el APK (incompatible o descarga parcial)", "badDownload": "No se ha podido analizar el APK (incompatible o descarga parcial)",
"beforeNewInstallsShareToAppVerifier": "Compartir nuevas aplicaciones con AppVerifier (si está disponible)", "beforeNewInstallsShareToAppVerifier": "Compartir nuevas aplicaciones con AppVerifier (si está disponible)",
"appVerifierInstructionToast": "Comparta con AppVerifier y vuelva aquí cuando esté listo.", "appVerifierInstructionToast": "Comparta con AppVerifier y vuelva aquí cuando esté listo.",
"wiki": "Ayuda/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (uso bajo su propia responsabilidad)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "¿Eliminar aplicación?", "one": "¿Eliminar aplicación?",
"other": "¿Eliminar aplicaciones?" "other": "¿Eliminar aplicaciones?"

View File

@@ -113,6 +113,7 @@
"dark": "تاریک", "dark": "تاریک",
"light": "روشن", "light": "روشن",
"followSystem": "هماهنگ با سیستم", "followSystem": "هماهنگ با سیستم",
"followSystemThemeExplanation": "Following system theme is possible only by using third-party applications",
"useBlackTheme": "استفاده از تم تیره سیاه خالص", "useBlackTheme": "استفاده از تم تیره سیاه خالص",
"appSortBy": "مرتب سازی برنامه بر اساس", "appSortBy": "مرتب سازی برنامه بر اساس",
"authorName": "سازنده/اسم", "authorName": "سازنده/اسم",
@@ -309,6 +310,8 @@
"badDownload": "The APK could not be parsed (incompatible or partial download)", "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.", "appVerifierInstructionToast": "Share to AppVerifier, then return here when ready.",
"wiki": "Help/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "برنامه حذف شود؟", "one": "برنامه حذف شود؟",
"other": "برنامه ها حذف شوند؟" "other": "برنامه ها حذف شوند؟"

View File

@@ -113,6 +113,7 @@
"dark": "Sombre", "dark": "Sombre",
"light": "Clair", "light": "Clair",
"followSystem": "Suivre le système", "followSystem": "Suivre le système",
"followSystemThemeExplanation": "Il n'est possible de suivre le thème du système qu'en utilisant des applications tierces.",
"useBlackTheme": "Utilisez le thème noir pur", "useBlackTheme": "Utilisez le thème noir pur",
"appSortBy": "Applications triées par", "appSortBy": "Applications triées par",
"authorName": "Auteur/Nom", "authorName": "Auteur/Nom",
@@ -309,6 +310,8 @@
"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 vous êtes prêt.", "appVerifierInstructionToast": "Partagez avec AppVerifier, puis revenez ici lorsque vous êtes prêt.",
"wiki": "Aide/Wiki",
"crowdsourcedConfigsLabel": "Configurations d'applications par la foule (utilisation à vos risques et périls)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Supprimer l'application ?", "one": "Supprimer l'application ?",
"other": "Supprimer les applications ?" "other": "Supprimer les applications ?"

View File

@@ -113,6 +113,7 @@
"dark": "Sötét", "dark": "Sötét",
"light": "Világos", "light": "Világos",
"followSystem": "Rendszer szerint", "followSystem": "Rendszer szerint",
"followSystemThemeExplanation": "A következő rendszer téma csak harmadik féltől származó alkalmazások használatával lehetséges",
"useBlackTheme": "Használjon teljesen fekete sötét témát", "useBlackTheme": "Használjon teljesen fekete sötét témát",
"appSortBy": "App rendezés...", "appSortBy": "App rendezés...",
"authorName": "Szerző/Név", "authorName": "Szerző/Név",
@@ -309,6 +310,8 @@
"badDownload": "Az APK-t nem lehetett elemezni (inkompatibilis vagy részleges letöltés)", "badDownload": "Az APK-t nem lehetett elemezni (inkompatibilis vagy részleges letöltés)",
"beforeNewInstallsShareToAppVerifier": "Új alkalmazások megosztása az AppVerifierrel (ha elérhető)", "beforeNewInstallsShareToAppVerifier": "Új alkalmazások megosztása az AppVerifierrel (ha elérhető)",
"appVerifierInstructionToast": "Ossza meg az AppVerifierrel, majd térjen vissza ide, ha kész.", "appVerifierInstructionToast": "Ossza meg az AppVerifierrel, majd térjen vissza ide, ha kész.",
"wiki": "Súgó/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (használat saját felelősségre)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Eltávolítja az alkalmazást?", "one": "Eltávolítja az alkalmazást?",
"other": "Eltávolítja az alkalmazásokat?" "other": "Eltávolítja az alkalmazásokat?"

View File

@@ -113,6 +113,7 @@
"dark": "Scuro", "dark": "Scuro",
"light": "Chiaro", "light": "Chiaro",
"followSystem": "Segui il sistema", "followSystem": "Segui il sistema",
"followSystemThemeExplanation": "È possibile seguire il tema di sistema solo utilizzando applicazioni di terze parti.",
"useBlackTheme": "Usa il tema nero puro", "useBlackTheme": "Usa il tema nero puro",
"appSortBy": "App ordinate per", "appSortBy": "App ordinate per",
"authorName": "Autore/Nome", "authorName": "Autore/Nome",
@@ -309,6 +310,8 @@
"badDownload": "Non è stato possibile analizzare l'APK (download incompatibile o parziale).", "badDownload": "Non è stato possibile analizzare l'APK (download incompatibile o parziale).",
"beforeNewInstallsShareToAppVerifier": "Condividere le nuove applicazioni con AppVerifier (se disponibile)", "beforeNewInstallsShareToAppVerifier": "Condividere le nuove applicazioni con AppVerifier (se disponibile)",
"appVerifierInstructionToast": "Condividete con AppVerifier, quindi tornate qui quando siete pronti.", "appVerifierInstructionToast": "Condividete con AppVerifier, quindi tornate qui quando siete pronti.",
"wiki": "Aiuto/Wiki",
"crowdsourcedConfigsLabel": "Configurazioni di app in crowdsourcing (uso a proprio rischio)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Rimuovere l'app?", "one": "Rimuovere l'app?",
"other": "Rimuovere le app?" "other": "Rimuovere le app?"

View File

@@ -24,7 +24,7 @@
"colour": "カラー", "colour": "カラー",
"standard": "スタンダード", "standard": "スタンダード",
"custom": "カスタム", "custom": "カスタム",
"useMaterialYou": "使用素材", "useMaterialYou": "Material Youを使用する",
"githubStarredRepos": "Githubでスターしたリポジトリ", "githubStarredRepos": "Githubでスターしたリポジトリ",
"uname": "ユーザー名", "uname": "ユーザー名",
"wrongArgNum": "提供する引数の数が間違っています", "wrongArgNum": "提供する引数の数が間違っています",
@@ -113,6 +113,7 @@
"dark": "ダーク", "dark": "ダーク",
"light": "ライト", "light": "ライト",
"followSystem": "システムに従う", "followSystem": "システムに従う",
"followSystemThemeExplanation": "以下のシステムテーマは、サードパーティのアプリケーションを使用することによってのみ可能です。",
"useBlackTheme": "ピュアブラックダークテーマを使用する", "useBlackTheme": "ピュアブラックダークテーマを使用する",
"appSortBy": "アプリの並び方", "appSortBy": "アプリの並び方",
"authorName": "作者名/アプリ名", "authorName": "作者名/アプリ名",
@@ -287,11 +288,11 @@
"supportFixedAPKURL": "固定されたAPKのURLをサポートする", "supportFixedAPKURL": "固定されたAPKのURLをサポートする",
"selectX": "{} 選択", "selectX": "{} 選択",
"parallelDownloads": "並行ダウンロードを許可する", "parallelDownloads": "並行ダウンロードを許可する",
"useShizuku": "シズクまたはスイを使って設置する", "useShizuku": "ShizukuまたはSuiを使用してインストールする",
"shizukuBinderNotFound": "Shizukuが起動していません", "shizukuBinderNotFound": "Shizukuが起動していません",
"shizukuOld": "古いバージョン (<11) - アップデートしてください", "shizukuOld": "古いShizukuのバージョン (<11) - アップデートしてください",
"shizukuOldAndroidWithADB": "雫、Android < 8.1でADB動作 - Androidをアップデートするか、代わりにSuiを使うか", "shizukuOldAndroidWithADB": "ShizukuがAndroid 8.1未満でADBを使用して動作しています - Androidをアップデートするか、代わりにSuiを使用してください",
"shizukuPretendToBeGooglePlay": "インストール元をGoogle Playに設定する(雫を使用する場合)", "shizukuPretendToBeGooglePlay": "Google Playをインストール元として設定するShizukuを使用する場合)",
"useSystemFont": "システムフォントを使用する", "useSystemFont": "システムフォントを使用する",
"useVersionCodeAsOSVersion": "アプリのバージョンコードをOSで検出されたバージョンとして使用する", "useVersionCodeAsOSVersion": "アプリのバージョンコードをOSで検出されたバージョンとして使用する",
"requestHeader": "リクエストヘッダー", "requestHeader": "リクエストヘッダー",
@@ -309,6 +310,8 @@
"badDownload": "APK を解析できませんでした(互換性がないか、部分的にダウンロードされています)。", "badDownload": "APK を解析できませんでした(互換性がないか、部分的にダウンロードされています)。",
"beforeNewInstallsShareToAppVerifier": "AppVerifierで新しいアプリを共有する利用可能な場合", "beforeNewInstallsShareToAppVerifier": "AppVerifierで新しいアプリを共有する利用可能な場合",
"appVerifierInstructionToast": "AppVerifierに共有し、準備ができたらここに戻ってください。", "appVerifierInstructionToast": "AppVerifierに共有し、準備ができたらここに戻ってください。",
"wiki": "ヘルプ/ウィキ",
"crowdsourcedConfigsLabel": "クラウドソーシングによるアプリの設定(利用は自己責任で)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "アプリを削除しますか?", "one": "アプリを削除しますか?",
"other": "アプリを削除しますか?" "other": "アプリを削除しますか?"

View File

@@ -1,134 +1,135 @@
{ {
"invalidURLForSource": "Geen valide {} app URL", "invalidURLForSource": "Ongeldige app-URL voor {}",
"noReleaseFound": "Kan geen geschikte release vinden", "noReleaseFound": "Geen geschikte release gevonden",
"noVersionFound": "Kan de versie niet bepalen", "noVersionFound": "Geen versie kunnen bepalen",
"urlMatchesNoSource": "URL komt niet overeen met bekende bron", "urlMatchesNoSource": "URL komt niet overeen met bekende bron",
"cantInstallOlderVersion": "Kan geen oudere versie van de app installeren", "cantInstallOlderVersion": "Kan geen oudere versie van de app installeren",
"appIdMismatch": "Gedownloade pakket-ID komt niet overeen met de bestaande app-ID", "appIdMismatch": "Gedownload pakket-ID komt niet overeen met de bestaande app-ID",
"functionNotImplemented": "Deze class heeft deze functie niet geïmplementeerd.", "functionNotImplemented": "Deze klasse heeft deze functie niet geïmplementeerd.",
"placeholder": "Plaatshouder", "placeholder": "Dummy",
"someErrors": "Er zijn enkele fouten opgetreden", "someErrors": "Er zijn enkele fouten opgetreden",
"unexpectedError": "Onverwachte fout", "unexpectedError": "Onverwachte fout",
"ok": "Ok", "ok": "Oké",
"and": "en", "and": "en",
"githubPATLabel": "GitHub Personal Access Token\n(Verhoogt limiet aantal verzoeken)", "githubPATLabel": "GitHub Personal Access Token\n(Verhoogt limiet aantal verzoeken)",
"includePrereleases": "Bevat prereleases", "includePrereleases": "Inclusief pre-releases",
"fallbackToOlderReleases": "Terugvallen op oudere releases", "fallbackToOlderReleases": "Terugvallen op oudere releases",
"filterReleaseTitlesByRegEx": "Filter release-titels met reguliere expressies.", "filterReleaseTitlesByRegEx": "Release-titels filteren met reguliere expressies.",
"invalidRegEx": "Ongeldige reguliere expressie", "invalidRegEx": "Ongeldige reguliere expressie",
"noDescription": "Geen omschrijving", "noDescription": "Geen omschrijving",
"cancel": "Annuleer", "cancel": "Annuleren",
"continue": "Ga verder", "continue": "Doorgaan",
"requiredInBrackets": "(Verplicht)", "requiredInBrackets": "(Verplicht)",
"dropdownNoOptsError": "FOUTMELDING: DROPDOWN MOET TENMINSTE ÉÉN OPT HEBBEN", "dropdownNoOptsError": "FOUTMELDING: UITKLAPMENU MOET TENMINSTE EEN OPT HEBBEN",
"colour": "Kleur", "colour": "Kleur",
"standard": "Standaard", "standard": "Standaard",
"custom": "Aangepast", "custom": "Aangepast",
"useMaterialYou": "Gebruik materiaal", "useMaterialYou": "Material You gebruiken",
"githubStarredRepos": "GitHub-repo's met ster", "githubStarredRepos": "GitHub-repo's met ster",
"uname": "Gebruikersnaam", "uname": "Gebruikersnaam",
"wrongArgNum": "Onjuist aantal argumenten verstrekt.", "wrongArgNum": "Incorrect aantal argumenten.",
"xIsTrackOnly": "{} is alleen tracken", "xIsTrackOnly": "{} is 'Alleen volgen'",
"source": "Bron", "source": "Bron",
"app": "App", "app": "App",
"appsFromSourceAreTrackOnly": "Apps van deze bron zijn 'Track-Only'.", "appsFromSourceAreTrackOnly": "Apps van deze bron zijn 'Alleen volgen'.",
"youPickedTrackOnly": "Je hebt de 'Track-Only' optie geselecteerd.", "youPickedTrackOnly": "De optie 'Alleen volgen' is geselecteerd.",
"trackOnlyAppDescription": "De app zal worden gevolgd voor updates, maar Obtainium zal niet in staat zijn om deze te downloaden of te installeren.", "trackOnlyAppDescription": "De app zal worden gevolgd voor updates, maar Obtainium zal niet in staat zijn om deze te downloaden of te installeren.",
"cancelled": "Geannuleerd", "cancelled": "Geannuleerd",
"appAlreadyAdded": "App al toegevoegd", "appAlreadyAdded": "App reeds toegevoegd",
"alreadyUpToDateQuestion": "Is de app al up-to-date?", "alreadyUpToDateQuestion": "App al bijgewerkt?",
"addApp": "App toevoegen", "addApp": "App toevoegen",
"appSourceURL": "App bron URL", "appSourceURL": "App-bron URL",
"error": "Foutmelding", "error": "Foutmelding",
"add": "Toevoegen", "add": "Toevoegen",
"searchSomeSourcesLabel": "Zoeken (Alleen sommige bronnen)", "searchSomeSourcesLabel": "Zoeken (sommige bronnen)",
"search": "Zoeken", "search": "Zoeken",
"additionalOptsFor": "Aanvullende opties voor {}", "additionalOptsFor": "Aanvullende opties voor {}",
"supportedSources": "Ondersteunde bronnen", "supportedSources": "Ondersteunde bronnen",
"trackOnlyInBrackets": "(Alleen track)", "trackOnlyInBrackets": "(Alleen volgen)",
"searchableInBrackets": "(Doorzoekbaar)", "searchableInBrackets": "(Doorzoekbaar)",
"appsString": "Apps", "appsString": "Apps",
"noApps": "Geen Apps", "noApps": "Geen Apps",
"noAppsForFilter": "Geen Apps voor filter", "noAppsForFilter": "Geen Apps voor filter",
"byX": "Door {}", "byX": "Door {}",
"percentProgress": "Vooruitgang: {}%", "percentProgress": "Voortgang: {}%",
"pleaseWait": "Even geduld", "pleaseWait": "Even geduld",
"updateAvailable": "Update beschikbaar", "updateAvailable": "Update beschikbaar",
"notInstalled": "Niet geinstalleerd", "notInstalled": "Niet geinstalleerd",
"pseudoVersion": "pseudo-versie", "pseudoVersion": "pseudo-versie",
"selectAll": "Selecteer alles", "selectAll": "Alles selecteren",
"deselectX": "Deselecteer {}", "deselectX": "Selectie opheffen {}",
"xWillBeRemovedButRemainInstalled": "{} zal worden verwijderd uit Obtainium, maar blijft geïnstalleerd op het apparaat.", "xWillBeRemovedButRemainInstalled": "{} zal worden gewist uit Obtainium, maar blijft geïnstalleerd op het apparaat.",
"removeSelectedAppsQuestion": "Geselecteerde apps verwijderen??", "removeSelectedAppsQuestion": "Geselecteerde apps verwijderen?",
"removeSelectedApps": "Geselecteerde apps verwijderen", "removeSelectedApps": "Geselecteerde apps verwijderen",
"updateX": "Update {}", "updateX": "{} bijwerken",
"installX": "Installeer {}", "installX": "{} installeren",
"markXTrackOnlyAsUpdated": "Markeer {}\n(Track-Only)\nals up-to-date", "markXTrackOnlyAsUpdated": "{}\n(Alleen volgen)\nmarkeren als bijgewerkt",
"changeX": "Verander {}", "changeX": "{} wijzigen",
"installUpdateApps": "Installeer/Update apps", "installUpdateApps": "Apps installeren/bijwerken",
"installUpdateSelectedApps": "Installeer/Update geselecteerde apps", "installUpdateSelectedApps": "Geselecteerde apps installeren/bijwerken",
"markXSelectedAppsAsUpdated": "{} geselecteerde apps markeren als up-to-date?", "markXSelectedAppsAsUpdated": "{} geselecteerde apps markeren als bijgewerkt?",
"no": "Nee", "no": "Nee",
"yes": "Ja", "yes": "Ja",
"markSelectedAppsUpdated": "Markeer geselecteerde aps als up-to-date", "markSelectedAppsUpdated": "Geselecteerde apps markeren als bijgewerkt",
"pinToTop": "Vastzetten aan de bovenkant", "pinToTop": "Bovenaan plaatsen",
"unpinFromTop": "Losmaken van de bovenkant", "unpinFromTop": "Bovenaan wegnemen",
"resetInstallStatusForSelectedAppsQuestion": "Installatiestatus resetten voor geselecteerde apps?", "resetInstallStatusForSelectedAppsQuestion": "Installatiestatus herstellen voor geselecteerde apps?",
"installStatusOfXWillBeResetExplanation": "De installatiestatus van alle geselecteerde apps zal worden gereset.\n\nDit kan helpen wanneer de versie van de app die in Obtainium wordt weergegeven onjuist is vanwege mislukte updates of andere problemen.", "installStatusOfXWillBeResetExplanation": "De installatiestatus van alle geselecteerde apps zal worden hersteld.\n\nDit kan helpen wanneer de versie van de app die in Obtainium wordt weergegeven onjuist is vanwege mislukte updates of andere problemen.",
"customLinkMessage": "Deze links werken op apparaten waarop Obtainium is geïnstalleerd", "customLinkMessage": "Deze koppelingen werken op apparaten waarop Obtainium is geïnstalleerd",
"shareAppConfigLinks": "App-configuratie delen als HTML-link", "shareAppConfigLinks": "App-configuratie delen als HTML-link",
"shareSelectedAppURLs": "Deel geselecteerde app URL's", "shareSelectedAppURLs": "Geselecteerde app-URL's delen",
"resetInstallStatus": "Reset installatiestatus", "resetInstallStatus": "Installatiestatus herstellen",
"more": "Meer", "more": "Meer",
"removeOutdatedFilter": "Verwijder out-of-date app filter", "removeOutdatedFilter": "Verouderde apps-filter verwijderen",
"showOutdatedOnly": "Toon alleen out-of-date apps", "showOutdatedOnly": "Alleen verouderde apps weergeven",
"filter": "Filter", "filter": "Filteren",
"filterApps": "Filter apps", "filterApps": "Apps filteren",
"appName": "App naam", "appName": "App-naam",
"author": "Auteur", "author": "Auteur",
"upToDateApps": "Up-to-date apps", "upToDateApps": "Bijgewerkte apps",
"nonInstalledApps": "Niet-geïnstalleerde apps", "nonInstalledApps": "Niet-geïnstalleerde apps",
"importExport": "Importeren/Exporteren", "importExport": "Importeren/exporteren",
"settings": "Instellingen", "settings": "Instellingen",
"exportedTo": "Geëxporteerd naar {}", "exportedTo": "Geëxporteerd naar {}",
"obtainiumExport": "Obtainium export", "obtainiumExport": "Obtainium export",
"invalidInput": "Ongeldige invoer", "invalidInput": "Ongeldige invoer",
"importedX": "Geïmporteerd {}", "importedX": "{} geïmporteerd",
"obtainiumImport": "Obtainium import", "obtainiumImport": "Obtainium import",
"importFromURLList": "Importeer van URL-lijsten", "importFromURLList": "Importeren van URL-lijsten",
"searchQuery": "Zoekopdracht", "searchQuery": "Zoekopdracht",
"appURLList": "App URL-lijst", "appURLList": "App URL-lijst",
"line": "Lijn", "line": "Regel",
"searchX": "Zoek {}", "searchX": "{} zoeken",
"noResults": "Geen resultaten gevonden", "noResults": "Geen resultaten gevonden",
"importX": "Importeer {}", "importX": "{} importeren",
"importedAppsIdDisclaimer": "Geïmporteerde apps kunnen mogelijk onjuist worden weergegeven als \"Niet geïnstalleerd\".\nOm dit op te lossen, herinstalleer ze via Obtainium.\nDit zou geen invloed moeten hebben op app-gegevens.\n\nDit heeft alleen invloed op URL- en importmethoden van derden.", "importedAppsIdDisclaimer": "Geïmporteerde apps kunnen mogelijk onjuist worden weergegeven als \"Niet geïnstalleerd\".\nOm dit op te lossen, installeer deze opnieuw via Obtainium.\nDit zou geen invloed moeten hebben op app-gegevens.\n\nDit heeft alleen invloed op URL- en importmethoden van derden.",
"importErrors": "Import foutmeldingen", "importErrors": "Fouten bij het importeren",
"importedXOfYApps": "{} van {} apps geïmporteerd.", "importedXOfYApps": "{} van {} apps geïmporteerd.",
"followingURLsHadErrors": "De volgende URL's bevatten fouten:", "followingURLsHadErrors": "De volgende URL's bevatten fouten:",
"selectURL": "Selecteer URL", "selectURL": "URL selecteren",
"selectURLs": "Selecteer URL's", "selectURLs": "URL's selecteren",
"pick": "Kies", "pick": "Kiezen",
"theme": "Thema", "theme": "Thema",
"dark": "Donker", "dark": "Donker",
"light": "Licht", "light": "Licht",
"followSystem": "Volg systeem", "followSystem": "Systeem volgen",
"useBlackTheme": "Gebruik zwart thema", "followSystemThemeExplanation": "Het volgen van het systeemthema is alleen mogelijk met applicaties van derden",
"appSortBy": "App sorteren op", "useBlackTheme": "Zwart thema gebruiken",
"appSortBy": "Sortering",
"authorName": "Auteur/Naam", "authorName": "Auteur/Naam",
"nameAuthor": "Naam/Auteur", "nameAuthor": "Naam/Auteur",
"asAdded": "Zoals toegevoegd", "asAdded": "Datum toegevoegd",
"appSortOrder": "App sorteervolgorde", "appSortOrder": "Volgorde",
"ascending": "Oplopend", "ascending": "Oplopend",
"descending": "Aflopend", "descending": "Aflopend",
"bgUpdateCheckInterval": "Frequentie voor achtergrondupdatecontrole", "bgUpdateCheckInterval": "Frequentie voor achtergrond-updatecontrole",
"neverManualOnly": "Nooit - Alleen handmatig", "neverManualOnly": "Nooit - Alleen handmatig",
"appearance": "Weergave", "appearance": "Weergave",
"showWebInAppView": "Toon de bronwebpagina in app-weergave", "showWebInAppView": "Bron-webpagina weergeven in app-weergave",
"pinUpdates": "Updates bovenaan in de apps-weergave vastpinnen", "pinUpdates": "Updates bovenaan plaatsen in de apps-weergave",
"updates": "Updates", "updates": "Updates",
"sourceSpecific": "Bron-specifiek", "sourceSpecific": "Bron-specifiek",
"appSource": "App bron", "appSource": "App-bron",
"noLogs": "Geen logs", "noLogs": "Geen logs",
"appLogs": "App logs", "appLogs": "App logs",
"close": "Sluiten", "close": "Sluiten",
@@ -136,13 +137,13 @@
"appNotFound": "App niet gevonden", "appNotFound": "App niet gevonden",
"obtainiumExportHyphenatedLowercase": "obtainium-export", "obtainiumExportHyphenatedLowercase": "obtainium-export",
"pickAnAPK": "Kies een APK", "pickAnAPK": "Kies een APK",
"appHasMoreThanOnePackage": "{} heeft meer dan één package:", "appHasMoreThanOnePackage": "{} biedt verschillende pakketten:",
"deviceSupportsXArch": "Jouw apparaat support de {} CPU-architectuur.", "deviceSupportsXArch": "Dit apparaat ondersteunt de {} CPU-architectuur.",
"deviceSupportsFollowingArchs": "Je apparaat ondersteunt de volgende CPU-architecturen:", "deviceSupportsFollowingArchs": "Dit apparaat ondersteunt de volgende CPU-architecturen:",
"warning": "Waarschuwing", "warning": "Waarschuwing",
"sourceIsXButPackageFromYPrompt": "De appbron is '{}' maar de release package komt van '{}'. Doorgaan?", "sourceIsXButPackageFromYPrompt": "De app-bron is '{}' maar het release-pakket komt van '{}'. Doorgaan?",
"updatesAvailable": "Updates beschikbaar", "updatesAvailable": "Updates beschikbaar",
"updatesAvailableNotifDescription": "Stelt de gebruiker op de hoogte dat er updates beschikbaar zijn voor één of meer apps die worden bijgehouden door Obtainium.", "updatesAvailableNotifDescription": "Stelt de gebruiker op de hoogte dat er updates beschikbaar zijn voor een of meer apps die worden bijgehouden door Obtainium.",
"noNewUpdates": "Geen nieuwe updates.", "noNewUpdates": "Geen nieuwe updates.",
"xHasAnUpdate": "{} heeft een update.", "xHasAnUpdate": "{} heeft een update.",
"appsUpdated": "Apps bijgewerkt", "appsUpdated": "Apps bijgewerkt",
@@ -151,17 +152,17 @@
"xWasUpdatedToY": "{} is bijgewerkt naar {}.", "xWasUpdatedToY": "{} is bijgewerkt naar {}.",
"xWasNotUpdatedToY": "Het bijwerken van {} naar {} is mislukt.", "xWasNotUpdatedToY": "Het bijwerken van {} naar {} is mislukt.",
"errorCheckingUpdates": "Fout bij het controleren op updates", "errorCheckingUpdates": "Fout bij het controleren op updates",
"errorCheckingUpdatesNotifDescription": "Een melding die verschijnt wanneer het controleren op updates in de achtergrond mislukt", "errorCheckingUpdatesNotifDescription": "Een melding die verschijnt wanneer de achtergrondcontrole op updates mislukt",
"appsRemoved": "Apps verwijderd", "appsRemoved": "Apps verwijderd",
"appsRemovedNotifDescription": "Stelt de gebruiker op de hoogte dat één of meer apps zijn verwijderd vanwege fouten tijdens het laden ervan", "appsRemovedNotifDescription": "Stelt de gebruiker op de hoogte dat een of meer apps zijn verwijderd vanwege fouten tijdens het laden",
"xWasRemovedDueToErrorY": "{} is verwijderd vanwege deze foutmelding: {}", "xWasRemovedDueToErrorY": "{} is verwijderd vanwege de fout: {}",
"completeAppInstallation": "Complete app installatie", "completeAppInstallation": "App-installatie voltooien",
"obtainiumMustBeOpenToInstallApps": "Obtainium moet geopend zijn om apps te installeren", "obtainiumMustBeOpenToInstallApps": "Obtainium moet geopend zijn om apps te installeren",
"completeAppInstallationNotifDescription": "Vraagt de gebruiker om terug te keren naar Obtainium om de installatie van een app af te ronden", "completeAppInstallationNotifDescription": "Vraagt de gebruiker om terug te keren naar Obtainium om de installatie van een app af te ronden",
"checkingForUpdates": "Controleren op updates", "checkingForUpdates": "Controleren op updates",
"checkingForUpdatesNotifDescription": "Tijdelijke melding die verschijnt tijdens het controleren op updates", "checkingForUpdatesNotifDescription": "Tijdelijke melding die verschijnt tijdens het controleren op updates",
"pleaseAllowInstallPerm": "Sta Obtainium toe om apps te installeren", "pleaseAllowInstallPerm": "Toestaan dat Obtainium apps installeert",
"trackOnly": "Alleen track", "trackOnly": "'Alleen volgen'",
"errorWithHttpStatusCode": "Foutmelding {}", "errorWithHttpStatusCode": "Foutmelding {}",
"versionCorrectionDisabled": "Versiecorrectie uitgeschakeld (de plug-in lijkt niet te werken)", "versionCorrectionDisabled": "Versiecorrectie uitgeschakeld (de plug-in lijkt niet te werken)",
"unknown": "Onbekend", "unknown": "Onbekend",
@@ -171,25 +172,25 @@
"installedVersionX": "Geïnstalleerde versie: {}", "installedVersionX": "Geïnstalleerde versie: {}",
"lastUpdateCheckX": "Laatste updatecontrole: {}", "lastUpdateCheckX": "Laatste updatecontrole: {}",
"remove": "Verwijderen", "remove": "Verwijderen",
"yesMarkUpdated": "Ja, markeer als bijgewerkt", "yesMarkUpdated": "Ja, markeren als bijgewerkt",
"fdroid": "F-Droid-ambtenaar", "fdroid": "F-Droid (Officieel)",
"appIdOrName": "App ID of naam", "appIdOrName": "App-ID of naam",
"appId": "App-ID", "appId": "App-ID",
"appWithIdOrNameNotFound": "Er werd geen app gevonden met dat ID of die naam", "appWithIdOrNameNotFound": "Er is geen app gevonden met dat ID of die naam",
"reposHaveMultipleApps": "Repositories kunnen meerdere apps bevatten", "reposHaveMultipleApps": "Repositories kunnen meerdere apps bevatten",
"fdroidThirdPartyRepo": "F-Droid Repository van derden", "fdroidThirdPartyRepo": "F-Droid Repository voor derden",
"steamMobile": "Stoommobiel", "steamMobile": "Steam Mobile",
"steamChat": "Steamchat", "steamChat": "Steam Chat",
"install": "Installeren", "install": "Installeren",
"markInstalled": "Als geïnstalleerd markere", "markInstalled": "Als geïnstalleerd markeren",
"update": "Update", "update": "Bijwerken",
"markUpdated": "Markeren als bijgewerkt", "markUpdated": "Als bijgewerkt markeren",
"additionalOptions": "Aanvullende opties", "additionalOptions": "Aanvullende opties",
"disableVersionDetection": "Versieherkenning uitschakelen", "disableVersionDetection": "Versieherkenning uitschakelen",
"noVersionDetectionExplanation": "Deze optie moet alleen worden gebruikt voor apps waar versieherkenning niet correct werkt.", "noVersionDetectionExplanation": "Deze optie moet alleen worden gebruikt voor apps waar versieherkenning niet correct werkt.",
"downloadingX": "Downloaden {}", "downloadingX": "{} downloaden",
"downloadX": "Downloaden", "downloadX": "Downloaden",
"downloadedX": "Gedownload {}", "downloadedX": "{} gedownload",
"releaseAsset": "Release Activa", "releaseAsset": "Release Activa",
"downloadNotifDescription": "Stelt de gebruiker op de hoogte van de voortgang bij het downloaden van een app", "downloadNotifDescription": "Stelt de gebruiker op de hoogte van de voortgang bij het downloaden van een app",
"noAPKFound": "Geen APK gevonden", "noAPKFound": "Geen APK gevonden",
@@ -202,100 +203,100 @@
"deleteCategoriesQuestion": "Categorieën verwijderen?", "deleteCategoriesQuestion": "Categorieën verwijderen?",
"categoryDeleteWarning": "Alle apps in verwijderde categorieën worden teruggezet naar 'ongecategoriseerd'.", "categoryDeleteWarning": "Alle apps in verwijderde categorieën worden teruggezet naar 'ongecategoriseerd'.",
"addCategory": "Categorie toevoegen", "addCategory": "Categorie toevoegen",
"label": "Etiket", "label": "Label",
"language": "Taal", "language": "Taal",
"copiedToClipboard": "Gekopieerd naar klembord", "copiedToClipboard": "Gekopieerd naar klembord",
"storagePermissionDenied": "Toegang tot opslag geweigerd", "storagePermissionDenied": "Toegang tot opslag geweigerd",
"selectedCategorizeWarning": "Dit zal eventuele bestaande categorie-instellingen voor de geselecteerde apps vervangen.", "selectedCategorizeWarning": "Dit zal eventuele bestaande categorie-instellingen voor de geselecteerde apps vervangen.",
"filterAPKsByRegEx": "Filter APK's op reguliere expressie", "filterAPKsByRegEx": "APK's flteren met reguliere expressie",
"removeFromObtainium": "Verwijder van Obtainium", "removeFromObtainium": "Uit Obtainium verwijderen",
"uninstallFromDevice": "Verwijder van apparaat", "uninstallFromDevice": "Van apparaat verwijderen",
"onlyWorksWithNonVersionDetectApps": "Werkt alleen voor apps waarbij versieherkenning is uitgeschakeld.", "onlyWorksWithNonVersionDetectApps": "Werkt alleen voor apps waarbij versieherkenning is uitgeschakeld.",
"releaseDateAsVersion": "Gebruik de releasedatum als versie", "releaseDateAsVersion": "Releasedatum als versie gebruiken",
"releaseDateAsVersionExplanation": "Deze optie moet alleen worden gebruikt voor apps waar versieherkenning niet correct werkt, maar waar wel een releasedatum beschikbaar is.", "releaseDateAsVersionExplanation": "Deze optie moet alleen worden gebruikt voor apps waar versieherkenning niet correct werkt, maar waar wel een releasedatum beschikbaar is.",
"changes": "Veranderingen", "changes": "Aanpassingen",
"releaseDate": "Releasedatum", "releaseDate": "Releasedatum",
"importFromURLsInFile": "Importeren vanaf URL's in een bestand (zoals OPML)", "importFromURLsInFile": "Importeren vanaf URL's in een bestand (zoals OPML)",
"versionDetectionExplanation": "Versiereeks afstemmen met versie gedetecteerd door besturingssysteem", "versionDetectionExplanation": "Versiereeks afstemmen met versie gedetecteerd door besturingssysteem",
"versionDetection": "Versieherkenning", "versionDetection": "Versieherkenning",
"standardVersionDetection": "Standaard versieherkenning", "standardVersionDetection": "Standaard versieherkenning",
"groupByCategory": "Groepeer op categorie", "groupByCategory": "Groeperen op categorie",
"autoApkFilterByArch": "Poging om APK's te filteren op CPU-architectuur indien mogelijk", "autoApkFilterByArch": "Probeer APK's te filteren op CPU-architectuur, indien mogelijk",
"overrideSource": "Bron overschrijven", "overrideSource": "Bron overschrijven",
"dontShowAgain": "Laat dit niet meer zien", "dontShowAgain": "Laat dit niet meer zien",
"dontShowTrackOnlyWarnings": "Geen waarschuwingen voor 'Track-Only' weergeven", "dontShowTrackOnlyWarnings": "Geen waarschuwingen weergeven voor 'Alleen volgen'",
"dontShowAPKOriginWarnings": "APK-herkomstwaarschuwingen niet weergeven", "dontShowAPKOriginWarnings": "Geen waarschuwingen weergeven voor APK-herkomst",
"moveNonInstalledAppsToBottom": "Verplaats niet-geïnstalleerde apps naar de onderkant van de apps-weergave", "moveNonInstalledAppsToBottom": "Niet-geïnstalleerde apps onderaan de apps-lijst plaatsen",
"gitlabPATLabel": "GitLab persoonlijk toegangskenmerk", "gitlabPATLabel": "GitLab persoonlijk toegangskenmerk",
"about": "Over", "about": "Over",
"requiresCredentialsInSettings": "{}: Dit vereist aanvullende referenties (in Instellingen)", "requiresCredentialsInSettings": "{} vereist aanvullende referenties (in Instellingen)",
"checkOnStart": "Controleren op updates bij opstarten", "checkOnStart": "Bij opstarten op updates controleren",
"tryInferAppIdFromCode": "Probeer de app-ID af te leiden uit de broncode", "tryInferAppIdFromCode": "Probeer de app-ID af te leiden uit de broncode",
"removeOnExternalUninstall": "Automatisch extern verwijderde apps verwijderen", "removeOnExternalUninstall": "Extern verwijderde apps automatisch verwijderen",
"pickHighestVersionCode": "Automatisch de APK met de hoogste versiecode selecteren", "pickHighestVersionCode": "De APK met de hoogste versiecode automatisch selecteren",
"checkUpdateOnDetailPage": "Controleren op updates bij het openen van een app-detailpagina", "checkUpdateOnDetailPage": "Controleren op updates bij het openen van een app-detailpagina",
"disablePageTransitions": "Schakel overgangsanimaties tussen pagina's uit", "disablePageTransitions": "Overgangsanimaties tussen pagina's uitschakelen",
"reversePageTransitions": "Omgekeerde overgangsanimaties tussen pagina's", "reversePageTransitions": "Overgangsanimaties tussen pagina's herstellen",
"minStarCount": "Minimale Github Stars", "minStarCount": "Minimum Github Stars",
"addInfoBelow": "Voeg deze informatie hieronder toe.", "addInfoBelow": "Deze informatie hieronder toevoegen.",
"addInfoInSettings": "Voeg deze informatie toe in de instellingen.", "addInfoInSettings": "Deze informatie toevoegen in de instellingen.",
"githubSourceNote": "Beperkingen van GitHub kunnen worden vermeden door het gebruik van een API-sleutel.", "githubSourceNote": "Beperkingen van GitHub kunnen worden vermeden door het gebruik van een API-sleutel.",
"sortByLastLinkSegment": "Sorteren op alleen het laatste segment van de link", "sortByLastLinkSegment": "Alleen sorteren op het laatste segment van de link",
"filterReleaseNotesByRegEx": "Filter release-opmerkingen met een reguliere expressie.", "filterReleaseNotesByRegEx": "Release-opmerkingen fiteren met een reguliere expressie.",
"customLinkFilterRegex": "Aangepaste APK-linkfilter met een reguliere expressie (Standaard '.apk$').", "customLinkFilterRegex": "Aangepaste APK-links filteren met een reguliere expressie (Standaard '.apk$').",
"appsPossiblyUpdated": "Poging tot app-updates", "appsPossiblyUpdated": "Pogingen tot app-updates",
"appsPossiblyUpdatedNotifDescription": "Stelt de gebruiker op de hoogte dat updates voor één of meer apps mogelijk in de achtergrond zijn toegepast", "appsPossiblyUpdatedNotifDescription": "Stelt de gebruiker op de hoogte dat updates voor één of meer apps mogelijk in de achtergrond zijn toegepast",
"xWasPossiblyUpdatedToY": "{} mogelijk bijgewerkt naar {}.", "xWasPossiblyUpdatedToY": "{} kan bijgewerkt zijn naar {}.",
"enableBackgroundUpdates": "Achtergrondupdates inschakelen", "enableBackgroundUpdates": "Achtergrond-updates inschakelen",
"backgroundUpdateReqsExplanation": "Achtergrondupdates zijn mogelijk niet voor alle apps mogelijk.", "backgroundUpdateReqsExplanation": "Achtergrond-updates zijn niet voor alle apps mogelijk.",
"backgroundUpdateLimitsExplanation": "Het succes van een installatie in de achtergrond kan alleen worden bepaald wanneer Obtainium is geopend.", "backgroundUpdateLimitsExplanation": "Het succes van een installatie in de achtergrond kan alleen worden bepaald wanneer Obtainium is geopend.",
"verifyLatestTag": "Verifieer de 'Laatste'-tag", "verifyLatestTag": "Het label 'Laatste' verifiëren",
"intermediateLinkRegex": "Filter voor een 'Intermediaire' link om te bezoeken", "intermediateLinkRegex": "Filteren op een 'Intermediaire' link om te bezoeken",
"filterByLinkText": "Links filteren op linktekst", "filterByLinkText": "Links filteren op linktekst",
"intermediateLinkNotFound": "Tussenliggende link niet gevonden", "intermediateLinkNotFound": "Intermediaire link niet gevonden",
"intermediateLink": "Intermediaire link", "intermediateLink": "Intermediaire link",
"exemptFromBackgroundUpdates": "Vrijgesteld van achtergrondupdates (indien ingeschakeld)", "exemptFromBackgroundUpdates": "Vrijgesteld van achtergrond-updates (indien ingeschakeld)",
"bgUpdatesOnWiFiOnly": "Achtergrondupdates uitschakelen wanneer niet verbonden met WiFi", "bgUpdatesOnWiFiOnly": "Achtergrond-updates uitschakelen wanneer niet verbonden met WiFi",
"autoSelectHighestVersionCode": "Automatisch de APK met de hoogste versiecode selecteren", "autoSelectHighestVersionCode": "De APK met de hoogste versiecode automatisch selecteren",
"versionExtractionRegEx": "Reguliere expressie voor versie-extractie", "versionExtractionRegEx": "Reguliere expressie voor versie-extractie",
"matchGroupToUse": "Overeenkomende groep om te gebruiken voor de reguliere expressie voor versie-extractie", "matchGroupToUse": "Overeenkomende groep om te gebruiken voor de reguliere expressie voor versie-extractie",
"highlightTouchTargets": "Markeer minder voor de hand liggende aanraakdoelen.", "highlightTouchTargets": "Minder voor de hand liggende aanraakdoelen markeren.",
"pickExportDir": "Kies de exportmap", "pickExportDir": "Kies de exportmap",
"autoExportOnChanges": "Automatisch exporteren bij wijzigingen", "autoExportOnChanges": "Bij wijzigingen automatisch exporteren",
"includeSettings": "Instellingen opnemen", "includeSettings": "Instellingen opnemen",
"filterVersionsByRegEx": "Filter versies met een reguliere expressie", "filterVersionsByRegEx": "Versies met een reguliere expressie filteren",
"trySelectingSuggestedVersionCode": "Probeer de voorgestelde versiecode APK te selecteren", "trySelectingSuggestedVersionCode": "Probeer de voorgestelde versiecode APK te selecteren",
"dontSortReleasesList": "Volgorde van releases behouden vanuit de API", "dontSortReleasesList": "Volgorde van releases behouden vanuit de API",
"reverseSort": "Sortering omkeren", "reverseSort": "Omgekeerde sortering",
"takeFirstLink": "Neem de eerste link", "takeFirstLink": "Neem de eerste link",
"skipSort": "Sorteren overslaan", "skipSort": "Sortering overslaan",
"debugMenu": "Debug menu", "debugMenu": "Debug-menu",
"bgTaskStarted": "Achtergrondtaak gestart - controleer de logs.", "bgTaskStarted": "Achtergrondtaak gestart - controleer de logs.",
"runBgCheckNow": "Voer nu een achtergrondupdatecontrole uit", "runBgCheckNow": "Nu een achtergrond-updatecontrole uitvoeren",
"versionExtractWholePage": "De reguliere expressie voor versie-extractie toepassen op de hele pagina", "versionExtractWholePage": "De reguliere expressie voor versie-extractie toepassen op de hele pagina",
"installing": "Installeren", "installing": "Installeren",
"skipUpdateNotifications": "Updatemeldingen overslaan", "skipUpdateNotifications": "Updatemeldingen overslaan",
"updatesAvailableNotifChannel": "Updates beschikbaar", "updatesAvailableNotifChannel": "Updates beschikbaar",
"appsUpdatedNotifChannel": "Apps bijgewerkt", "appsUpdatedNotifChannel": "Apps bijgewerkt",
"appsPossiblyUpdatedNotifChannel": "Poging tot app-updates", "appsPossiblyUpdatedNotifChannel": "Pogingen tot app-updates",
"errorCheckingUpdatesNotifChannel": "Foutcontrole bij het zoeken naar updates", "errorCheckingUpdatesNotifChannel": "Foutcontrole bij het zoeken naar updates",
"appsRemovedNotifChannel": "Apps verwijderd", "appsRemovedNotifChannel": "Apps verwijderd",
"downloadingXNotifChannel": "{} downloaden", "downloadingXNotifChannel": "{} downloaden",
"completeAppInstallationNotifChannel": "Voltooien van de app-installatie", "completeAppInstallationNotifChannel": "App-installatie voltooien",
"checkingForUpdatesNotifChannel": "Controleren op updates", "checkingForUpdatesNotifChannel": "Controleren op updates",
"onlyCheckInstalledOrTrackOnlyApps": "Alleen geïnstalleerde en Track-Only apps controleren op updates", "onlyCheckInstalledOrTrackOnlyApps": "Alleen geïnstalleerde apps en 'Alleen volgen' controleren op updates",
"supportFixedAPKURL": "Ondersteuning vaste APK URL's", "supportFixedAPKURL": "Vaste APK-URL's ondersteunen",
"selectX": "Selecteer {}", "selectX": "{} selecteren",
"parallelDownloads": "Parallelle downloads toestaan", "parallelDownloads": "Parallelle downloads toestaan",
"useShizuku": "Gebruik Shizuku of Sui om te installeren", "useShizuku": "Shizuku of Sui gebruiken om te installeren",
"shizukuBinderNotFound": "Shizuku draait niet", "shizukuBinderNotFound": "Shizuku is niet actief",
"shizukuOld": "Oude Shizuku-versie (<11) - bijwerken", "shizukuOld": "Verouderde Shizuku-versie (<11) - bijwerken",
"shizukuOldAndroidWithADB": "Shizuku draait op Android < 8.1 met ADB - update Android of gebruik Sui in plaats daarvan", "shizukuOldAndroidWithADB": "Shizuku draait op Android < 8.1 met ADB - update Android of gebruik in plaats daarvan Sui",
"shizukuPretendToBeGooglePlay": "Google Play instellen als installatiebron (als Shizuku wordt gebruikt)", "shizukuPretendToBeGooglePlay": "Google Play instellen als installatiebron (bij Shizuku)",
"useSystemFont": "Gebruik het systeemlettertype", "useSystemFont": "Systeemlettertype gebruiken",
"useVersionCodeAsOSVersion": "Gebruik app versieCode als door OS gedetecteerde versie", "useVersionCodeAsOSVersion": "App versiecode gebruiken als door OS gedetecteerde versie",
"requestHeader": "Verzoekkoptekst", "requestHeader": "Verzoekkoptekst",
"useLatestAssetDateAsReleaseDate": "Gebruik laatste upload als releasedatum", "useLatestAssetDateAsReleaseDate": "Laatste upload als releasedatum gebruiken",
"defaultPseudoVersioningMethod": "Standaard pseudo-versiebeheermethode", "defaultPseudoVersioningMethod": "Standaard pseudo-versiebeheermethode",
"partialAPKHash": "Gedeeltelijke APK-hash", "partialAPKHash": "Gedeeltelijke APK-hash",
"APKLinkHash": "APK-link-hash", "APKLinkHash": "APK-link-hash",
@@ -308,22 +309,24 @@
"selfHostedNote": "De \"{}\" dropdown kan gebruikt worden om zelf gehoste/aangepaste instanties van elke bron te bereiken.", "selfHostedNote": "De \"{}\" dropdown kan gebruikt worden om zelf gehoste/aangepaste instanties van elke bron te bereiken.",
"badDownload": "De APK kon niet worden verwerkt (incompatibele of gedeeltelijke download)", "badDownload": "De APK kon niet worden verwerkt (incompatibele of gedeeltelijke download)",
"beforeNewInstallsShareToAppVerifier": "Nieuwe Apps delen met AppVerifier (indien beschikbaar)", "beforeNewInstallsShareToAppVerifier": "Nieuwe Apps delen met AppVerifier (indien beschikbaar)",
"appVerifierInstructionToast": "Deel naar AppVerifier en keer hier terug als je klaar bent.", "appVerifierInstructionToast": "Deel het met AppVerifier en keer daarna hier terug.",
"wiki": "Help/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App-configuraties (gebruik op eigen risico)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "App verwijderen?", "one": "App verwijderen?",
"other": "Apps verwijderen?" "other": "Apps verwijderen?"
}, },
"tooManyRequestsTryAgainInMinutes": { "tooManyRequestsTryAgainInMinutes": {
"one": "Te veel verzoeken (aantal beperkt) - probeer het opnieuw in {} minuut", "one": "Te veel verzoeken (aantal beperkt) - opnieuw proberen over {} minuut",
"other": "Te veel verzoeken (aantal beperkt) - probeer het opnieuw in {} minuten" "other": "Te veel verzoeken (aantal beperkt) - opnieuw proberen over {} minuten"
}, },
"bgUpdateGotErrorRetryInMinutes": { "bgUpdateGotErrorRetryInMinutes": {
"one": "Achtergrondupdatecontrole heeft een {}, zal een hercontrole plannen over {} minuut", "one": "Achtergrond-updatecontrole heeft een {}, zal een nieuwe controle plannen over {} minuut",
"other": "Achtergrondupdatecontrole heeft een {}, zal een hercontrole plannen over {} minuten" "other": "Achtergrond-updatecontrole heeft een {}, zal een nieuwe controle plannen over {} minuten"
}, },
"bgCheckFoundUpdatesWillNotifyIfNeeded": { "bgCheckFoundUpdatesWillNotifyIfNeeded": {
"one": "Achtergrondupdatecontrole heeft {} update gevonden - zal de gebruiker op de hoogte stellen indien nodig", "one": "Achtergrond-updatecontrole heeft {} update gevonden - zal de gebruiker op de hoogte stellen indien nodig",
"other": "Achtergrondupdatecontrole heeft {} updates gevonden - zal de gebruiker op de hoogte stellen indien nodig" "other": "Achtergrond-updatecontrole heeft {} updates gevonden - zal de gebruiker op de hoogte stellen indien nodig"
}, },
"apps": { "apps": {
"one": "{} app", "one": "{} app",
@@ -351,19 +354,19 @@
}, },
"xAndNMoreUpdatesAvailable": { "xAndNMoreUpdatesAvailable": {
"one": "{} en nog 1 app hebben updates.", "one": "{} en nog 1 app hebben updates.",
"other": "{} en {} meer apps hebben updates." "other": "{} en nog {} apps hebben updates."
}, },
"xAndNMoreUpdatesInstalled": { "xAndNMoreUpdatesInstalled": {
"one": "{} en nog 1 app is bijgewerkt.", "one": "{} en nog 1 app is bijgewerkt.",
"other": "{} en {} meer apps zijn bijgewerkt." "other": "{} en nog {} apps zijn bijgewerkt."
}, },
"xAndNMoreUpdatesFailed": { "xAndNMoreUpdatesFailed": {
"one": "Bijwerken mislukt {} en nog 1 app.", "one": "Bijwerken mislukt voor {} en nog 1 app.",
"other": "Mislukt om {} en {} meer apps bij te werken." "other": "Bijwerken mislukt voor {} en nog {} apps."
}, },
"xAndNMoreUpdatesPossiblyInstalled": { "xAndNMoreUpdatesPossiblyInstalled": {
"one": "{} en nog 1 app zijn mogelijk bijgewerkt.", "one": "{} en nog 1 app zijn mogelijk bijgewerkt.",
"other": "{} en {} meer apps zijn mogelijk bijgwerkt." "other": "{} en nog {} apps zijn mogelijk bijgwerkt."
}, },
"apk": { "apk": {
"one": "{} APK", "one": "{} APK",

View File

@@ -113,6 +113,7 @@
"dark": "Ciemny", "dark": "Ciemny",
"light": "Jasny", "light": "Jasny",
"followSystem": "Zgodny z systemem", "followSystem": "Zgodny z systemem",
"followSystemThemeExplanation": "Podążanie za motywem systemowym jest możliwe tylko przy użyciu aplikacji firm trzecich",
"useBlackTheme": "Użyj czarnego motywu", "useBlackTheme": "Użyj czarnego motywu",
"appSortBy": "Sortuj aplikacje według", "appSortBy": "Sortuj aplikacje według",
"authorName": "Autor/Nazwa", "authorName": "Autor/Nazwa",
@@ -309,6 +310,8 @@
"badDownload": "Nie można przeanalizować pliku APK (niekompatybilny lub częściowo pobrany).", "badDownload": "Nie można przeanalizować pliku APK (niekompatybilny lub częściowo pobrany).",
"beforeNewInstallsShareToAppVerifier": "Udostępnianie nowych aplikacji za pomocą AppVerifier (jeśli dostępne)", "beforeNewInstallsShareToAppVerifier": "Udostępnianie nowych aplikacji za pomocą AppVerifier (jeśli dostępne)",
"appVerifierInstructionToast": "Udostępnij w AppVerifier, a następnie wróć tutaj, gdy będziesz gotowy.", "appVerifierInstructionToast": "Udostępnij w AppVerifier, a następnie wróć tutaj, gdy będziesz gotowy.",
"wiki": "Pomoc/Wiki",
"crowdsourcedConfigsLabel": "Konfiguracje aplikacji pochodzące z crowdsourcingu (korzystanie na własne ryzyko)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Usunąć aplikację?", "one": "Usunąć aplikację?",
"few": "Usunąć aplikacje?", "few": "Usunąć aplikacje?",

View File

@@ -113,6 +113,7 @@
"dark": "Escuro", "dark": "Escuro",
"light": "Claro", "light": "Claro",
"followSystem": "Padrão do sistema", "followSystem": "Padrão do sistema",
"followSystemThemeExplanation": "O tema do sistema seguinte só é possível através da utilização de aplicações de terceiros",
"useBlackTheme": "Usar tema preto AMOLED", "useBlackTheme": "Usar tema preto AMOLED",
"appSortBy": "Classificar aplicativo por", "appSortBy": "Classificar aplicativo por",
"authorName": "Autor/Nome", "authorName": "Autor/Nome",
@@ -309,6 +310,8 @@
"badDownload": "Não foi possível analisar o APK (transferência incompatível ou parcial)", "badDownload": "Não foi possível analisar o APK (transferência incompatível ou parcial)",
"beforeNewInstallsShareToAppVerifier": "Partilhar novas aplicações com o AppVerifier (se disponível)", "beforeNewInstallsShareToAppVerifier": "Partilhar novas aplicações com o AppVerifier (se disponível)",
"appVerifierInstructionToast": "Partilhe com o AppVerifier e, em seguida, regresse aqui quando estiver pronto.", "appVerifierInstructionToast": "Partilhe com o AppVerifier e, em seguida, regresse aqui quando estiver pronto.",
"wiki": "Ajuda/Wiki",
"crowdsourcedConfigsLabel": "Configurações de aplicações de crowdsourcing (utilização por sua conta e risco)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Remover aplicativo?", "one": "Remover aplicativo?",
"other": "Remover aplicativos?" "other": "Remover aplicativos?"

View File

@@ -310,6 +310,8 @@
"badDownload": "APK не удалось разобрать (несовместимая или неполная загрузка)", "badDownload": "APK не удалось разобрать (несовместимая или неполная загрузка)",
"beforeNewInstallsShareToAppVerifier": "Поделитесь новыми приложениями с AppVerifier (если доступно)", "beforeNewInstallsShareToAppVerifier": "Поделитесь новыми приложениями с AppVerifier (если доступно)",
"appVerifierInstructionToast": "Поделитесь с AppVerifier, а затем вернитесь сюда, когда будете готовы.", "appVerifierInstructionToast": "Поделитесь с AppVerifier, а затем вернитесь сюда, когда будете готовы.",
"wiki": "Помощь/Вики",
"crowdsourcedConfigsLabel": "Конфигурации приложений на основе краудсорсинга (используйте на свой страх и риск)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Удалить приложение?", "one": "Удалить приложение?",
"other": "Удалить приложения?" "other": "Удалить приложения?"

View File

@@ -113,6 +113,7 @@
"dark": "Mörkt", "dark": "Mörkt",
"light": "Ljust", "light": "Ljust",
"followSystem": "Följ System", "followSystem": "Följ System",
"followSystemThemeExplanation": "Följande systemtema är endast möjligt med hjälp av tredjepartsapplikationer",
"useBlackTheme": "Använd svart tema", "useBlackTheme": "Använd svart tema",
"appSortBy": "Sortera Appar via", "appSortBy": "Sortera Appar via",
"authorName": "Utvecklare/Namn", "authorName": "Utvecklare/Namn",
@@ -309,6 +310,8 @@
"badDownload": "APK kunde inte analyseras (inkompatibel eller partiell nedladdning)", "badDownload": "APK kunde inte analyseras (inkompatibel eller partiell nedladdning)",
"beforeNewInstallsShareToAppVerifier": "Dela nya appar med AppVerifier (om tillgängligt)", "beforeNewInstallsShareToAppVerifier": "Dela nya appar med AppVerifier (om tillgängligt)",
"appVerifierInstructionToast": "Dela till AppVerifier och återvänd sedan hit när du är klar.", "appVerifierInstructionToast": "Dela till AppVerifier och återvänd sedan hit när du är klar.",
"wiki": "Hjälp/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourcade appkonfigurationer (använd på egen risk)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Ta Bort App?", "one": "Ta Bort App?",
"other": "Ta Bort Appar?" "other": "Ta Bort Appar?"

View File

@@ -113,6 +113,7 @@
"dark": "Koyu", "dark": "Koyu",
"light": "Aydınlık", "light": "Aydınlık",
"followSystem": "Sistemi Takip Et", "followSystem": "Sistemi Takip Et",
"followSystemThemeExplanation": "Sistem temasını takip etmek yalnızca üçüncü taraf uygulamaları kullanarak mümkündür",
"useBlackTheme": "Saf siyah koyu temasını kullan", "useBlackTheme": "Saf siyah koyu temasını kullan",
"appSortBy": "Uygulama Sıralama Ölçütü", "appSortBy": "Uygulama Sıralama Ölçütü",
"authorName": "Yazar/Ad", "authorName": "Yazar/Ad",
@@ -309,6 +310,8 @@
"badDownload": "APK ayrıştırılamadı (uyumsuz veya kısmi indirme)", "badDownload": "APK ayrıştırılamadı (uyumsuz veya kısmi indirme)",
"beforeNewInstallsShareToAppVerifier": "Yeni Uygulamaları AppVerifier ile paylaşın (varsa)", "beforeNewInstallsShareToAppVerifier": "Yeni Uygulamaları AppVerifier ile paylaşın (varsa)",
"appVerifierInstructionToast": "AppVerifier ile paylaşın, hazır olduğunuzda buraya dönün.", "appVerifierInstructionToast": "AppVerifier ile paylaşın, hazır olduğunuzda buraya dönün.",
"wiki": "Yardım/Wiki",
"crowdsourcedConfigsLabel": "Kitle Kaynaklı Uygulama Yapılandırmaları (riski size ait olmak üzere kullanın)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Uygulamayı Kaldır?", "one": "Uygulamayı Kaldır?",
"other": "Uygulamaları Kaldır?" "other": "Uygulamaları Kaldır?"

View File

@@ -113,6 +113,7 @@
"dark": "Темна", "dark": "Темна",
"light": "Світла", "light": "Світла",
"followSystem": "Дотримуватися системи", "followSystem": "Дотримуватися системи",
"followSystemThemeExplanation": "Зміна теми системи можлива лише за допомогою сторонніх додатків",
"useBlackTheme": "Використовувати чорну тему (Amoled)", "useBlackTheme": "Використовувати чорну тему (Amoled)",
"appSortBy": "Сортувати застосунки за", "appSortBy": "Сортувати застосунки за",
"authorName": "Автор/Назва", "authorName": "Автор/Назва",
@@ -309,6 +310,8 @@
"badDownload": "APK не вдалося розпарсити (несумісний або часткове завантаження)", "badDownload": "APK не вдалося розпарсити (несумісний або часткове завантаження)",
"beforeNewInstallsShareToAppVerifier": "Діліться новими додатками з AppVerifier (якщо доступно)", "beforeNewInstallsShareToAppVerifier": "Діліться новими додатками з AppVerifier (якщо доступно)",
"appVerifierInstructionToast": "Надішліть на AppVerifier, а потім поверніться сюди, коли будете готові.", "appVerifierInstructionToast": "Надішліть на AppVerifier, а потім поверніться сюди, коли будете готові.",
"wiki": "Довідка/Вікі",
"crowdsourcedConfigsLabel": "Краудсорсингові конфігурації додатків (використовуйте на свій страх і ризик)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Видалити застосунок?", "one": "Видалити застосунок?",
"other": "Видалити застосунки?" "other": "Видалити застосунки?"

View File

@@ -113,6 +113,7 @@
"dark": "Tối", "dark": "Tối",
"light": "Sáng", "light": "Sáng",
"followSystem": "Theo hệ thống", "followSystem": "Theo hệ thống",
"followSystemThemeExplanation": "Following system theme is possible only by using third-party applications",
"useBlackTheme": "Nền đen", "useBlackTheme": "Nền đen",
"appSortBy": "Sắp xếp ứng dụng", "appSortBy": "Sắp xếp ứng dụng",
"authorName": "Tác giả", "authorName": "Tác giả",
@@ -309,6 +310,8 @@
"badDownload": "Không thể phân tích cú pháp APK (tải xuống một phần hoặc không tương thích)", "badDownload": "Không thể phân tích cú pháp APK (tải xuống một phần hoặc không tương thích)",
"beforeNewInstallsShareToAppVerifier": "Chia sẻ ứng dụng mới với AppVerifier (nếu có)", "beforeNewInstallsShareToAppVerifier": "Chia sẻ ứng dụng mới với AppVerifier (nếu có)",
"appVerifierInstructionToast": "Chia sẻ lên AppVerifier, sau đó quay lại đây khi sẵn sàng.", "appVerifierInstructionToast": "Chia sẻ lên AppVerifier, sau đó quay lại đây khi sẵn sàng.",
"wiki": "Help/Wiki",
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Gỡ ứng dụng?", "one": "Gỡ ứng dụng?",
"other": "Gỡ ứng dụng?" "other": "Gỡ ứng dụng?"

View File

@@ -13,8 +13,8 @@
"and": "和", "and": "和",
"githubPATLabel": "GitHub 个人访问令牌(提升 API 请求限额)", "githubPATLabel": "GitHub 个人访问令牌(提升 API 请求限额)",
"includePrereleases": "包含预发行版", "includePrereleases": "包含预发行版",
"fallbackToOlderReleases": "将发行版作为备选", "fallbackToOlderReleases": "将过往的发行版作为备选",
"filterReleaseTitlesByRegEx": "筛选发行标题正则表达式", "filterReleaseTitlesByRegEx": "筛选发行标题正则表达式",
"invalidRegEx": "无效的正则表达式", "invalidRegEx": "无效的正则表达式",
"noDescription": "无描述", "noDescription": "无描述",
"cancel": "取消", "cancel": "取消",
@@ -24,7 +24,7 @@
"colour": "配色", "colour": "配色",
"standard": "标准", "standard": "标准",
"custom": "定制", "custom": "定制",
"useMaterialYou": "使用 Material You", "useMaterialYou": "使用 Material You 配色",
"githubStarredRepos": "已星标的 GitHub 仓库", "githubStarredRepos": "已星标的 GitHub 仓库",
"uname": "用户名", "uname": "用户名",
"wrongArgNum": "参数数量错误", "wrongArgNum": "参数数量错误",
@@ -75,8 +75,8 @@
"unpinFromTop": "取消置顶", "unpinFromTop": "取消置顶",
"resetInstallStatusForSelectedAppsQuestion": "是否重置选中应用的安装状态?", "resetInstallStatusForSelectedAppsQuestion": "是否重置选中应用的安装状态?",
"installStatusOfXWillBeResetExplanation": "选中应用的安装状态将会被重置。\n\n当更新安装失败或其他问题导致 Obtainium 中的应用版本显示错误时,可以尝试通过此方法解决。", "installStatusOfXWillBeResetExplanation": "选中应用的安装状态将会被重置。\n\n当更新安装失败或其他问题导致 Obtainium 中的应用版本显示错误时,可以尝试通过此方法解决。",
"customLinkMessage": "这些链接适用于安装了 Gettingium 的设备", "customLinkMessage": "分享链接适用于安装 Obtainium 的设备",
"shareAppConfigLinks": "将应用程序配置共享为 HTML 链接", "shareAppConfigLinks": "通过链接分享应用配置",
"shareSelectedAppURLs": "分享选中应用的 URL", "shareSelectedAppURLs": "分享选中应用的 URL",
"resetInstallStatus": "重置安装状态", "resetInstallStatus": "重置安装状态",
"more": "更多", "more": "更多",
@@ -113,6 +113,7 @@
"dark": "深色", "dark": "深色",
"light": "浅色", "light": "浅色",
"followSystem": "跟随系统", "followSystem": "跟随系统",
"followSystemThemeExplanation": "跟随系统主题仅在使用第三方应用时有效",
"useBlackTheme": "使用纯黑深色主题", "useBlackTheme": "使用纯黑深色主题",
"appSortBy": "排序依据", "appSortBy": "排序依据",
"authorName": "作者 / 应用名称", "authorName": "作者 / 应用名称",
@@ -134,7 +135,7 @@
"close": "关闭", "close": "关闭",
"share": "分享", "share": "分享",
"appNotFound": "未找到应用", "appNotFound": "未找到应用",
"obtainiumExportHyphenatedLowercase": "获取出口", "obtainiumExportHyphenatedLowercase": "obtainium-export",
"pickAnAPK": "选择一个 APK 文件", "pickAnAPK": "选择一个 APK 文件",
"appHasMoreThanOnePackage": "“{}”有多个架构可用:", "appHasMoreThanOnePackage": "“{}”有多个架构可用:",
"deviceSupportsXArch": "您的设备支持 {} 架构。", "deviceSupportsXArch": "您的设备支持 {} 架构。",
@@ -178,8 +179,8 @@
"appWithIdOrNameNotFound": "未找到符合此 ID 或名称的应用", "appWithIdOrNameNotFound": "未找到符合此 ID 或名称的应用",
"reposHaveMultipleApps": "存储库中可能包含多个应用", "reposHaveMultipleApps": "存储库中可能包含多个应用",
"fdroidThirdPartyRepo": "F-Droid 第三方存储库", "fdroidThirdPartyRepo": "F-Droid 第三方存储库",
"steamMobile": "蒸汽手机", "steamMobile": "Steam Mobile",
"steamChat": "蒸汽聊天", "steamChat": "Steam Chat",
"install": "安装", "install": "安装",
"markInstalled": "标记为已安装", "markInstalled": "标记为已安装",
"update": "更新", "update": "更新",
@@ -190,7 +191,7 @@
"downloadingX": "正在下载“{}”", "downloadingX": "正在下载“{}”",
"downloadX": "下载 {}", "downloadX": "下载 {}",
"downloadedX": "下载 {}", "downloadedX": "下载 {}",
"releaseAsset": "发行版", "releaseAsset": "APK 文件",
"downloadNotifDescription": "提示应用的下载进度", "downloadNotifDescription": "提示应用的下载进度",
"noAPKFound": "未找到 APK 文件", "noAPKFound": "未找到 APK 文件",
"noVersionDetection": "禁用版本检测", "noVersionDetection": "禁用版本检测",
@@ -207,7 +208,7 @@
"copiedToClipboard": "已复制至剪贴板", "copiedToClipboard": "已复制至剪贴板",
"storagePermissionDenied": "已拒绝授予存储权限", "storagePermissionDenied": "已拒绝授予存储权限",
"selectedCategorizeWarning": "这将覆盖选中应用当前的类别设置。", "selectedCategorizeWarning": "这将覆盖选中应用当前的类别设置。",
"filterAPKsByRegEx": "筛选 APK 文件正则表达式", "filterAPKsByRegEx": "筛选 APK 文件正则表达式",
"removeFromObtainium": "从 Obtainium 中删除", "removeFromObtainium": "从 Obtainium 中删除",
"uninstallFromDevice": "从设备中卸载", "uninstallFromDevice": "从设备中卸载",
"onlyWorksWithNonVersionDetectApps": "仅适用于禁用版本检测的应用。", "onlyWorksWithNonVersionDetectApps": "仅适用于禁用版本检测的应用。",
@@ -241,7 +242,7 @@
"addInfoInSettings": "在“设置”中添加此凭据。", "addInfoInSettings": "在“设置”中添加此凭据。",
"githubSourceNote": "使用访问令牌可避免触发 GitHub 的 API 请求限制。", "githubSourceNote": "使用访问令牌可避免触发 GitHub 的 API 请求限制。",
"sortByLastLinkSegment": "仅根据链接的末尾部分进行筛选", "sortByLastLinkSegment": "仅根据链接的末尾部分进行筛选",
"filterReleaseNotesByRegEx": "筛选发行说明正则表达式", "filterReleaseNotesByRegEx": "筛选发行说明正则表达式",
"customLinkFilterRegex": "筛选自定义来源的 APK 文件链接\n正则表达式默认匹配模式为“.apk$”)", "customLinkFilterRegex": "筛选自定义来源的 APK 文件链接\n正则表达式默认匹配模式为“.apk$”)",
"appsPossiblyUpdated": "已尝试更新应用", "appsPossiblyUpdated": "已尝试更新应用",
"appsPossiblyUpdatedNotifDescription": "当应用已尝试在后台更新时发送通知", "appsPossiblyUpdatedNotifDescription": "当应用已尝试在后台更新时发送通知",
@@ -250,20 +251,20 @@
"backgroundUpdateReqsExplanation": "后台更新未必适用于所有的应用。", "backgroundUpdateReqsExplanation": "后台更新未必适用于所有的应用。",
"backgroundUpdateLimitsExplanation": "只有在启动 Obtainium 时才能确认安装是否成功。", "backgroundUpdateLimitsExplanation": "只有在启动 Obtainium 时才能确认安装是否成功。",
"verifyLatestTag": "验证“Latest”标签", "verifyLatestTag": "验证“Latest”标签",
"intermediateLinkRegex": "筛选中转链接正则表达式", "intermediateLinkRegex": "筛选中转链接正则表达式",
"filterByLinkText": "根据链接文本进行筛选", "filterByLinkText": "根据链接文本进行筛选",
"intermediateLinkNotFound": "未找到中转链接", "intermediateLinkNotFound": "未找到中转链接",
"intermediateLink": "中转链接", "intermediateLink": "中转链接",
"exemptFromBackgroundUpdates": "禁用后台更新(如果已经全局启用)", "exemptFromBackgroundUpdates": "禁用后台更新(如果已经全局启用)",
"bgUpdatesOnWiFiOnly": "未连接 Wi-Fi 时禁用后台更新", "bgUpdatesOnWiFiOnly": "未连接 Wi-Fi 时禁用后台更新",
"autoSelectHighestVersionCode": "自动选择内部版本号最高的 APK 文件", "autoSelectHighestVersionCode": "自动选择内部版本号最高的 APK 文件",
"versionExtractionRegEx": "版本号匹配组规则(正则表达式", "versionExtractionRegEx": "提取版本号正则表达式",
"matchGroupToUse": "引用匹配组规则,将用于版本字符串提取", "matchGroupToUse": "从上述匹配结果中引用的捕获组",
"highlightTouchTargets": "突出展示不明显的触摸区域", "highlightTouchTargets": "突出展示不明显的触摸区域",
"pickExportDir": "选择导出文件夹", "pickExportDir": "选择导出文件夹",
"autoExportOnChanges": "数据变更时自动导出", "autoExportOnChanges": "数据变更时自动导出",
"includeSettings": "同时导出应用设置", "includeSettings": "同时导出应用设置",
"filterVersionsByRegEx": "筛选版本号正则表达式", "filterVersionsByRegEx": "筛选版本号正则表达式",
"trySelectingSuggestedVersionCode": "尝试选择推荐版本的 APK 文件", "trySelectingSuggestedVersionCode": "尝试选择推荐版本的 APK 文件",
"dontSortReleasesList": "保持来自 API 的发行顺序", "dontSortReleasesList": "保持来自 API 的发行顺序",
"reverseSort": "反转排序", "reverseSort": "反转排序",
@@ -289,9 +290,9 @@
"parallelDownloads": "启用并行下载", "parallelDownloads": "启用并行下载",
"useShizuku": "使用 Shizuku 或 Sui 安装", "useShizuku": "使用 Shizuku 或 Sui 安装",
"shizukuBinderNotFound": "未发现兼容的 Shizuku 服务", "shizukuBinderNotFound": "未发现兼容的 Shizuku 服务",
"shizukuOld": "旧的 Shizuku 版本 (<11) - 更新", "shizukuOld": "Shizuku 版本过低(<11- 更新",
"shizukuOldAndroidWithADB": "使用 ADB 在 Android < 8.1 上运行 Shizuku - 更新 Android 或使用 Sui 代替", "shizukuOldAndroidWithADB": "正在低版本 Android<8.1)系统中以 ADB 模式运行 Shizuku - 更新 Android 版本或使用 Sui 代替",
"shizukuPretendToBeGooglePlay": "将 Google Play 设置为安装源(如果使用 Shizuku", "shizukuPretendToBeGooglePlay": "使用 Shizuku 时将安装来源伪装为“Google Play”",
"useSystemFont": "使用系统字体", "useSystemFont": "使用系统字体",
"useVersionCodeAsOSVersion": "使用内部版本号代替应用定义的版本号", "useVersionCodeAsOSVersion": "使用内部版本号代替应用定义的版本号",
"requestHeader": "请求标头", "requestHeader": "请求标头",
@@ -307,8 +308,10 @@
"note": "备注", "note": "备注",
"selfHostedNote": "可以通过“{}”下拉菜单来指向任意来源的自托管/自定义实例。", "selfHostedNote": "可以通过“{}”下拉菜单来指向任意来源的自托管/自定义实例。",
"badDownload": "无法解析 APK 文件(不兼容或文件不完整)", "badDownload": "无法解析 APK 文件(不兼容或文件不完整)",
"beforeNewInstallsShareToAppVerifier": " AppVerifier 共享新应用程序(如有", "beforeNewInstallsShareToAppVerifier": "通过 AppVerifier 校验新应用(如果可用",
"appVerifierInstructionToast": "分享 AppVerifier准备就绪后返回此处。", "appVerifierInstructionToast": "分享 AppVerifier完成后返回此处。",
"wiki": "帮助/维基",
"crowdsourcedConfigsLabel": "众包应用程序配置(使用风险自负)",
"removeAppQuestion": { "removeAppQuestion": {
"one": "是否删除应用?", "one": "是否删除应用?",
"other": "是否删除应用?" "other": "是否删除应用?"

View File

@@ -273,10 +273,11 @@ class GitHub extends AppSource {
List<MapEntry<String, String>> getReleaseAssetUrls(dynamic release) => List<MapEntry<String, String>> getReleaseAssetUrls(dynamic release) =>
(release['assets'] as List<dynamic>?)?.map((e) { (release['assets'] as List<dynamic>?)?.map((e) {
return (e['name'] != null) && var url = !e['name'].toString().toLowerCase().endsWith('.apk')
((e['url'] ?? e['browser_download_url']) != null) ? (e['browser_download_url'] ?? e['url'])
? MapEntry(e['name'] as String, : (e['url'] ?? e['browser_download_url']);
(e['url'] ?? e['browser_download_url']) as String) return (e['name'] != null) && (url != null)
? MapEntry(e['name'] as String, url as String)
: const MapEntry('', ''); : const MapEntry('', '');
}).toList() ?? }).toList() ??
[]; [];

View File

@@ -6,7 +6,7 @@ import 'package:obtainium/providers/source_provider.dart';
class HuaweiAppGallery extends AppSource { class HuaweiAppGallery extends AppSource {
HuaweiAppGallery() { HuaweiAppGallery() {
name = 'Huawei AppGallery'; name = 'Huawei AppGallery';
hosts = ['appgallery.huawei.com']; hosts = ['appgallery.huawei.com', 'appgallery.cloud.huawei.com'];
versionDetectionDisallowed = true; versionDetectionDisallowed = true;
showReleaseDateAsVersionToggle = true; showReleaseDateAsVersionToggle = true;
} }
@@ -14,7 +14,7 @@ class HuaweiAppGallery extends AppSource {
@override @override
String sourceSpecificStandardizeURL(String url) { String sourceSpecificStandardizeURL(String url) {
RegExp standardUrlRegEx = RegExp( RegExp standardUrlRegEx = RegExp(
'^https?://(www\\.)?${getSourceRegex(hosts)}/app/[^/]+', '^https?://(www\\.)?${getSourceRegex(hosts)}(/#)?/(app|appdl)/[^/]+',
caseSensitive: false); caseSensitive: false);
RegExpMatch? match = standardUrlRegEx.firstMatch(url); RegExpMatch? match = standardUrlRegEx.firstMatch(url);
if (match == null) { if (match == null) {
@@ -24,7 +24,7 @@ class HuaweiAppGallery extends AppSource {
} }
getDlUrl(String standardUrl) => getDlUrl(String standardUrl) =>
'https://${hosts[0].replaceAll('appgallery.', 'appgallery.cloud.')}/appdl/${standardUrl.split('/').last}'; 'https://${hosts[0].replaceAll('appgallery.huawei', 'appgallery.cloud.huawei')}/appdl/${standardUrl.split('/').last}';
requestAppdlRedirect( requestAppdlRedirect(
String dlUrl, Map<String, dynamic> additionalSettings) async { String dlUrl, Map<String, dynamic> additionalSettings) async {

View File

@@ -133,7 +133,7 @@ class _AppPageState extends State<AppPage> {
child: Text( child: Text(
app?.app.releaseDate == null app?.app.releaseDate == null
? tr('changes') ? tr('changes')
: app!.app.releaseDate.toString(), : app!.app.releaseDate!.toLocal().toString(),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: style:
Theme.of(context).textTheme.labelSmall!.copyWith( Theme.of(context).textTheme.labelSmall!.copyWith(
@@ -175,9 +175,8 @@ class _AppPageState extends State<AppPage> {
tr('downloadX', args: [tr('releaseAsset').toLowerCase()]), tr('downloadX', args: [tr('releaseAsset').toLowerCase()]),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: Theme.of(context).textTheme.labelSmall!.copyWith( style: Theme.of(context).textTheme.labelSmall!.copyWith(
decoration: decoration: TextDecoration.underline,
changeLogFn != null ? TextDecoration.underline : null, fontStyle: FontStyle.italic,
fontStyle: changeLogFn != null ? FontStyle.italic : null,
), ),
), ),
), ),

View File

@@ -437,7 +437,7 @@ class AppsPageState extends State<AppsPage> {
? tr('changes') ? tr('changes')
: '' : ''
: DateFormat('yyyy-MM-dd') : DateFormat('yyyy-MM-dd')
.format(listedApps[appIndex].app.releaseDate!); .format(listedApps[appIndex].app.releaseDate!.toLocal());
} }
getSingleAppHorizTile(int index) { getSingleAppHorizTile(int index) {

View File

@@ -119,7 +119,7 @@ class _HomePageState extends State<HomePage> {
} }
// Check initial link if app was in cold state (terminated) // Check initial link if app was in cold state (terminated)
final appLink = await _appLinks.getInitialAppLink(); final appLink = await _appLinks.getInitialLink();
if (appLink != null) { if (appLink != null) {
await interpretLink(appLink); await interpretLink(appLink);
} }

View File

@@ -26,7 +26,19 @@ class SettingsPage extends StatefulWidget {
class _SettingsPageState extends State<SettingsPage> { class _SettingsPageState extends State<SettingsPage> {
List<int> updateIntervalNodes = [ List<int> updateIntervalNodes = [
15, 30, 60, 120, 180, 360, 720, 1440, 4320, 10080, 20160, 43200]; 15,
30,
60,
120,
180,
360,
720,
1440,
4320,
10080,
20160,
43200
];
int updateInterval = 0; int updateInterval = 0;
late SplineInterpolation updateIntervalInterpolator; // 🤓 late SplineInterpolation updateIntervalInterpolator; // 🤓
String updateIntervalLabel = tr('neverManualOnly'); String updateIntervalLabel = tr('neverManualOnly');
@@ -39,7 +51,8 @@ class _SettingsPageState extends State<SettingsPage> {
void initUpdateIntervalInterpolator() { void initUpdateIntervalInterpolator() {
List<InterpolationNode> nodes = []; List<InterpolationNode> nodes = [];
for (final (index, element) in updateIntervalNodes.indexed) { for (final (index, element) in updateIntervalNodes.indexed) {
nodes.add(InterpolationNode(x: index.toDouble()+1, y: element.toDouble())); nodes.add(
InterpolationNode(x: index.toDouble() + 1, y: element.toDouble()));
} }
updateIntervalInterpolator = SplineInterpolation(nodes: nodes); updateIntervalInterpolator = SplineInterpolation(nodes: nodes);
} }
@@ -90,21 +103,18 @@ class _SettingsPageState extends State<SettingsPage> {
var followSystemThemeExplanation = FutureBuilder( var followSystemThemeExplanation = FutureBuilder(
builder: (ctx, val) { builder: (ctx, val) {
return ((val.data?.version.sdkInt ?? 30) < 29) ? return ((val.data?.version.sdkInt ?? 30) < 29)
Text(tr('followSystemThemeExplanation'), ? Text(tr('followSystemThemeExplanation'),
style: Theme.of(context).textTheme.labelSmall) style: Theme.of(context).textTheme.labelSmall)
: const SizedBox.shrink(); : const SizedBox.shrink();
}, },
future: DeviceInfoPlugin().androidInfo future: DeviceInfoPlugin().androidInfo);
);
Future<bool> colorPickerDialog() async { Future<bool> colorPickerDialog() async {
return ColorPicker( return ColorPicker(
color: settingsProvider.themeColor, color: settingsProvider.themeColor,
onColorChanged: (Color color) => onColorChanged: (Color color) =>
setState(() => setState(() => settingsProvider.themeColor = color),
settingsProvider.themeColor = color
),
actionButtons: const ColorPickerActionButtons( actionButtons: const ColorPickerActionButtons(
okButton: true, okButton: true,
closeButton: true, closeButton: true,
@@ -137,19 +147,17 @@ class _SettingsPageState extends State<SettingsPage> {
showColorName: true, showColorName: true,
materialNameTextStyle: Theme.of(context).textTheme.bodySmall, materialNameTextStyle: Theme.of(context).textTheme.bodySmall,
colorNameTextStyle: Theme.of(context).textTheme.bodySmall, colorNameTextStyle: Theme.of(context).textTheme.bodySmall,
copyPasteBehavior: const ColorPickerCopyPasteBehavior(longPressMenu: true), copyPasteBehavior:
const ColorPickerCopyPasteBehavior(longPressMenu: true),
).showPickerDialog( ).showPickerDialog(
context, context,
transitionBuilder: (BuildContext context, transitionBuilder: (BuildContext context, Animation<double> a1,
Animation<double> a1, Animation<double> a2, Widget widget) { Animation<double> a2, Widget widget) {
final double curvedValue = Curves.easeInCubic.transform(a1.value); final double curvedValue = Curves.easeInCubic.transform(a1.value);
return Transform( return Transform(
alignment: Alignment.center, alignment: Alignment.center,
transform: Matrix4.diagonal3Values(curvedValue, curvedValue, 1), transform: Matrix4.diagonal3Values(curvedValue, curvedValue, 1),
child: Opacity( child: Opacity(opacity: curvedValue, child: widget),
opacity: curvedValue,
child: widget
),
); );
}, },
transitionDuration: const Duration(milliseconds: 250), transitionDuration: const Duration(milliseconds: 250),
@@ -160,9 +168,9 @@ class _SettingsPageState extends State<SettingsPage> {
dense: true, dense: true,
contentPadding: EdgeInsets.zero, contentPadding: EdgeInsets.zero,
title: Text(tr('selectX', args: [tr('colour')])), title: Text(tr('selectX', args: [tr('colour')])),
subtitle: Text("${ColorTools.nameThatColor(settingsProvider.themeColor)} " subtitle: Text(
"(${ColorTools.materialNameAndCode(settingsProvider.themeColor, "${ColorTools.nameThatColor(settingsProvider.themeColor)} "
colorSwatchNameMap: colorsNameMap)})"), "(${ColorTools.materialNameAndCode(settingsProvider.themeColor, colorSwatchNameMap: colorsNameMap)})"),
trailing: ColorIndicator( trailing: ColorIndicator(
width: 40, width: 40,
height: 40, height: 40,
@@ -176,14 +184,12 @@ class _SettingsPageState extends State<SettingsPage> {
settingsProvider.themeColor = colorBeforeDialog; settingsProvider.themeColor = colorBeforeDialog;
}); });
} }
} }));
)
);
var useMaterialThemeSwitch = FutureBuilder( var useMaterialThemeSwitch = FutureBuilder(
builder: (ctx, val) { builder: (ctx, val) {
return ((val.data?.version.sdkInt ?? 0) >= 31) ? return ((val.data?.version.sdkInt ?? 0) >= 31)
Row( ? Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Flexible(child: Text(tr('useMaterialYou'))), Flexible(child: Text(tr('useMaterialYou'))),
@@ -193,10 +199,10 @@ class _SettingsPageState extends State<SettingsPage> {
settingsProvider.useMaterialYou = value; settingsProvider.useMaterialYou = value;
}) })
], ],
) : const SizedBox.shrink(); )
: const SizedBox.shrink();
}, },
future: DeviceInfoPlugin().androidInfo future: DeviceInfoPlugin().androidInfo);
);
var sortDropdown = DropdownButtonFormField( var sortDropdown = DropdownButtonFormField(
isExpanded: true, isExpanded: true,
@@ -343,13 +349,20 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
//intervalDropdown, //intervalDropdown,
height16, height16,
if (showIntervalLabel) SizedBox( if (showIntervalLabel)
child: Text("${tr('bgUpdateCheckInterval')}: $updateIntervalLabel") SizedBox(
) else const SizedBox(height: 16), child: Text(
"${tr('bgUpdateCheckInterval')}: $updateIntervalLabel"))
else
const SizedBox(height: 16),
intervalSlider, intervalSlider,
FutureBuilder( FutureBuilder(
builder: (ctx, val) { builder: (ctx, val) {
return (settingsProvider.updateInterval > 0) && (((val.data?.version.sdkInt ?? 0) >= 30) || settingsProvider.useShizuku) return (settingsProvider.updateInterval >
0) &&
(((val.data?.version.sdkInt ?? 0) >=
30) ||
settingsProvider.useShizuku)
? Column( ? Column(
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.start, CrossAxisAlignment.start,
@@ -531,17 +544,31 @@ class _SettingsPageState extends State<SettingsPage> {
value: settingsProvider.useShizuku, value: settingsProvider.useShizuku,
onChanged: (useShizuku) { onChanged: (useShizuku) {
if (useShizuku) { if (useShizuku) {
ShizukuApkInstaller.checkPermission().then((resCode) { ShizukuApkInstaller.checkPermission()
settingsProvider.useShizuku = resCode!.startsWith('granted'); .then((resCode) {
settingsProvider.useShizuku =
resCode!.startsWith('granted');
switch (resCode) { switch (resCode) {
case 'binder_not_found': case 'binder_not_found':
showError(ObtainiumError(tr('shizukuBinderNotFound')), context); showError(
ObtainiumError(tr(
'shizukuBinderNotFound')),
context);
case 'old_shizuku': case 'old_shizuku':
showError(ObtainiumError(tr('shizukuOld')), context); showError(
ObtainiumError(
tr('shizukuOld')),
context);
case 'old_android_with_adb': case 'old_android_with_adb':
showError(ObtainiumError(tr('shizukuOldAndroidWithADB')), context); showError(
ObtainiumError(tr(
'shizukuOldAndroidWithADB')),
context);
case 'denied': case 'denied':
showError(ObtainiumError(tr('cancelled')), context); showError(
ObtainiumError(
tr('cancelled')),
context);
} }
}); });
} else { } else {
@@ -566,7 +593,8 @@ class _SettingsPageState extends State<SettingsPage> {
color: Theme.of(context).colorScheme.primary), color: Theme.of(context).colorScheme.primary),
), ),
DropdownButtonFormField( DropdownButtonFormField(
decoration: InputDecoration(labelText: tr('theme')), decoration:
InputDecoration(labelText: tr('theme')),
value: settingsProvider.theme, value: settingsProvider.theme,
items: [ items: [
DropdownMenuItem( DropdownMenuItem(
@@ -593,17 +621,17 @@ class _SettingsPageState extends State<SettingsPage> {
height16, height16,
if (settingsProvider.theme != ThemeSettings.light) if (settingsProvider.theme != ThemeSettings.light)
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [ children: [
Flexible(child: Text(tr('useBlackTheme'))), Flexible(child: Text(tr('useBlackTheme'))),
Switch( Switch(
value: settingsProvider.useBlackTheme, value: settingsProvider.useBlackTheme,
onChanged: (value) { onChanged: (value) {
settingsProvider.useBlackTheme = value; settingsProvider.useBlackTheme =
} value;
) })
] ]),
),
height8, height8,
useMaterialThemeSwitch, useMaterialThemeSwitch,
if (!settingsProvider.useMaterialYou) colorPicker, if (!settingsProvider.useMaterialYou) colorPicker,
@@ -624,28 +652,39 @@ class _SettingsPageState extends State<SettingsPage> {
builder: (ctx, val) { builder: (ctx, val) {
return (val.data?.version.sdkInt ?? 0) >= 34 return (val.data?.version.sdkInt ?? 0) >= 34
? Column( ? Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment:
CrossAxisAlignment.start,
children: [ children: [
height16, height16,
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
children: [ children: [
Flexible(child: Text(tr('useSystemFont'))), Flexible(
child: Text(tr(
'useSystemFont'))),
Switch( Switch(
value: settingsProvider.useSystemFont, value: settingsProvider
onChanged: (useSystemFont) { .useSystemFont,
onChanged:
(useSystemFont) {
if (useSystemFont) { if (useSystemFont) {
NativeFeatures.loadSystemFont().then((val) { NativeFeatures
settingsProvider.useSystemFont = true; .loadSystemFont()
.then((val) {
settingsProvider
.useSystemFont =
true;
}); });
} else { } else {
settingsProvider.useSystemFont = false; settingsProvider
.useSystemFont =
false;
} }
}) })
] ])
) ])
]
)
: const SizedBox.shrink(); : const SizedBox.shrink();
}, },
future: DeviceInfoPlugin().androidInfo), future: DeviceInfoPlugin().androidInfo),
@@ -801,17 +840,31 @@ class _SettingsPageState extends State<SettingsPage> {
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [ children: [
TextButton.icon( IconButton(
onPressed: () { onPressed: () {
launchUrlString(settingsProvider.sourceUrl, launchUrlString(settingsProvider.sourceUrl,
mode: LaunchMode.externalApplication); mode: LaunchMode.externalApplication);
}, },
icon: const Icon(Icons.code), icon: const Icon(Icons.code),
label: Text( tooltip: tr('appSource'),
tr('appSource'),
), ),
IconButton(
onPressed: () {
launchUrlString('${settingsProvider.sourceUrl}/wiki',
mode: LaunchMode.externalApplication);
},
icon: const Icon(Icons.help_outline_rounded),
tooltip: tr('wiki'),
), ),
TextButton.icon( IconButton(
onPressed: () {
launchUrlString('https://apps.obtainium.imranr.dev/',
mode: LaunchMode.externalApplication);
},
icon: const Icon(Icons.apps_rounded),
tooltip: tr('crowdsourcedConfigsLabel'),
),
IconButton(
onPressed: () { onPressed: () {
context.read<LogsProvider>().get().then((logs) { context.read<LogsProvider>().get().then((logs) {
if (logs.isEmpty) { if (logs.isEmpty) {
@@ -827,7 +880,7 @@ class _SettingsPageState extends State<SettingsPage> {
}); });
}, },
icon: const Icon(Icons.bug_report_outlined), icon: const Icon(Icons.bug_report_outlined),
label: Text(tr('appLogs'))), tooltip: tr('appLogs'))
], ],
), ),
const SizedBox( const SizedBox(

View File

@@ -142,19 +142,20 @@ List<MapEntry<String, int>> moveStrToEndMapEntryWithCount(
return arr; return arr;
} }
Future<File> downloadFileWithRetry( Future<File> downloadFileWithRetry(String url, String fileName,
String url, String fileNameNoExt, Function? onProgress, String destDir, bool fileNameHasExt, Function? onProgress, String destDir,
{bool useExisting = true, {bool useExisting = true,
Map<String, String>? headers, Map<String, String>? headers,
int retries = 3}) async { int retries = 3}) async {
try { try {
return await downloadFile(url, fileNameNoExt, onProgress, destDir, return await downloadFile(
url, fileName, fileNameHasExt, onProgress, destDir,
useExisting: useExisting, headers: headers); useExisting: useExisting, headers: headers);
} catch (e) { } catch (e) {
if (retries > 0 && e is ClientException) { if (retries > 0 && e is ClientException) {
await Future.delayed(const Duration(seconds: 5)); await Future.delayed(const Duration(seconds: 5));
return await downloadFileWithRetry( return await downloadFileWithRetry(
url, fileNameNoExt, onProgress, destDir, url, fileName, fileNameHasExt, onProgress, destDir,
useExisting: useExisting, headers: headers, retries: (retries - 1)); useExisting: useExisting, headers: headers, retries: (retries - 1));
} else { } else {
rethrow; rethrow;
@@ -201,8 +202,8 @@ Future<String> checkPartialDownloadHash(String url, int bytesToGrab,
return hashListOfLists(bytes); return hashListOfLists(bytes);
} }
Future<File> downloadFile( Future<File> downloadFile(String url, String fileName, bool fileNameHasExt,
String url, String fileNameNoExt, Function? onProgress, String destDir, Function? onProgress, String destDir,
{bool useExisting = true, Map<String, String>? headers}) async { {bool useExisting = true, Map<String, String>? headers}) async {
// Send the initial request but cancel it as soon as you have the headers // Send the initial request but cancel it as soon as you have the headers
var reqHeaders = headers ?? {}; var reqHeaders = headers ?? {};
@@ -222,7 +223,12 @@ Future<File> downloadFile(
if (url.toLowerCase().endsWith('.apk') && ext != 'apk') { if (url.toLowerCase().endsWith('.apk') && ext != 'apk') {
ext = 'apk'; ext = 'apk';
} }
File downloadedFile = File('$destDir/$fileNameNoExt.$ext'); fileName = fileName.split('/').last; // Ensure the fileName is a file name
File downloadedFile = File('$destDir/$fileName.$ext');
if (fileNameHasExt) {
// If the user says the filename already has an ext, ignore whatever you inferred from above
downloadedFile = File('$destDir/$fileName');
}
bool rangeFeatureEnabled = false; bool rangeFeatureEnabled = false;
if (resHeaders['accept-ranges']?.isNotEmpty == true) { if (resHeaders['accept-ranges']?.isNotEmpty == true) {
@@ -435,8 +441,8 @@ class AppsProvider with ChangeNotifier {
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, downloadUrl, fileNameNoExt, false, headers: headers,
headers: headers, (double? progress) { (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;
@@ -969,15 +975,8 @@ class AppsProvider with ChangeNotifier {
if (!downloadsAccessible && exportDir != null) { if (!downloadsAccessible && exportDir != null) {
downloadPath = exportDir.path; downloadPath = exportDir.path;
} }
await downloadFile( await downloadFile(fileUrl.value, fileUrl.key, true,
fileUrl.value, (double? progress) {
fileUrl.key
.split('.')
.reversed
.toList()
.sublist(1)
.reversed
.join('.'), (double? progress) {
notificationsProvider notificationsProvider
.notify(DownloadNotification(fileUrl.key, progress?.ceil() ?? 0)); .notify(DownloadNotification(fileUrl.key, progress?.ceil() ?? 0));
}, downloadPath, }, downloadPath,

View File

@@ -47,18 +47,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: app_links name: app_links
sha256: "42dc15aecf2618ace4ffb74a2e58a50e45cd1b9f2c17c8f0cafe4c297f08c815" sha256: "1c2b9e9c56d80d17610bcbd111b37187875c5d0ded8654caa1bda14ea753d001"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.1" version: "6.0.1"
archive: archive:
dependency: transitive dependency: transitive
description: description:
name: archive name: archive
sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.4.10" version: "3.5.1"
args: args:
dependency: transitive dependency: transitive
description: description:
@@ -79,10 +79,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: background_fetch name: background_fetch
sha256: "81d0d4eeecd17c971335438a5a55554c8302f479f92c7f7bc7f147f75d3f6074" sha256: "2fe367c9be0e256dadb75b8b637b0b58a2a2d2317b7c8420bb1ae8b41e23fde3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.3" version: "1.3.4"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
@@ -147,14 +147,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
convert:
dependency: transitive
description:
name: convert
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
url: "https://pub.dev"
source: hosted
version: "3.1.1"
cross_file: cross_file:
dependency: transitive dependency: transitive
description: description:
@@ -271,10 +263,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: file_picker name: file_picker
sha256: "45c70b43df893027e441a6fa0aacc8f484fb9f9c60c746dc8f1dc4f774cf55cd" sha256: "29c90806ac5f5fb896547720b73b17ee9aed9bba540dc5d91fe29f8c5745b10a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.0.2" version: "8.0.3"
fixnum: fixnum:
dependency: transitive dependency: transitive
description: description:
@@ -340,10 +332,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_local_notifications name: flutter_local_notifications
sha256: "8cdc719114ab1c86c64bb7a86d3a679674c3637edd229e3a994797d4a1504ce4" sha256: "84a3af6c7fb43c85c3528b434dacc7a7ed4551d1209d93773bf6045cec9ace68"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "17.1.0" version: "17.1.1"
flutter_local_notifications_linux: flutter_local_notifications_linux:
dependency: transitive dependency: transitive
description: description:
@@ -463,22 +455,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.18.1" version: "0.18.1"
js:
dependency: transitive
description:
name: js
sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
url: "https://pub.dev"
source: hosted
version: "0.7.1"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
name: json_annotation name: json_annotation
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.8.1" version: "4.9.0"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
@@ -635,10 +619,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_android name: permission_handler_android
sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" sha256: "8bb852cd759488893805c3161d0b2b5db55db52f773dbb014420b304055ba2c5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "12.0.5" version: "12.0.6"
permission_handler_apple: permission_handler_apple:
dependency: transitive dependency: transitive
description: description:
@@ -695,14 +679,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.8" version: "2.1.8"
pointycastle:
dependency: transitive
description:
name: pointycastle
sha256: "79fbafed02cfdbe85ef3fd06c7f4bc2cbcba0177e61b765264853d4253b21744"
url: "https://pub.dev"
source: hosted
version: "3.9.0"
provider: provider:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -825,10 +801,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: sqflite name: sqflite
sha256: "5ce2e1a15e822c3b4bfb5400455775e421da7098eed8adc8f26298ada7c9308c" sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.3" version: "2.3.3+1"
sqflite_common: sqflite_common:
dependency: transitive dependency: transitive
description: description:
@@ -889,10 +865,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: timezone name: timezone
sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0" sha256: a6ccda4a69a442098b602c44e61a1e2b4bf6f5516e875bbf0f427d5df14745d5
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.9.2" version: "0.9.3"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@@ -1009,10 +985,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_android name: webview_flutter_android
sha256: f038ee2fae73b509dde1bc9d2c5a50ca92054282de17631a9a3d515883740934 sha256: dad3313c9ead95517bb1cae5e1c9d20ba83729d5a59e5e83c0a2d66203f27f91
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.16.0" version: "3.16.1"
webview_flutter_platform_interface: webview_flutter_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -1033,10 +1009,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a" sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.4.0" version: "5.5.0"
win32_registry: win32_registry:
dependency: transitive dependency: transitive
description: description:

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.6+2263 version: 1.1.7+2264
environment: environment:
sdk: '>=3.0.0 <4.0.0' sdk: '>=3.0.0 <4.0.0'
@@ -66,7 +66,7 @@ dependencies:
connectivity_plus: ^6.0.1 connectivity_plus: ^6.0.1
shared_storage: ^0.8.0 shared_storage: ^0.8.0
crypto: ^3.0.3 crypto: ^3.0.3
app_links: ^4.0.0 app_links: ^6.0.1
background_fetch: ^1.2.1 background_fetch: ^1.2.1
equations: ^5.0.2 equations: ^5.0.2
flex_color_picker: ^3.4.1 flex_color_picker: ^3.4.1