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/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<String> 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<String> list) {
(e.key == list.length - 1
? ''
: e.key == list.length - 2
? '${isEnglish ? ',' : ''} and '
? '${isUsingEnglish ? ',' : ''} and '
: ', '),
)
.join('');

View File

@@ -232,7 +232,10 @@ class _AppPageState extends State<AppPage> {
: 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,

View File

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

View File

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

View File

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

View File

@@ -1052,6 +1052,9 @@ List<MapEntry<String, String>> 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 &&