mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-08-11 01:20:16 +02:00
Internationalized more strings
Added ZH to supported language codes Increment version
This commit is contained in:
@@ -171,6 +171,15 @@
|
|||||||
"trackOnly": "Track-Only",
|
"trackOnly": "Track-Only",
|
||||||
"errorWithHttpStatusCode": "Error {}",
|
"errorWithHttpStatusCode": "Error {}",
|
||||||
"versionCorrectionDisabled": "Version correction disabled (plugin doesn't seem to work)",
|
"versionCorrectionDisabled": "Version correction disabled (plugin doesn't seem to work)",
|
||||||
|
"unknown": "Unknown",
|
||||||
|
"none": "None",
|
||||||
|
"never": "Never",
|
||||||
|
"latestVersionX": "Latest Version: {}",
|
||||||
|
"installedVersionX": "Installed Version: {}",
|
||||||
|
"lastUpdateCheckX": "Last Update Check: {}",
|
||||||
|
"remove": "Remove",
|
||||||
|
"removeAppQuestion": "Remove App?",
|
||||||
|
"yesMarkUpdated": "'Yes, Mark as Updated",
|
||||||
"tooManyRequestsTryAgainInMinutes": {
|
"tooManyRequestsTryAgainInMinutes": {
|
||||||
"one": "Too many requests (rate limited) - try again in {} minute",
|
"one": "Too many requests (rate limited) - try again in {} minute",
|
||||||
"other": "Too many requests (rate limited) - try again in {} minutes"
|
"other": "Too many requests (rate limited) - try again in {} minutes"
|
||||||
|
@@ -42,6 +42,7 @@
|
|||||||
"trackOnlyAppDescription": "The App will be tracked for updates, but Obtainium will not be able to download or install it.",
|
"trackOnlyAppDescription": "The App will be tracked for updates, but Obtainium will not be able to download or install it.",
|
||||||
"cancelled": "已取消",
|
"cancelled": "已取消",
|
||||||
"appAlreadyAdded": "此应用程序已被添加",
|
"appAlreadyAdded": "此应用程序已被添加",
|
||||||
|
"alreadyUpToDateQuestion": "App Already up to Date?",
|
||||||
"addApp": "添加应用",
|
"addApp": "添加应用",
|
||||||
"appSourceURL": "应用来源 URL",
|
"appSourceURL": "应用来源 URL",
|
||||||
"error": "错误",
|
"error": "错误",
|
||||||
@@ -169,6 +170,16 @@
|
|||||||
"pleaseAllowInstallPerm": "请允许 Obtainium 安装应用程序",
|
"pleaseAllowInstallPerm": "请允许 Obtainium 安装应用程序",
|
||||||
"trackOnly": "仅追踪",
|
"trackOnly": "仅追踪",
|
||||||
"errorWithHttpStatusCode": "错误 {}",
|
"errorWithHttpStatusCode": "错误 {}",
|
||||||
|
"versionCorrectionDisabled": "Version correction disabled (plugin doesn't seem to work)",
|
||||||
|
"unknown": "Unknown",
|
||||||
|
"none": "None",
|
||||||
|
"never": "Never",
|
||||||
|
"latestVersionX": "Latest Version: {}",
|
||||||
|
"installedVersionX": "Installed Version: {}",
|
||||||
|
"lastUpdateCheckX": "Last Update Check: {}",
|
||||||
|
"remove": "Remove",
|
||||||
|
"removeAppQuestion": "Remove App?",
|
||||||
|
"yesMarkUpdated": "'Yes, Mark as Updated",
|
||||||
"tooManyRequestsTryAgainInMinutes": {
|
"tooManyRequestsTryAgainInMinutes": {
|
||||||
"one": "请求过多 (API 限制) - 在 {} 分钟后重试",
|
"one": "请求过多 (API 限制) - 在 {} 分钟后重试",
|
||||||
"other": "请求过多 (API 限制) - 在 {} 分钟后重试"
|
"other": "请求过多 (API 限制) - 在 {} 分钟后重试"
|
||||||
|
@@ -21,13 +21,13 @@ import 'package:easy_localization/src/easy_localization_controller.dart';
|
|||||||
// ignore: implementation_imports
|
// ignore: implementation_imports
|
||||||
import 'package:easy_localization/src/localization.dart';
|
import 'package:easy_localization/src/localization.dart';
|
||||||
|
|
||||||
const String currentVersion = '0.8.10';
|
const String currentVersion = '0.8.11';
|
||||||
const String currentReleaseTag =
|
const String currentReleaseTag =
|
||||||
'v$currentVersion-beta'; // KEEP THIS IN SYNC WITH GITHUB RELEASES
|
'v$currentVersion-beta'; // KEEP THIS IN SYNC WITH GITHUB RELEASES
|
||||||
|
|
||||||
const int bgUpdateCheckAlarmId = 666;
|
const int bgUpdateCheckAlarmId = 666;
|
||||||
|
|
||||||
const supportedLocales = [Locale('en')];
|
const supportedLocales = [Locale('en'), Locale('zh')];
|
||||||
const fallbackLocale = Locale('en');
|
const fallbackLocale = Locale('en');
|
||||||
const localeDir = 'assets/translations';
|
const localeDir = 'assets/translations';
|
||||||
|
|
||||||
|
@@ -76,7 +76,7 @@ class _AppPageState extends State<AppPage> {
|
|||||||
style: Theme.of(context).textTheme.displayLarge,
|
style: Theme.of(context).textTheme.displayLarge,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'By ${app?.app.author ?? 'Unknown'}',
|
tr('byX', args: [app?.app.author ?? tr('unknown')]),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: Theme.of(context).textTheme.headlineMedium,
|
style: Theme.of(context).textTheme.headlineMedium,
|
||||||
),
|
),
|
||||||
@@ -102,12 +102,17 @@ class _AppPageState extends State<AppPage> {
|
|||||||
height: 32,
|
height: 32,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'Latest Version: ${app?.app.latestVersion ?? 'Unknown'}',
|
tr('latestVersionX',
|
||||||
|
args: [app?.app.latestVersion ?? tr('unknown')]),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: Theme.of(context).textTheme.bodyLarge,
|
style: Theme.of(context).textTheme.bodyLarge,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'Installed Version: ${app?.app.installedVersion ?? 'None'}${app?.app.trackOnly == true ? ' (Estimate)\n\nApp is Track-Only' : ''}',
|
'${tr('installedVersionX', args: [
|
||||||
|
app?.app.installedVersion ?? tr('none')
|
||||||
|
])}${app?.app.trackOnly == true ? ' ${tr('estimateInBrackets')}\n\n${tr('xIsTrackOnly', args: [
|
||||||
|
tr('app')
|
||||||
|
])}' : ''}',
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: Theme.of(context).textTheme.bodyLarge,
|
style: Theme.of(context).textTheme.bodyLarge,
|
||||||
),
|
),
|
||||||
@@ -115,7 +120,11 @@ class _AppPageState extends State<AppPage> {
|
|||||||
height: 32,
|
height: 32,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'Last Update Check: ${app?.app.lastUpdateCheck == null ? 'Never' : '\n${app?.app.lastUpdateCheck?.toLocal()}'}',
|
tr('lastUpdateCheckX', args: [
|
||||||
|
app?.app.lastUpdateCheck == null
|
||||||
|
? tr('never')
|
||||||
|
: '\n${app?.app.lastUpdateCheck?.toLocal()}'
|
||||||
|
]),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontStyle: FontStyle.italic, fontSize: 12),
|
fontStyle: FontStyle.italic, fontSize: 12),
|
||||||
@@ -166,7 +175,7 @@ class _AppPageState extends State<AppPage> {
|
|||||||
Navigator.of(context)
|
Navigator.of(context)
|
||||||
.pop();
|
.pop();
|
||||||
},
|
},
|
||||||
child: const Text('No')),
|
child: Text(tr('no'))),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
HapticFeedback
|
HapticFeedback
|
||||||
@@ -183,8 +192,8 @@ class _AppPageState extends State<AppPage> {
|
|||||||
Navigator.of(context)
|
Navigator.of(context)
|
||||||
.pop();
|
.pop();
|
||||||
},
|
},
|
||||||
child: const Text(
|
child: Text(
|
||||||
'Yes, Mark as Updated'))
|
tr('yesMarkUpdated')))
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@@ -267,9 +276,14 @@ class _AppPageState extends State<AppPage> {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext ctx) {
|
builder: (BuildContext ctx) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: const Text('Remove App?'),
|
title: Text(tr('removeAppQuestion')),
|
||||||
content: Text(
|
content: Text(tr(
|
||||||
'This will remove \'${app?.installedInfo?.name ?? app?.app.name}\' from Obtainium.${app?.app.installedVersion != null ? '\n\nNote that while Obtainium will no longer track its updates, the App will remain installed.' : ''}'),
|
'xWillBeRemovedButRemainInstalled',
|
||||||
|
args: [
|
||||||
|
app?.installedInfo?.name ??
|
||||||
|
app?.app.name ??
|
||||||
|
tr('app')
|
||||||
|
])),
|
||||||
actions: [
|
actions: [
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
@@ -283,12 +297,12 @@ class _AppPageState extends State<AppPage> {
|
|||||||
count++ >= 2);
|
count++ >= 2);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
child: const Text('Remove')),
|
child: Text(tr('remove'))),
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
child: const Text('Cancel'))
|
child: Text(tr('cancel')))
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@@ -298,7 +312,7 @@ class _AppPageState extends State<AppPage> {
|
|||||||
Theme.of(context).colorScheme.error,
|
Theme.of(context).colorScheme.error,
|
||||||
surfaceTintColor:
|
surfaceTintColor:
|
||||||
Theme.of(context).colorScheme.error),
|
Theme.of(context).colorScheme.error),
|
||||||
child: const Text('Remove'),
|
child: Text(tr('remove')),
|
||||||
),
|
),
|
||||||
])),
|
])),
|
||||||
if (app?.downloadProgress != null)
|
if (app?.downloadProgress != null)
|
||||||
|
@@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
# In Windows, build-name is used as the major, minor, and patch parts
|
# In Windows, build-name is used as the major, minor, and patch parts
|
||||||
# of the product and file versions while build-number is used as the build suffix.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 0.8.10+74 # When changing this, update the tag in main() accordingly
|
version: 0.8.11+75 # When changing this, update the tag in main() accordingly
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=2.18.2 <3.0.0'
|
sdk: '>=2.18.2 <3.0.0'
|
||||||
|
Reference in New Issue
Block a user