l10n: extract AppUpdateDialog strings

This commit is contained in:
Neeraj Gupta 2023-04-06 10:12:07 +05:30
parent bed799128a
commit c196d6ca67
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1
5 changed files with 261 additions and 31 deletions

View file

@ -98,7 +98,10 @@ class MessageLookup extends MessageLookupByLibrary {
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"aNewVersionOfEnteIsAvailable": MessageLookupByLibrary.simpleMessage(
"A new version of ente is available."),
"about": MessageLookupByLibrary.simpleMessage("About"),
"account": MessageLookupByLibrary.simpleMessage("Account"),
"accountWelcomeBack":
MessageLookupByLibrary.simpleMessage("Welcome back!"),
"ackPasswordLostWarningPart1": MessageLookupByLibrary.simpleMessage(
@ -134,8 +137,16 @@ class MessageLookup extends MessageLookupByLibrary {
"apply": MessageLookupByLibrary.simpleMessage("Apply"),
"applyCodeTitle": MessageLookupByLibrary.simpleMessage("Apply code"),
"archive": MessageLookupByLibrary.simpleMessage("Archive"),
"areYouSureYouWantToLogout": MessageLookupByLibrary.simpleMessage(
"Are you sure you want to logout?"),
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
"What is the main reason you are deleting your account?"),
"authToChangeYourEmail": MessageLookupByLibrary.simpleMessage(
"Please authenticate to change your email"),
"authToChangeYourPassword": MessageLookupByLibrary.simpleMessage(
"Please authenticate to change your password"),
"authToInitiateAccountDeletion": MessageLookupByLibrary.simpleMessage(
"Please authenticate to initiate account deletion"),
"authToViewYourHiddenFiles": MessageLookupByLibrary.simpleMessage(
"Please authenticate to view your hidden files"),
"backupOverMobileData":
@ -150,6 +161,8 @@ class MessageLookup extends MessageLookupByLibrary {
"cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
"cannotAddMorePhotosAfterBecomingViewer": m0,
"changeEmail": MessageLookupByLibrary.simpleMessage("Change email"),
"changePassword":
MessageLookupByLibrary.simpleMessage("Change password"),
"changePasswordTitle":
MessageLookupByLibrary.simpleMessage("Change password"),
"changePermissions":
@ -206,6 +219,8 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Create public link"),
"creatingLink":
MessageLookupByLibrary.simpleMessage("Creating link..."),
"criticalUpdateAvailable":
MessageLookupByLibrary.simpleMessage("Critical update available"),
"custom": MessageLookupByLibrary.simpleMessage("Custom"),
"decrypting": MessageLookupByLibrary.simpleMessage("Decrypting..."),
"deleteAccount": MessageLookupByLibrary.simpleMessage("Delete account"),
@ -255,6 +270,7 @@ class MessageLookup extends MessageLookupByLibrary {
"disableLinkMessage": m2,
"doThisLater": MessageLookupByLibrary.simpleMessage("Do this later"),
"done": MessageLookupByLibrary.simpleMessage("Done"),
"downloading": MessageLookupByLibrary.simpleMessage("Downloading..."),
"dropSupportEmail": m3,
"eligible": MessageLookupByLibrary.simpleMessage("eligible"),
"email": MessageLookupByLibrary.simpleMessage("Email"),
@ -288,6 +304,8 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Enter your recovery key"),
"expiredLinkInfo": MessageLookupByLibrary.simpleMessage(
"This link has expired. Please select a new expiry time or disable link expiry."),
"exportYourData":
MessageLookupByLibrary.simpleMessage("Export your data"),
"failedToApplyCode":
MessageLookupByLibrary.simpleMessage("Failed to apply code"),
"failedToFetchReferralDetails": MessageLookupByLibrary.simpleMessage(
@ -320,6 +338,8 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Incorrect recovery key"),
"insecureDevice":
MessageLookupByLibrary.simpleMessage("Insecure device"),
"installManually":
MessageLookupByLibrary.simpleMessage("Install manually"),
"invalidEmailAddress":
MessageLookupByLibrary.simpleMessage("Invalid email address"),
"invalidKey": MessageLookupByLibrary.simpleMessage("Invalid key"),
@ -344,12 +364,15 @@ class MessageLookup extends MessageLookupByLibrary {
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("Never"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Lock"),
"logInLabel": MessageLookupByLibrary.simpleMessage("Log in"),
"logout": MessageLookupByLibrary.simpleMessage("Logout"),
"lostDevice": MessageLookupByLibrary.simpleMessage("Lost device?"),
"manage": MessageLookupByLibrary.simpleMessage("Manage"),
"manageDeviceStorage":
MessageLookupByLibrary.simpleMessage("Manage device storage"),
"manageLink": MessageLookupByLibrary.simpleMessage("Manage link"),
"manageParticipants": MessageLookupByLibrary.simpleMessage("Manage"),
"manageSubscription":
MessageLookupByLibrary.simpleMessage("Manage subscription"),
"maxDeviceLimitSpikeHandling": m8,
"memoryCount": m9,
"moderateStrength": MessageLookupByLibrary.simpleMessage("Moderate"),
@ -439,6 +462,7 @@ class MessageLookup extends MessageLookupByLibrary {
"resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
"resetPasswordTitle":
MessageLookupByLibrary.simpleMessage("Reset password"),
"retry": MessageLookupByLibrary.simpleMessage("Retry"),
"saveKey": MessageLookupByLibrary.simpleMessage("Save key"),
"saveYourRecoveryKeyIfYouHaventAlready":
MessageLookupByLibrary.simpleMessage(
@ -515,6 +539,8 @@ class MessageLookup extends MessageLookupByLibrary {
"termsOfService":
MessageLookupByLibrary.simpleMessage("terms of service"),
"termsOfServicesTitle": MessageLookupByLibrary.simpleMessage("Terms"),
"theDownloadCouldNotBeCompleted": MessageLookupByLibrary.simpleMessage(
"The download could not be completed"),
"theyAlsoGetXGb": m23,
"thisCanBeUsedToRecoverYourAccountIfYou":
MessageLookupByLibrary.simpleMessage(
@ -537,6 +563,9 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Two-factor setup"),
"uncategorized": MessageLookupByLibrary.simpleMessage("Uncategorized"),
"unselectAll": MessageLookupByLibrary.simpleMessage("Unselect all"),
"update": MessageLookupByLibrary.simpleMessage("Update"),
"updateAvailable":
MessageLookupByLibrary.simpleMessage("Update available"),
"updatingFolderSelection": MessageLookupByLibrary.simpleMessage(
"Updating folder selection..."),
"usableReferralStorageInfo": MessageLookupByLibrary.simpleMessage(
@ -565,6 +594,7 @@ class MessageLookup extends MessageLookupByLibrary {
"yesConvertToViewer":
MessageLookupByLibrary.simpleMessage("Yes, convert to viewer"),
"yesDelete": MessageLookupByLibrary.simpleMessage("Yes, delete"),
"yesLogout": MessageLookupByLibrary.simpleMessage("Yes, logout"),
"yesRemove": MessageLookupByLibrary.simpleMessage("Yes, remove"),
"you": MessageLookupByLibrary.simpleMessage("You"),
"youAreOnTheLatestVersion": MessageLookupByLibrary.simpleMessage(

View file

@ -3105,6 +3105,186 @@ class S {
args: [],
);
}
/// `Account`
String get account {
return Intl.message(
'Account',
name: 'account',
desc: '',
args: [],
);
}
/// `Manage subscription`
String get manageSubscription {
return Intl.message(
'Manage subscription',
name: 'manageSubscription',
desc: '',
args: [],
);
}
/// `Please authenticate to change your email`
String get authToChangeYourEmail {
return Intl.message(
'Please authenticate to change your email',
name: 'authToChangeYourEmail',
desc: '',
args: [],
);
}
/// `Change password`
String get changePassword {
return Intl.message(
'Change password',
name: 'changePassword',
desc: '',
args: [],
);
}
/// `Please authenticate to change your password`
String get authToChangeYourPassword {
return Intl.message(
'Please authenticate to change your password',
name: 'authToChangeYourPassword',
desc: '',
args: [],
);
}
/// `Export your data`
String get exportYourData {
return Intl.message(
'Export your data',
name: 'exportYourData',
desc: '',
args: [],
);
}
/// `Logout`
String get logout {
return Intl.message(
'Logout',
name: 'logout',
desc: '',
args: [],
);
}
/// `Please authenticate to initiate account deletion`
String get authToInitiateAccountDeletion {
return Intl.message(
'Please authenticate to initiate account deletion',
name: 'authToInitiateAccountDeletion',
desc: '',
args: [],
);
}
/// `Are you sure you want to logout?`
String get areYouSureYouWantToLogout {
return Intl.message(
'Are you sure you want to logout?',
name: 'areYouSureYouWantToLogout',
desc: '',
args: [],
);
}
/// `Yes, logout`
String get yesLogout {
return Intl.message(
'Yes, logout',
name: 'yesLogout',
desc: '',
args: [],
);
}
/// `A new version of ente is available.`
String get aNewVersionOfEnteIsAvailable {
return Intl.message(
'A new version of ente is available.',
name: 'aNewVersionOfEnteIsAvailable',
desc: '',
args: [],
);
}
/// `Update`
String get update {
return Intl.message(
'Update',
name: 'update',
desc: '',
args: [],
);
}
/// `Install manually`
String get installManually {
return Intl.message(
'Install manually',
name: 'installManually',
desc: '',
args: [],
);
}
/// `Critical update available`
String get criticalUpdateAvailable {
return Intl.message(
'Critical update available',
name: 'criticalUpdateAvailable',
desc: '',
args: [],
);
}
/// `Update available`
String get updateAvailable {
return Intl.message(
'Update available',
name: 'updateAvailable',
desc: '',
args: [],
);
}
/// `Downloading...`
String get downloading {
return Intl.message(
'Downloading...',
name: 'downloading',
desc: '',
args: [],
);
}
/// `The download could not be completed`
String get theDownloadCouldNotBeCompleted {
return Intl.message(
'The download could not be completed',
name: 'theDownloadCouldNotBeCompleted',
desc: '',
args: [],
);
}
/// `Retry`
String get retry {
return Intl.message(
'Retry',
name: 'retry',
desc: '',
args: [],
);
}
}
class AppLocalizationDelegate extends LocalizationsDelegate<S> {

View file

@ -445,5 +445,23 @@
"terms": "Terms",
"checkForUpdates": "Check for updates",
"checking": "Checking...",
"youAreOnTheLatestVersion": "You are on the latest version"
"youAreOnTheLatestVersion": "You are on the latest version",
"account": "Account",
"manageSubscription": "Manage subscription",
"authToChangeYourEmail": "Please authenticate to change your email",
"changePassword": "Change password",
"authToChangeYourPassword": "Please authenticate to change your password",
"exportYourData": "Export your data",
"logout": "Logout",
"authToInitiateAccountDeletion": "Please authenticate to initiate account deletion",
"areYouSureYouWantToLogout": "Are you sure you want to logout?",
"yesLogout": "Yes, logout",
"aNewVersionOfEnteIsAvailable": "A new version of ente is available.",
"update": "Update",
"installManually": "Install manually",
"criticalUpdateAvailable": "Critical update available",
"updateAvailable": "Update available",
"downloading": "Downloading...",
"theDownloadCouldNotBeCompleted": "The download could not be completed",
"retry": "Retry"
}

View file

@ -1,6 +1,7 @@
import 'dart:async';
import 'package:flutter/material.dart';
import "package:photos/generated/l10n.dart";
import 'package:photos/services/local_authentication_service.dart';
import 'package:photos/services/user_service.dart';
import 'package:photos/theme/ente_theme.dart';
@ -21,7 +22,7 @@ class AccountSectionWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ExpandableMenuItemWidget(
title: "Account",
title: S.of(context).account,
selectionOptionsWidget: _getSectionOptions(context),
leadingIcon: Icons.account_circle_outlined,
);
@ -32,8 +33,8 @@ class AccountSectionWidget extends StatelessWidget {
children: [
sectionOptionSpacing,
MenuItemWidget(
captionedTextWidget: const CaptionedTextWidget(
title: "Manage subscription",
captionedTextWidget: CaptionedTextWidget(
title: S.of(context).manageSubscription,
),
pressedColor: getEnteColorScheme(context).fillFaint,
trailingIcon: Icons.chevron_right_outlined,
@ -44,8 +45,8 @@ class AccountSectionWidget extends StatelessWidget {
),
sectionOptionSpacing,
MenuItemWidget(
captionedTextWidget: const CaptionedTextWidget(
title: "Change email",
captionedTextWidget: CaptionedTextWidget(
title: S.of(context).changeEmail,
),
pressedColor: getEnteColorScheme(context).fillFaint,
trailingIcon: Icons.chevron_right_outlined,
@ -55,7 +56,7 @@ class AccountSectionWidget extends StatelessWidget {
final hasAuthenticated = await LocalAuthenticationService.instance
.requestLocalAuthentication(
context,
"Please authenticate to change your email",
S.of(context).authToChangeYourEmail,
);
if (hasAuthenticated) {
showDialog(
@ -71,8 +72,8 @@ class AccountSectionWidget extends StatelessWidget {
),
sectionOptionSpacing,
MenuItemWidget(
captionedTextWidget: const CaptionedTextWidget(
title: "Change password",
captionedTextWidget: CaptionedTextWidget(
title: S.of(context).changePassword,
),
pressedColor: getEnteColorScheme(context).fillFaint,
trailingIcon: Icons.chevron_right_outlined,
@ -82,7 +83,7 @@ class AccountSectionWidget extends StatelessWidget {
final hasAuthenticated = await LocalAuthenticationService.instance
.requestLocalAuthentication(
context,
"Please authenticate to change your password",
S.of(context).authToChangeYourPassword,
);
if (hasAuthenticated) {
Navigator.of(context).push(
@ -99,8 +100,8 @@ class AccountSectionWidget extends StatelessWidget {
),
sectionOptionSpacing,
MenuItemWidget(
captionedTextWidget: const CaptionedTextWidget(
title: "Export your data ",
captionedTextWidget: CaptionedTextWidget(
title: S.of(context).exportYourData,
),
pressedColor: getEnteColorScheme(context).fillFaint,
trailingIcon: Icons.chevron_right_outlined,
@ -111,8 +112,8 @@ class AccountSectionWidget extends StatelessWidget {
),
sectionOptionSpacing,
MenuItemWidget(
captionedTextWidget: const CaptionedTextWidget(
title: "Logout",
captionedTextWidget: CaptionedTextWidget(
title: S.of(context).logout,
),
pressedColor: getEnteColorScheme(context).fillFaint,
trailingIcon: Icons.chevron_right_outlined,
@ -123,8 +124,8 @@ class AccountSectionWidget extends StatelessWidget {
),
sectionOptionSpacing,
MenuItemWidget(
captionedTextWidget: const CaptionedTextWidget(
title: "Delete account",
captionedTextWidget: CaptionedTextWidget(
title: S.of(context).deleteAccount,
),
pressedColor: getEnteColorScheme(context).fillFaint,
trailingIcon: Icons.chevron_right_outlined,
@ -133,7 +134,7 @@ class AccountSectionWidget extends StatelessWidget {
final hasAuthenticated = await LocalAuthenticationService.instance
.requestLocalAuthentication(
context,
"Please authenticate to initiate account deletion",
S.of(context).authToInitiateAccountDeletion,
);
if (hasAuthenticated) {
unawaited(
@ -156,8 +157,8 @@ class AccountSectionWidget extends StatelessWidget {
void _onLogoutTapped(BuildContext context) {
showChoiceActionSheet(
context,
title: "Are you sure you want to logout?",
firstButtonLabel: "Yes, logout",
title: S.of(context).areYouSureYouWantToLogout,
firstButtonLabel: S.of(context).yesLogout,
isCritical: true,
firstButtonOnTap: () async {
await UserService.instance.logout(context);

View file

@ -4,6 +4,7 @@ import 'package:logging/logging.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/network/network.dart';
import 'package:photos/ente_theme_data.dart';
import "package:photos/generated/l10n.dart";
import 'package:photos/services/update_service.dart';
import 'package:photos/theme/ente_theme.dart';
import 'package:url_launcher/url_launcher_string.dart';
@ -53,7 +54,7 @@ class _AppUpdateDialogState extends State<AppUpdateDialog> {
mainAxisSize: MainAxisSize.min,
children: [
Text(
"A new version of ente is available.",
S.of(context).aNewVersionOfEnteIsAvailable,
style: enteTextTheme.body.copyWith(color: enteColor.textMuted),
),
const Padding(padding: EdgeInsets.all(8)),
@ -83,8 +84,8 @@ class _AppUpdateDialogState extends State<AppUpdateDialog> {
barrierDismissible: false,
);
},
child: const Text(
"Update",
child: Text(
S.of(context).update,
),
),
),
@ -92,7 +93,7 @@ class _AppUpdateDialogState extends State<AppUpdateDialog> {
Center(
child: InkWell(
child: Text(
"Install manually",
S.of(context).installManually,
style: Theme.of(context)
.textTheme
.caption!
@ -124,8 +125,8 @@ class _AppUpdateDialogState extends State<AppUpdateDialog> {
),
Text(
shouldForceUpdate
? "Critical update available"
: "Update available",
? S.of(context).criticalUpdateAvailable
: S.of(context).updateAvailable,
style: enteTextTheme.h3Bold,
),
],
@ -164,9 +165,9 @@ class _ApkDownloaderDialogState extends State<ApkDownloaderDialog> {
return WillPopScope(
onWillPop: () async => false,
child: AlertDialog(
title: const Text(
"Downloading...",
style: TextStyle(
title: Text(
S.of(context).downloading,
style: const TextStyle(
fontSize: 16,
),
textAlign: TextAlign.center,
@ -197,8 +198,8 @@ class _ApkDownloaderDialogState extends State<ApkDownloaderDialog> {
} catch (e) {
Logger("ApkDownloader").severe(e);
final AlertDialog alert = AlertDialog(
title: const Text("Sorry"),
content: const Text("The download could not be completed"),
title: Text(S.of(context).sorry),
content: Text(S.of(context).theDownloadCouldNotBeCompleted),
actions: [
TextButton(
child: const Text(
@ -214,7 +215,7 @@ class _ApkDownloaderDialogState extends State<ApkDownloaderDialog> {
),
TextButton(
child: Text(
"Retry",
S.of(context).retry,
style: TextStyle(
color: Theme.of(context).colorScheme.greenAlternative,
),