Minor language-specific case tweaks (#2396)

This commit is contained in:
Imran Remtulla
2025-08-01 17:59:15 -04:00
parent 89d853a948
commit 3e73156f78
6 changed files with 16 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:obtainium/providers/logs_provider.dart'; import 'package:obtainium/providers/logs_provider.dart';
import 'package:obtainium/providers/source_provider.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class ObtainiumError { class ObtainiumError {
@@ -158,7 +159,7 @@ void showError(dynamic e, BuildContext context) {
} }
String list2FriendlyString(List<String> list) { String list2FriendlyString(List<String> list) {
var isEnglish = tr('and') == 'and'; // Quick hack, find better way; var isUsingEnglish = isEnglish();
return list.length == 2 return list.length == 2
? '${list[0]} ${tr('and')} ${list[1]}' ? '${list[0]} ${tr('and')} ${list[1]}'
: list : list
@@ -170,7 +171,7 @@ String list2FriendlyString(List<String> list) {
(e.key == list.length - 1 (e.key == list.length - 1
? '' ? ''
: e.key == list.length - 2 : e.key == list.length - 2
? '${isEnglish ? ',' : ''} and ' ? '${isUsingEnglish ? ',' : ''} and '
: ', '), : ', '),
) )
.join(''); .join('');

View File

@@ -232,7 +232,10 @@ class _AppPageState extends State<AppPage> {
: const EdgeInsetsDirectional.fromSTEB(0, 6, 0, 6), : const EdgeInsetsDirectional.fromSTEB(0, 6, 0, 6),
margin: const EdgeInsetsDirectional.fromSTEB(0, 6, 0, 0), margin: const EdgeInsetsDirectional.fromSTEB(0, 6, 0, 0),
child: Text( child: Text(
tr('downloadX', args: [tr('releaseAsset').toLowerCase()]), tr(
'downloadX',
args: [lowerCaseIfEnglish(tr('releaseAsset'))],
),
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: Theme.of(context).textTheme.labelSmall!.copyWith( style: Theme.of(context).textTheme.labelSmall!.copyWith(
decoration: TextDecoration.underline, decoration: TextDecoration.underline,

View File

@@ -1072,7 +1072,10 @@ class AppsPageState extends State<AppsPage> {
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
child: Text( child: Text(
tr('downloadX', args: [tr('releaseAsset').toLowerCase()]), tr(
'downloadX',
args: [lowerCaseIfEnglish(tr('releaseAsset'))],
),
), ),
), ),
const Divider(), const Divider(),

View File

@@ -545,7 +545,7 @@ class _ImportExportPageState extends State<ImportExportPage> {
child: Text( child: Text(
tr( tr(
'searchX', 'searchX',
args: [tr('source').toLowerCase()], args: [lowerCaseIfEnglish(tr('source'))],
), ),
), ),
), ),

View File

@@ -2164,7 +2164,7 @@ class _AppFilePickerState extends State<AppFilePicker> {
scrollable: true, scrollable: true,
title: Text( title: Text(
widget.pickAnyAsset widget.pickAnyAsset
? tr('selectX', args: [tr('releaseAsset').toLowerCase()]) ? tr('selectX', args: [lowerCaseIfEnglish(tr('releaseAsset'))])
: tr('pickAnAPK'), : tr('pickAnAPK'),
), ),
content: Column( content: Column(

View File

@@ -1052,6 +1052,9 @@ List<MapEntry<String, String>> filterApks(
return apkUrls; 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) => bool isVersionPseudo(App app) =>
app.additionalSettings['trackOnly'] == true || app.additionalSettings['trackOnly'] == true ||
(app.installedVersion != null && (app.installedVersion != null &&