From fd8f967036a5e7c0b9f41ef32142535f3864aa32 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 1 Mar 2024 20:18:07 -0500 Subject: [PATCH] Show latest APK name/count on app page (#1426) --- assets/translations/bs.json | 5 ++++- assets/translations/cs.json | 5 ++++- assets/translations/de.json | 5 ++++- assets/translations/en.json | 4 ++++ assets/translations/es.json | 5 ++++- assets/translations/fa.json | 5 ++++- assets/translations/fr.json | 5 ++++- assets/translations/hu.json | 5 ++++- assets/translations/it.json | 5 ++++- assets/translations/ja.json | 5 ++++- assets/translations/nl.json | 5 ++++- assets/translations/pl.json | 5 ++++- assets/translations/pt.json | 5 ++++- assets/translations/ru.json | 5 ++++- assets/translations/standardize.js | 7 +++---- assets/translations/sv.json | 5 ++++- assets/translations/tr.json | 5 ++++- assets/translations/vi.json | 4 ++++ assets/translations/zh.json | 5 ++++- lib/pages/app.dart | 4 ++++ 20 files changed, 79 insertions(+), 20 deletions(-) diff --git a/assets/translations/bs.json b/assets/translations/bs.json index 12f5336..044fbd2 100644 --- a/assets/translations/bs.json +++ b/assets/translations/bs.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Uklonite zastarjeli filter aplikacija", "showOutdatedOnly": "Prikaži samo zastarjele aplikacije", "filter": "Filtriranje", - "filterActive": "Filtriranje", "filterApps": "Filtriraj aplikacije", "appName": "Naziv aplikacije", "author": "Autor", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} i još jedna aplikacija je vjerovatno ažurirana.", "other": "{} i još {} aplikacija su vjerovatno ažurirane." + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } diff --git a/assets/translations/cs.json b/assets/translations/cs.json index 1f1003b..aa061bb 100644 --- a/assets/translations/cs.json +++ b/assets/translations/cs.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Odstranit filtr Neaktuální", "showOutdatedOnly": "Zobrazovat pouze zastaralé aplikace", "filter": "Filtr", - "filterActive": "Filtr *", "filterApps": "Filtrovat aplikace", "appName": "Název aplikace", "author": "Autor", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} a 1 další aplikace možno aktualizovat", "other": "{} a {} další aplikace mohou být aktualizovány." + }, + "apk": { + "one": "{} APK", + "other": "{} APK" } } diff --git a/assets/translations/de.json b/assets/translations/de.json index dcbf094..cc41601 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "App-Filter ‚Nicht aktuell‘ entfernen", "showOutdatedOnly": "Nur nicht aktuelle Apps anzeigen", "filter": "Filter", - "filterActive": "Filter *", "filterApps": "Apps filtern", "appName": "App Name", "author": "Autor", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} und 1 weitere Anwendung wurden möglicherweise aktualisiert.", "other": "{} und {} weitere Anwendungen wurden möglicherweise aktualisiert." + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } diff --git a/assets/translations/en.json b/assets/translations/en.json index fbc3b5f..df464bd 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -351,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} and 1 more app may have been updated.", "other": "{} and {} more apps may have been updated." + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } \ No newline at end of file diff --git a/assets/translations/es.json b/assets/translations/es.json index a12abc4..da5cbd2 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Elimiar filtro de aplicaciones desactualizado", "showOutdatedOnly": "Mostrar solo aplicaciones desactualizadas", "filter": "Filtrar", - "filterActive": "Filtrar *", "filterApps": "Filtrar Actualizaciones", "appName": "Nombre de la aplicación", "author": "Autor", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} y 1 aplicación más podría haber sido actualizada.", "other": "{} y {} aplicaciones más podrían haber sido actualizadas." + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } diff --git a/assets/translations/fa.json b/assets/translations/fa.json index 4635928..eb9124f 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "فیلتر برنامه قدیمی را حذف کنید", "showOutdatedOnly": "فقط برنامه های قدیمی را نشان دهید", "filter": "فیلتر", - "filterActive": "فیلتر *", "filterApps": "فیلتر کردن برنامه ها", "appName": "نام برنامه", "author": "سازنده", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} و 1 برنامه دیگر ممکن است به روز شده باشند.", "other": "ممکن است {} و {} برنامه های دیگر به روز شده باشند." + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } diff --git a/assets/translations/fr.json b/assets/translations/fr.json index 06ff757..f0fcc43 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Supprimer le filtre d'application obsolète", "showOutdatedOnly": "Afficher uniquement les applications obsolètes", "filter": "Filtre", - "filterActive": "Filtre *", "filterApps": "Filtrer les applications", "appName": "Nom de l'application", "author": "Auteur", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "une": "{} et 1 application supplémentaire ont peut-être été mises à jour.", "other": "{} et {} autres applications peuvent avoir été mises à jour." + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } diff --git a/assets/translations/hu.json b/assets/translations/hu.json index e61741f..2a99639 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Távolítsa el az elavult app szűrőt", "showOutdatedOnly": "Csak az elavult appok megjelenítése", "filter": "Szűrő", - "filterActive": "Szűrő *", "filterApps": "Appok szűrése", "appName": "App név", "author": "Szerző", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} és 1 további alkalmazás is frissült.", "other": "{} és {} további alkalmazás is frissült." + }, + "apk": { + "one": "{} APK", + "other": "{} APK-k" } } diff --git a/assets/translations/it.json b/assets/translations/it.json index d0d62e9..eae443a 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Rimuovi il filtro per le app non aggiornate", "showOutdatedOnly": "Mostra solo le app non aggiornate", "filter": "Filtri", - "filterActive": "Filtri *", "filterApps": "Filtra app", "appName": "Nome dell'app", "author": "Autore", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} e un'altra app potrebbero essere state aggiornate.", "other": "{} e altre {} app potrebbero essere state aggiornate." + }, + "apk": { + "one": "{} APK", + "other": "{} APK" } } diff --git a/assets/translations/ja.json b/assets/translations/ja.json index 352dfad..9694ea9 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "アップデートが存在するアプリのフィルターを解除", "showOutdatedOnly": "アップデートが存在するアプリのみ表示する", "filter": "フィルター", - "filterActive": "フィルター *", "filterApps": "アプリをフィルタリングする", "appName": "アプリ名", "author": "作者", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} とさらに 1 個のアプリがアップデートされた可能性があります。", "other": "{} とさらに {} 個のアプリがアップデートされた可能性があります。" + }, + "apk": { + "one": "{}APK", + "other": "{}APK" } } diff --git a/assets/translations/nl.json b/assets/translations/nl.json index b9d73af..ca29402 100644 --- a/assets/translations/nl.json +++ b/assets/translations/nl.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Verwijder out-of-date app filter", "showOutdatedOnly": "Toon alleen out-of-date apps", "filter": "Filter", - "filterActive": "Filteren *", "filterApps": "Filter apps", "appName": "App naam", "author": "Auteur", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} en nog 1 app zijn mogelijk bijgewerkt.", "other": "{} en {} meer apps zijn mogelijk bijgwerkt." + }, + "apk": { + "one": "{} APK", + "other": "{} APK's" } } diff --git a/assets/translations/pl.json b/assets/translations/pl.json index b8e1d60..983ab0b 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Usuń filtr nieaktualnych aplikacji", "showOutdatedOnly": "Pokaż tylko nieaktualne aplikacje", "filter": "FIltr", - "filterActive": "Filtruj *", "filterApps": "Filtruj aplikacje", "appName": "Nazwa aplikacji", "author": "Autor", @@ -378,5 +377,9 @@ "few": "{} i {} inne apki mogły zostać zaktualizowane.", "many": "{} i {} innych apek mogło zostać zaktualizowanych.", "other": "{} i {} inne apki mogły zostać zaktualizowane." + }, + "apk": { + "one": "{} APK", + "other": "{} APK" } } diff --git a/assets/translations/pt.json b/assets/translations/pt.json index d264842..8f9558b 100644 --- a/assets/translations/pt.json +++ b/assets/translations/pt.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Remover filtro de aplicativos desatualizados", "showOutdatedOnly": "Mostrar apenas aplicativos desatualizados", "filter": "Filtro", - "filterActive": "Filtro *", "filterApps": "Filtrar aplicativos", "appName": "Nome do aplicativo", "author": "Autor", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} e um outro aplicativo podem ter sido atualizados.", "other": "{} e {} outros aplicativos podem ter sido atualizados." + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 654d484..3b7c7d6 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Удалить фильтр для устаревших приложений", "showOutdatedOnly": "Показывать только устаревшие приложения", "filter": "Фильтр", - "filterActive": "Фильтр *", "filterApps": "Фильтровать приложения", "appName": "Название приложения", "author": "Автор", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} и ещё 1 приложение могли быть обновлены", "other": "{} и ещё {} приложений могли быть обновлены" + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } diff --git a/assets/translations/standardize.js b/assets/translations/standardize.js index a1188e3..f852654 100644 --- a/assets/translations/standardize.js +++ b/assets/translations/standardize.js @@ -58,11 +58,10 @@ const main = async () => { return `${translationsDir}/${f}` }).filter(f => f.endsWith('.json') && f != templateFile) - const templateTranslation = require(templateFile) - + const templateTranslation = JSON.parse(fs.readFileSync(templateFile).toString()) otherFiles.forEach(file => { - const thisTranslationOriginal = require(file) + const thisTranslationOriginal = JSON.parse(fs.readFileSync((file).toString())) const thisTranslationNew = {} Object.keys(templateTranslation).forEach(k => { thisTranslationNew[k] = thisTranslationOriginal[k] || templateTranslation[k] @@ -72,7 +71,7 @@ const main = async () => { for (let i in otherFiles) { const file = otherFiles[i] - const thisTranslation = require(file) + const thisTranslation = JSON.parse(fs.readFileSync((file).toString())) const translationKeys = Object.keys(templateTranslation) for (let j in translationKeys) { const k = translationKeys[j] diff --git a/assets/translations/sv.json b/assets/translations/sv.json index 966580a..cd6efc6 100644 --- a/assets/translations/sv.json +++ b/assets/translations/sv.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Ta bort Utgånga App-filtret", "showOutdatedOnly": "Visa Endast Utgånga Appar", "filter": "Filtrera", - "filterActive": "Filter *", "filterApps": "Filtrera Appar", "appName": "Appnamn", "author": "Utvecklare", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} och 1 till app kan ha uppdaterats.", "other": "{} och {} appar till kan ha uppdaterats." + }, + "apk": { + "one": "{} APK", + "other": "{} APK:er" } } diff --git a/assets/translations/tr.json b/assets/translations/tr.json index 6584b25..526af9d 100644 --- a/assets/translations/tr.json +++ b/assets/translations/tr.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "Güncel Olmayan Uygulama Filtresini Kaldır", "showOutdatedOnly": "Yalnızca Güncel Olmayan Uygulamaları Göster", "filter": "Filtre", - "filterActive": "Filtre *", "filterApps": "Uygulamaları Filtrele", "appName": "Uygulama Adı", "author": "Yazar", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} ve 1 diğer uygulama muhtemelen güncellendi.", "other": "{} ve {} daha fazla uygulama muhtemelen güncellendi." + }, + "apk": { + "one": "{} APK", + "other": "{} APK'lar" } } diff --git a/assets/translations/vi.json b/assets/translations/vi.json index e03d66e..a89ea7d 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -351,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} và 1 ứng dụng khác có thể đã được cập nhật.", "other": "{} và {} ứng dụng khác có thể đã được cập nhật." + }, + "apk": { + "one": "{} APK", + "other": "{} APKs" } } diff --git a/assets/translations/zh.json b/assets/translations/zh.json index 87f0bde..9ebe167 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -80,7 +80,6 @@ "removeOutdatedFilter": "删除失效的应用筛选", "showOutdatedOnly": "只显示待更新应用", "filter": "筛选", - "filterActive": "筛选 *", "filterApps": "筛选应用", "appName": "应用名称", "author": "作者", @@ -352,5 +351,9 @@ "xAndNMoreUpdatesPossiblyInstalled": { "one": "{} 和另外 1 个应用已尝试更新。", "other": "“{}”和另外 {} 个应用已尝试更新。" + }, + "apk": { + "one": "{}APK", + "other": "{}APK" } } diff --git a/lib/pages/app.dart b/lib/pages/app.dart index d7a4e67..cbccc9c 100644 --- a/lib/pages/app.dart +++ b/lib/pages/app.dart @@ -104,6 +104,10 @@ class _AppPageState extends State { if (installedVersionIsEstimate) { infoLines = '${tr('pseudoVersionInUse')}\n$infoLines'; } + if ((app?.app.apkUrls.length ?? 0) > 0) { + infoLines = + '$infoLines\n${app?.app.apkUrls.length == 1 ? app?.app.apkUrls[0].key : plural('apk', app?.app.apkUrls.length ?? 0)}'; + } return Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch,