From 3e73156f78be5e59e6589c6ec1958e268b253571 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 1 Aug 2025 17:59:15 -0400 Subject: [PATCH] Minor language-specific case tweaks (#2396) --- lib/custom_errors.dart | 5 +++-- lib/pages/app.dart | 5 ++++- lib/pages/apps.dart | 5 ++++- lib/pages/import_export.dart | 2 +- lib/providers/apps_provider.dart | 2 +- lib/providers/source_provider.dart | 3 +++ 6 files changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/custom_errors.dart b/lib/custom_errors.dart index 4f06df5..83d200a 100644 --- a/lib/custom_errors.dart +++ b/lib/custom_errors.dart @@ -5,6 +5,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:obtainium/providers/logs_provider.dart'; +import 'package:obtainium/providers/source_provider.dart'; import 'package:provider/provider.dart'; class ObtainiumError { @@ -158,7 +159,7 @@ void showError(dynamic e, BuildContext context) { } String list2FriendlyString(List list) { - var isEnglish = tr('and') == 'and'; // Quick hack, find better way; + var isUsingEnglish = isEnglish(); return list.length == 2 ? '${list[0]} ${tr('and')} ${list[1]}' : list @@ -170,7 +171,7 @@ String list2FriendlyString(List list) { (e.key == list.length - 1 ? '' : e.key == list.length - 2 - ? '${isEnglish ? ',' : ''} and ' + ? '${isUsingEnglish ? ',' : ''} and ' : ', '), ) .join(''); diff --git a/lib/pages/app.dart b/lib/pages/app.dart index 1aee32c..f67884e 100644 --- a/lib/pages/app.dart +++ b/lib/pages/app.dart @@ -232,7 +232,10 @@ class _AppPageState extends State { : const EdgeInsetsDirectional.fromSTEB(0, 6, 0, 6), margin: const EdgeInsetsDirectional.fromSTEB(0, 6, 0, 0), child: Text( - tr('downloadX', args: [tr('releaseAsset').toLowerCase()]), + tr( + 'downloadX', + args: [lowerCaseIfEnglish(tr('releaseAsset'))], + ), textAlign: TextAlign.center, style: Theme.of(context).textTheme.labelSmall!.copyWith( decoration: TextDecoration.underline, diff --git a/lib/pages/apps.dart b/lib/pages/apps.dart index 73dce64..3cbf7e6 100644 --- a/lib/pages/apps.dart +++ b/lib/pages/apps.dart @@ -1072,7 +1072,10 @@ class AppsPageState extends State { Navigator.of(context).pop(); }, child: Text( - tr('downloadX', args: [tr('releaseAsset').toLowerCase()]), + tr( + 'downloadX', + args: [lowerCaseIfEnglish(tr('releaseAsset'))], + ), ), ), const Divider(), diff --git a/lib/pages/import_export.dart b/lib/pages/import_export.dart index ba0c663..1b6d6da 100644 --- a/lib/pages/import_export.dart +++ b/lib/pages/import_export.dart @@ -545,7 +545,7 @@ class _ImportExportPageState extends State { child: Text( tr( 'searchX', - args: [tr('source').toLowerCase()], + args: [lowerCaseIfEnglish(tr('source'))], ), ), ), diff --git a/lib/providers/apps_provider.dart b/lib/providers/apps_provider.dart index 61801a5..c10d401 100644 --- a/lib/providers/apps_provider.dart +++ b/lib/providers/apps_provider.dart @@ -2164,7 +2164,7 @@ class _AppFilePickerState extends State { scrollable: true, title: Text( widget.pickAnyAsset - ? tr('selectX', args: [tr('releaseAsset').toLowerCase()]) + ? tr('selectX', args: [lowerCaseIfEnglish(tr('releaseAsset'))]) : tr('pickAnAPK'), ), content: Column( diff --git a/lib/providers/source_provider.dart b/lib/providers/source_provider.dart index d9c1b69..54dcab9 100644 --- a/lib/providers/source_provider.dart +++ b/lib/providers/source_provider.dart @@ -1052,6 +1052,9 @@ List> filterApks( return apkUrls; } +bool isEnglish() => tr('and') == 'and'; // Quick hack, find a better way +String lowerCaseIfEnglish(String str) => isEnglish() ? str.toLowerCase() : str; + bool isVersionPseudo(App app) => app.additionalSettings['trackOnly'] == true || (app.installedVersion != null &&