UI fixes for previous commit (#1107)

This commit is contained in:
Imran Remtulla
2023-11-24 18:12:27 -05:00
parent bcb4567382
commit 15bf972ef6
20 changed files with 98 additions and 73 deletions

View File

@@ -55,7 +55,7 @@
"notInstalled": "Nije instalirano", "notInstalled": "Nije instalirano",
"estimateInBrackets": "(Procjena)", "estimateInBrackets": "(Procjena)",
"selectAll": "Označi sve", "selectAll": "Označi sve",
"deselectN": "Poništi odabir {}", "deselectX": "Poništi odabir {}",
"xWillBeRemovedButRemainInstalled": "{} će biti uklonjen iz Obtainiuma, ali će ostati instaliran na uređaju.", "xWillBeRemovedButRemainInstalled": "{} će biti uklonjen iz Obtainiuma, ali će ostati instaliran na uređaju.",
"removeSelectedAppsQuestion": "Želite li ukloniti odabrane aplikacije?", "removeSelectedAppsQuestion": "Želite li ukloniti odabrane aplikacije?",
"removeSelectedApps": "Ukloni odabrane aplikacije", "removeSelectedApps": "Ukloni odabrane aplikacije",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Tražim moguće nadogradnje", "checkingForUpdatesNotifChannel": "Tražim moguće nadogradnje",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates", "onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Želite li ukloniti aplikaciju?", "one": "Želite li ukloniti aplikaciju?",
"other": "Želite li ukloniti aplikacije?" "other": "Želite li ukloniti aplikacije?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Není nainstalováno", "notInstalled": "Není nainstalováno",
"estimateInBrackets": "(přibližně)", "estimateInBrackets": "(přibližně)",
"selectAll": "Vybrat Vše", "selectAll": "Vybrat Vše",
"deselectN": "{} deselected", "deselectX": "{} deselected",
"xWillBeRemovedButRemainInstalled": "{} bude odstraněn z Obtainium, ale zůstane nainstalován v zařízení.", "xWillBeRemovedButRemainInstalled": "{} bude odstraněn z Obtainium, ale zůstane nainstalován v zařízení.",
"removeSelectedAppsQuestion": "Odebrat vybrané aplikace?", "removeSelectedAppsQuestion": "Odebrat vybrané aplikace?",
"removeSelectedApps": "Odebrat vybrané aplikace", "removeSelectedApps": "Odebrat vybrané aplikace",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Zkontrolovat aktualizace", "checkingForUpdatesNotifChannel": "Zkontrolovat aktualizace",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates", "onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Odstranit Apku?", "one": "Odstranit Apku?",
"other": "Odstranit Apky?" "other": "Odstranit Apky?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Nicht installiert", "notInstalled": "Nicht installiert",
"estimateInBrackets": "(Ungefähr)", "estimateInBrackets": "(Ungefähr)",
"selectAll": "Alle auswählen", "selectAll": "Alle auswählen",
"deselectN": "{} abgewählt", "deselectX": "{} abgewählt",
"xWillBeRemovedButRemainInstalled": "{} wird aus Obtainium entfernt, bleibt aber auf dem Gerät installiert.", "xWillBeRemovedButRemainInstalled": "{} wird aus Obtainium entfernt, bleibt aber auf dem Gerät installiert.",
"removeSelectedAppsQuestion": "Ausgewählte Apps entfernen?", "removeSelectedAppsQuestion": "Ausgewählte Apps entfernen?",
"removeSelectedApps": "Ausgewählte Apps entfernen", "removeSelectedApps": "Ausgewählte Apps entfernen",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Nach Aktualisierungen suchen", "checkingForUpdatesNotifChannel": "Nach Aktualisierungen suchen",
"onlyCheckInstalledOrTrackOnlyApps": "Überprüfe nur installierte und mit „nur Nachverfolgen“ markierte Apps nach Aktualisierungen", "onlyCheckInstalledOrTrackOnlyApps": "Überprüfe nur installierte und mit „nur Nachverfolgen“ markierte Apps nach Aktualisierungen",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "App entfernen?", "one": "App entfernen?",
"other": "Apps entfernen?" "other": "Apps entfernen?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Not Installed", "notInstalled": "Not Installed",
"estimateInBrackets": "(Estimate)", "estimateInBrackets": "(Estimate)",
"selectAll": "Select All", "selectAll": "Select All",
"deselectN": "Deselect {}", "deselectX": "Deselect {}",
"xWillBeRemovedButRemainInstalled": "{} will be removed from Obtainium but remain installed on device.", "xWillBeRemovedButRemainInstalled": "{} will be removed from Obtainium but remain installed on device.",
"removeSelectedAppsQuestion": "Remove Selected Apps?", "removeSelectedAppsQuestion": "Remove Selected Apps?",
"removeSelectedApps": "Remove Selected Apps", "removeSelectedApps": "Remove Selected Apps",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Checking for Updates", "checkingForUpdatesNotifChannel": "Checking for Updates",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates", "onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Remove App?", "one": "Remove App?",
"other": "Remove Apps?" "other": "Remove Apps?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "No Instalado", "notInstalled": "No Instalado",
"estimateInBrackets": "(Aproximado)", "estimateInBrackets": "(Aproximado)",
"selectAll": "Seleccionar Todo", "selectAll": "Seleccionar Todo",
"deselectN": "Deseleccionar {}", "deselectX": "Deseleccionar {}",
"xWillBeRemovedButRemainInstalled": "{} será borrada de Obtainium pero continuará instalada en el dispositivo.", "xWillBeRemovedButRemainInstalled": "{} será borrada de Obtainium pero continuará instalada en el dispositivo.",
"removeSelectedAppsQuestion": "¿Borrar aplicaciones seleccionadas?", "removeSelectedAppsQuestion": "¿Borrar aplicaciones seleccionadas?",
"removeSelectedApps": "Borrar Aplicaciones Seleccionadas", "removeSelectedApps": "Borrar Aplicaciones Seleccionadas",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Buscando Actualizaciones", "checkingForUpdatesNotifChannel": "Buscando Actualizaciones",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates", "onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "¿Eliminar Aplicación?", "one": "¿Eliminar Aplicación?",
"other": "¿Eliminar Aplicaciones?" "other": "¿Eliminar Aplicaciones?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "نصب نشده", "notInstalled": "نصب نشده",
"estimateInBrackets": "(تخمین زدن)", "estimateInBrackets": "(تخمین زدن)",
"selectAll": "انتخاب همه", "selectAll": "انتخاب همه",
"deselectN": "لغو انتخاب {}", "deselectX": "لغو انتخاب {}",
"xWillBeRemovedButRemainInstalled": "{} از Obtainium حذف می‌شود اما روی دستگاه نصب می‌ماند.", "xWillBeRemovedButRemainInstalled": "{} از Obtainium حذف می‌شود اما روی دستگاه نصب می‌ماند.",
"removeSelectedAppsQuestion": "برنامه های انتخابی حذف شود؟", "removeSelectedAppsQuestion": "برنامه های انتخابی حذف شود؟",
"removeSelectedApps": "حذف برنامه های انتخاب شده", "removeSelectedApps": "حذف برنامه های انتخاب شده",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "بررسی به‌روزرسانی‌ها", "checkingForUpdatesNotifChannel": "بررسی به‌روزرسانی‌ها",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates", "onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "برنامه حذف شود؟", "one": "برنامه حذف شود؟",
"other": "برنامه ها حذف شوند؟" "other": "برنامه ها حذف شوند؟"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Pas installé", "notInstalled": "Pas installé",
"estimateInBrackets": "(Estimation)", "estimateInBrackets": "(Estimation)",
"selectAll": "Tout sélectionner", "selectAll": "Tout sélectionner",
"deselectN": "Déselectionner {}", "deselectX": "Déselectionner {}",
"xWillBeRemovedButRemainInstalled": "{} sera supprimé d'Obtainium mais restera installé sur l'appareil.", "xWillBeRemovedButRemainInstalled": "{} sera supprimé d'Obtainium mais restera installé sur l'appareil.",
"removeSelectedAppsQuestion": "Supprimer les applications sélectionnées ?", "removeSelectedAppsQuestion": "Supprimer les applications sélectionnées ?",
"removeSelectedApps": "Supprimer les applications sélectionnées", "removeSelectedApps": "Supprimer les applications sélectionnées",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Vérification des mises à jour", "checkingForUpdatesNotifChannel": "Vérification des mises à jour",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates", "onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Supprimer l'application ?", "one": "Supprimer l'application ?",
"other": "Supprimer les applications ?" "other": "Supprimer les applications ?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Nem telepített", "notInstalled": "Nem telepített",
"estimateInBrackets": "(Becslés)", "estimateInBrackets": "(Becslés)",
"selectAll": "Mindet kiválaszt", "selectAll": "Mindet kiválaszt",
"deselectN": "Törölje {} kijelölését", "deselectX": "Törölje {} kijelölését",
"xWillBeRemovedButRemainInstalled": "A(z) {} el lesz távolítva az Obtainiumból, de továbbra is telepítve marad az eszközön.", "xWillBeRemovedButRemainInstalled": "A(z) {} el lesz távolítva az Obtainiumból, de továbbra is telepítve marad az eszközön.",
"removeSelectedAppsQuestion": "Eltávolítja a kiválasztott appokat?", "removeSelectedAppsQuestion": "Eltávolítja a kiválasztott appokat?",
"removeSelectedApps": "Távolítsa el a kiválasztott appokat", "removeSelectedApps": "Távolítsa el a kiválasztott appokat",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Frissítések keresése", "checkingForUpdatesNotifChannel": "Frissítések keresése",
"onlyCheckInstalledOrTrackOnlyApps": "Csak a telepített és a csak követhető appokat ellenőrizze frissítésekért", "onlyCheckInstalledOrTrackOnlyApps": "Csak a telepített és a csak követhető appokat ellenőrizze frissítésekért",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Eltávolítja az alkalmazást?", "one": "Eltávolítja az alkalmazást?",
"other": "Eltávolítja az alkalmazást?" "other": "Eltávolítja az alkalmazást?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Non installato", "notInstalled": "Non installato",
"estimateInBrackets": "(stimato)", "estimateInBrackets": "(stimato)",
"selectAll": "Seleziona tutto", "selectAll": "Seleziona tutto",
"deselectN": "Deseleziona {}", "deselectX": "Deseleziona {}",
"xWillBeRemovedButRemainInstalled": "Verà effettuata la rimozione di {}, ma non la disinstallazione.", "xWillBeRemovedButRemainInstalled": "Verà effettuata la rimozione di {}, ma non la disinstallazione.",
"removeSelectedAppsQuestion": "Rimuovere le app selezionate?", "removeSelectedAppsQuestion": "Rimuovere le app selezionate?",
"removeSelectedApps": "Rimuovi le app selezionate", "removeSelectedApps": "Rimuovi le app selezionate",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Controllo degli aggiornamenti in corso", "checkingForUpdatesNotifChannel": "Controllo degli aggiornamenti in corso",
"onlyCheckInstalledOrTrackOnlyApps": "Cerca aggiornamenti solo per app installate e app in Solo-Monitoraggio", "onlyCheckInstalledOrTrackOnlyApps": "Cerca aggiornamenti solo per app installate e app in Solo-Monitoraggio",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Rimuovere l'app?", "one": "Rimuovere l'app?",
"other": "Rimuovere le app?" "other": "Rimuovere le app?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "未インストール", "notInstalled": "未インストール",
"estimateInBrackets": "(推定)", "estimateInBrackets": "(推定)",
"selectAll": "すべて選択", "selectAll": "すべて選択",
"deselectN": "{}件の選択を解除", "deselectX": "{}件の選択を解除",
"xWillBeRemovedButRemainInstalled": "{} はObtainiumから削除されますが、デバイスにはインストールされたままです。", "xWillBeRemovedButRemainInstalled": "{} はObtainiumから削除されますが、デバイスにはインストールされたままです。",
"removeSelectedAppsQuestion": "選択したアプリを削除しますか?", "removeSelectedAppsQuestion": "選択したアプリを削除しますか?",
"removeSelectedApps": "選択したアプリを削除する", "removeSelectedApps": "選択したアプリを削除する",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "アップデートを確認中", "checkingForUpdatesNotifChannel": "アップデートを確認中",
"onlyCheckInstalledOrTrackOnlyApps": "インストール済みのアプリと「追跡のみ」のアプリのアップデートのみを確認する", "onlyCheckInstalledOrTrackOnlyApps": "インストール済みのアプリと「追跡のみ」のアプリのアップデートのみを確認する",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "アプリを削除しますか?", "one": "アプリを削除しますか?",
"other": "アプリを削除しますか?" "other": "アプリを削除しますか?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Niet geinstalleerd", "notInstalled": "Niet geinstalleerd",
"estimateInBrackets": "(Ongeveer)", "estimateInBrackets": "(Ongeveer)",
"selectAll": "Selecteer alles", "selectAll": "Selecteer alles",
"deselectN": "Deselecteer {}", "deselectX": "Deselecteer {}",
"xWillBeRemovedButRemainInstalled": "{} zal worden verwijderd uit Obtainium, maar blijft geïnstalleerd op het apparaat.", "xWillBeRemovedButRemainInstalled": "{} zal worden verwijderd 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",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Controleren op updates", "checkingForUpdatesNotifChannel": "Controleren op updates",
"onlyCheckInstalledOrTrackOnlyApps": "Alleen geïnstalleerde en Track-Only apps controleren op updates", "onlyCheckInstalledOrTrackOnlyApps": "Alleen geïnstalleerde en Track-Only apps controleren op updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "App verwijderen?", "one": "App verwijderen?",
"other": "Apps verwijderen?" "other": "Apps verwijderen?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Nie zainstalowano", "notInstalled": "Nie zainstalowano",
"estimateInBrackets": "(Szacunkowo)", "estimateInBrackets": "(Szacunkowo)",
"selectAll": "Zaznacz wszystkie", "selectAll": "Zaznacz wszystkie",
"deselectN": "Odznacz {}", "deselectX": "Odznacz {}",
"xWillBeRemovedButRemainInstalled": "{} zostanie usunięty z Obtainium, ale pozostanie zainstalowany na urządzeniu.", "xWillBeRemovedButRemainInstalled": "{} zostanie usunięty z Obtainium, ale pozostanie zainstalowany na urządzeniu.",
"removeSelectedAppsQuestion": "Usunąć wybrane aplikacje?", "removeSelectedAppsQuestion": "Usunąć wybrane aplikacje?",
"removeSelectedApps": "Usuń wybrane aplikacje", "removeSelectedApps": "Usuń wybrane aplikacje",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Sprawdzanie dostępności aktualizacji", "checkingForUpdatesNotifChannel": "Sprawdzanie dostępności aktualizacji",
"onlyCheckInstalledOrTrackOnlyApps": "Sprawdzaj tylko zainstalowane i obserwowane aplikacje pod kątem aktualizacji", "onlyCheckInstalledOrTrackOnlyApps": "Sprawdzaj tylko zainstalowane i obserwowane aplikacje pod kątem aktualizacji",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Usunąć aplikację?", "one": "Usunąć aplikację?",
"few": "Usunąć aplikacje?", "few": "Usunąć aplikacje?",

View File

@@ -55,7 +55,7 @@
"notInstalled": "Não Instalado", "notInstalled": "Não Instalado",
"estimateInBrackets": "(Aproximado)", "estimateInBrackets": "(Aproximado)",
"selectAll": "Selecionar All", "selectAll": "Selecionar All",
"deselectN": "Deselecionar {}", "deselectX": "Deselecionar {}",
"xWillBeRemovedButRemainInstalled": "{} sera removido do Obtainium mais permanecerá instalado no dispositivo.", "xWillBeRemovedButRemainInstalled": "{} sera removido do Obtainium mais permanecerá instalado no dispositivo.",
"removeSelectedAppsQuestion": "Remover Apps Selecionados?", "removeSelectedAppsQuestion": "Remover Apps Selecionados?",
"removeSelectedApps": "Remover Apps Selecionados", "removeSelectedApps": "Remover Apps Selecionados",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Checando por Atualizações", "checkingForUpdatesNotifChannel": "Checando por Atualizações",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates", "onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Remover App?", "one": "Remover App?",
"other": "Remover Apps?" "other": "Remover Apps?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Не установлено", "notInstalled": "Не установлено",
"estimateInBrackets": "(Оценка)", "estimateInBrackets": "(Оценка)",
"selectAll": "Выбрать всё", "selectAll": "Выбрать всё",
"deselectN": "Отменить выбор {}", "deselectX": "Отменить выбор {}",
"xWillBeRemovedButRemainInstalled": "{} будет удалено из Obtainium, но останется на устройстве", "xWillBeRemovedButRemainInstalled": "{} будет удалено из Obtainium, но останется на устройстве",
"removeSelectedAppsQuestion": "Удалить выбранные приложения?", "removeSelectedAppsQuestion": "Удалить выбранные приложения?",
"removeSelectedApps": "Удалить выбранные приложения", "removeSelectedApps": "Удалить выбранные приложения",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Проверка обновлений", "checkingForUpdatesNotifChannel": "Проверка обновлений",
"onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates", "onlyCheckInstalledOrTrackOnlyApps": "Only check installed and Track-Only apps for updates",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Удалить приложение?", "one": "Удалить приложение?",
"other": "Удалить приложения?" "other": "Удалить приложения?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Inte Installerad", "notInstalled": "Inte Installerad",
"estimateInBrackets": "(Uppskattning)", "estimateInBrackets": "(Uppskattning)",
"selectAll": "Välj Alla", "selectAll": "Välj Alla",
"deselectN": "Avmarkera {}", "deselectX": "Avmarkera {}",
"xWillBeRemovedButRemainInstalled": "{} kommer tas bort från Obtainium men kommer vara fortsatt installerad på enheten.", "xWillBeRemovedButRemainInstalled": "{} kommer tas bort från Obtainium men kommer vara fortsatt installerad på enheten.",
"removeSelectedAppsQuestion": "Ta bort markerade Appar?", "removeSelectedAppsQuestion": "Ta bort markerade Appar?",
"removeSelectedApps": "Ta bort markerade Appar", "removeSelectedApps": "Ta bort markerade Appar",

View File

@@ -55,7 +55,7 @@
"notInstalled": "Yüklenmedi", "notInstalled": "Yüklenmedi",
"estimateInBrackets": "(Tahmini)", "estimateInBrackets": "(Tahmini)",
"selectAll": "Hepsini Seç", "selectAll": "Hepsini Seç",
"deselectN": "{}'yi Seçimden Kaldır", "deselectX": "{}'yi Seçimden Kaldır",
"xWillBeRemovedButRemainInstalled": "{} Obtainium'dan kaldırılacak ancak cihazınızda yüklü kalacaktır.", "xWillBeRemovedButRemainInstalled": "{} Obtainium'dan kaldırılacak ancak cihazınızda yüklü kalacaktır.",
"removeSelectedAppsQuestion": "Seçilen Uygulamaları Kaldırmak İstiyor musunuz?", "removeSelectedAppsQuestion": "Seçilen Uygulamaları Kaldırmak İstiyor musunuz?",
"removeSelectedApps": "Seçilen Uygulamaları Kaldır", "removeSelectedApps": "Seçilen Uygulamaları Kaldır",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Güncellemeler Kontrol Ediliyor", "checkingForUpdatesNotifChannel": "Güncellemeler Kontrol Ediliyor",
"onlyCheckInstalledOrTrackOnlyApps": "Yalnızca yüklü ve Yalnızca İzleme Uygulamalarını güncelleme", "onlyCheckInstalledOrTrackOnlyApps": "Yalnızca yüklü ve Yalnızca İzleme Uygulamalarını güncelleme",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "Uygulamayı Kaldır?", "one": "Uygulamayı Kaldır?",
"other": "Uygulamaları Kaldır?" "other": "Uygulamaları Kaldır?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "Chưa cài đặt", "notInstalled": "Chưa cài đặt",
"estimateInBrackets": "(Ước lượng)", "estimateInBrackets": "(Ước lượng)",
"selectAll": "Chọn tất cả", "selectAll": "Chọn tất cả",
"deselectN": "Bỏ chọn {}", "deselectX": "Bỏ chọn {}",
"xWillBeRemovedButRemainInstalled": "{} sẽ bị xóa khỏi Obtainium nhưng vẫn còn cài đặt trên thiết bị.", "xWillBeRemovedButRemainInstalled": "{} sẽ bị xóa khỏi Obtainium nhưng vẫn còn cài đặt trên thiết bị.",
"removeSelectedAppsQuestion": "Xóa ứng dụng đã chọn?", "removeSelectedAppsQuestion": "Xóa ứng dụng đã chọn?",
"removeSelectedApps": "Xóa ứng dụng đã chọn", "removeSelectedApps": "Xóa ứng dụng đã chọn",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "Đang kiểm tra cập nhật", "checkingForUpdatesNotifChannel": "Đang kiểm tra cập nhật",
"onlyCheckInstalledOrTrackOnlyApps": "Chỉ kiểm tra các ứng dụng đã cài đặt và Chỉ-Theo dõi để biết các bản cập nhật", "onlyCheckInstalledOrTrackOnlyApps": "Chỉ kiểm tra các ứng dụng đã cài đặt và Chỉ-Theo dõi để biết các bản cập nhật",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion":{ "removeAppQuestion":{
"one": "Gỡ ứng dụng?", "one": "Gỡ ứng dụng?",
"other": "Gỡ ứng dụng?" "other": "Gỡ ứng dụng?"

View File

@@ -55,7 +55,7 @@
"notInstalled": "未安装", "notInstalled": "未安装",
"estimateInBrackets": "(推测)", "estimateInBrackets": "(推测)",
"selectAll": "全选", "selectAll": "全选",
"deselectN": "取消选择 {}", "deselectX": "取消选择 {}",
"xWillBeRemovedButRemainInstalled": "{} 将从 Obtainium 中删除,但仍安装在您的设备中。", "xWillBeRemovedButRemainInstalled": "{} 将从 Obtainium 中删除,但仍安装在您的设备中。",
"removeSelectedAppsQuestion": "是否删除选中的应用?", "removeSelectedAppsQuestion": "是否删除选中的应用?",
"removeSelectedApps": "删除选中的应用", "removeSelectedApps": "删除选中的应用",
@@ -276,6 +276,7 @@
"checkingForUpdatesNotifChannel": "正在检查更新", "checkingForUpdatesNotifChannel": "正在检查更新",
"onlyCheckInstalledOrTrackOnlyApps": "只对已安装和“仅追踪”的应用进行更新检查", "onlyCheckInstalledOrTrackOnlyApps": "只对已安装和“仅追踪”的应用进行更新检查",
"fixedAPKURL": "APK URL is fixed", "fixedAPKURL": "APK URL is fixed",
"selectX": "Select {}",
"removeAppQuestion": { "removeAppQuestion": {
"one": "是否删除应用?", "one": "是否删除应用?",
"other": "是否删除应用?" "other": "是否删除应用?"

View File

@@ -269,6 +269,7 @@ class _AddAppPageState extends State<AddAppPage> {
context: context, context: context,
builder: (BuildContext ctx) { builder: (BuildContext ctx) {
return SelectionModal( return SelectionModal(
title: tr('selectX', args: [plural('source', 2)]),
entries: sourceStrings, entries: sourceStrings,
selectedByDefault: true, selectedByDefault: true,
onlyOneSelectionAllowed: false, onlyOneSelectionAllowed: false,
@@ -276,54 +277,56 @@ class _AddAppPageState extends State<AddAppPage> {
); );
}) ?? }) ??
[]; [];
var results = await Future.wait(sourceProvider.sources if (searchSources.isNotEmpty) {
.where((e) => searchSources.contains(e.name)) var results = await Future.wait(sourceProvider.sources
.map((e) async { .where((e) => searchSources.contains(e.name))
try { .map((e) async {
return await e.search(searchQuery); try {
} catch (err) { return await e.search(searchQuery);
if (err is! CredsNeededError) { } catch (err) {
rethrow; if (err is! CredsNeededError) {
} else { rethrow;
err.unexpected = true; } else {
showError(err, context); err.unexpected = true;
return <String, List<String>>{}; showError(err, context);
return <String, List<String>>{};
}
} }
} }));
}));
// .then((results) async { // .then((results) async {
// Interleave results instead of simple reduce // Interleave results instead of simple reduce
Map<String, List<String>> res = {}; Map<String, List<String>> res = {};
var si = 0; var si = 0;
var done = false; var done = false;
while (!done) { while (!done) {
done = true; done = true;
for (var r in results) { for (var r in results) {
if (r.length > si) { if (r.length > si) {
done = false; done = false;
res.addEntries([r.entries.elementAt(si)]); res.addEntries([r.entries.elementAt(si)]);
}
} }
si++;
}
if (res.isEmpty) {
throw ObtainiumError(tr('noResults'));
}
List<String>? selectedUrls = res.isEmpty
? []
// ignore: use_build_context_synchronously
: await showDialog<List<String>?>(
context: context,
builder: (BuildContext ctx) {
return SelectionModal(
entries: res,
selectedByDefault: false,
onlyOneSelectionAllowed: true,
);
});
if (selectedUrls != null && selectedUrls.isNotEmpty) {
changeUserInput(selectedUrls[0], true, false, isSearch: true);
} }
si++;
}
if (res.isEmpty) {
throw ObtainiumError(tr('noResults'));
}
List<String>? selectedUrls = res.isEmpty
? []
// ignore: use_build_context_synchronously
: await showDialog<List<String>?>(
context: context,
builder: (BuildContext ctx) {
return SelectionModal(
entries: res,
selectedByDefault: false,
onlyOneSelectionAllowed: true,
);
});
if (selectedUrls != null && selectedUrls.isNotEmpty) {
changeUserInput(selectedUrls[0], true, false, isSearch: true);
} }
} catch (e) { } catch (e) {
showError(e, context); showError(e, context);

View File

@@ -428,6 +428,11 @@ class _ImportExportPageState extends State<ImportExportPage> {
(BuildContext (BuildContext
ctx) { ctx) {
return SelectionModal( return SelectionModal(
title: tr(
'selectX',
args: [
tr('source')
]),
entries: entries:
sourceStrings, sourceStrings,
selectedByDefault: selectedByDefault:
@@ -565,8 +570,10 @@ class SelectionModal extends StatefulWidget {
required this.entries, required this.entries,
this.selectedByDefault = true, this.selectedByDefault = true,
this.onlyOneSelectionAllowed = false, this.onlyOneSelectionAllowed = false,
this.titlesAreLinks = true}); this.titlesAreLinks = true,
this.title});
String? title;
Map<String, List<String>> entries; Map<String, List<String>> entries;
bool selectedByDefault; bool selectedByDefault;
bool onlyOneSelectionAllowed; bool onlyOneSelectionAllowed;
@@ -600,7 +607,7 @@ class _SelectionModalState extends State<SelectionModal> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AlertDialog( return AlertDialog(
scrollable: true, scrollable: true,
title: Text(tr('select')), title: Text(widget.title ?? tr('pick')),
content: Column(children: [ content: Column(children: [
...entrySelections.keys.map((entry) { ...entrySelections.keys.map((entry) {
selectThis(bool? value) { selectThis(bool? value) {
@@ -701,8 +708,8 @@ class _SelectionModalState extends State<SelectionModal> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
SizedBox( const SizedBox(
height: entry.value.length <= 1 ? 16 : 8, height: 8,
), ),
GestureDetector( GestureDetector(
onTap: widget.titlesAreLinks onTap: widget.titlesAreLinks
@@ -720,11 +727,9 @@ class _SelectionModalState extends State<SelectionModal> {
}, },
child: descriptionText, child: descriptionText,
), ),
entry.value.length <= 1 const SizedBox(
? const SizedBox.shrink() height: 8,
: const SizedBox( )
height: 8,
)
], ],
)) ))
]); ]);
@@ -751,8 +756,8 @@ class _SelectionModalState extends State<SelectionModal> {
}, },
child: Text(widget.onlyOneSelectionAllowed child: Text(widget.onlyOneSelectionAllowed
? tr('pick') ? tr('pick')
: tr('importX', args: [ : tr('selectX', args: [
plural('url', entrySelections.values.where((b) => b).length) entrySelections.values.where((b) => b).length.toString()
]))) ])))
], ],
); );