From 36fb2e6a7eba948105666be6636effd006a42335 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Wed, 5 Apr 2023 10:47:14 +0530 Subject: [PATCH] l10n: Extract strings --- lib/generated/intl/messages_en.dart | 44 ++++++++--- lib/generated/l10n.dart | 85 ++++++++++++++++++++-- lib/l10n/intl_en.arb | 19 ++++- lib/ui/sharing/share_collection_page.dart | 4 +- lib/ui/sharing/verify_identity_dialog.dart | 24 +++--- 5 files changed, 139 insertions(+), 37 deletions(-) diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 8cdcd2809..7333320d2 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -26,17 +26,29 @@ class MessageLookup extends MessageLookupByLibrary { static String m1(supportEmail) => "Please drop an email to ${supportEmail} from your registered email address"; - static String m2(expiryTime) => "Link will expire on ${expiryTime}"; + static String m2(email) => + "${email} does not have an ente account.\n\nSend them an invite to share photos."; - static String m3(maxValue) => + static String m3(expiryTime) => "Link will expire on ${expiryTime}"; + + static String m4(maxValue) => "When set to the maximum (${maxValue}), the device limit will be relaxed to allow for temporary spikes of large number of viewers."; - static String m4(passwordStrengthValue) => + static String m5(passwordStrengthValue) => "Password strength: ${passwordStrengthValue}"; - static String m5(email) => "This is ${email}\'s Verification ID"; + static String m6(verificationID) => + "Here\'s my verification ID: ${verificationID} for ente.io."; - static String m6(email) => "Verify ${email}"; + static String m7(verificationID) => + "Hey, can you confirm that this is your ente.io verification ID: ${verificationID}"; + + static String m8(numberOfPeople) => + "${Intl.plural(numberOfPeople, zero: 'Share with specific people', one: 'Shared with 1 person', other: 'Shared with ${numberOfPeople} people')}"; + + static String m9(email) => "This is ${email}\'s Verification ID"; + + static String m10(email) => "Verify ${email}"; final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { @@ -139,8 +151,10 @@ class MessageLookup extends MessageLookupByLibrary { "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("Please note"), "doThisLater": MessageLookupByLibrary.simpleMessage("Do this later"), + "done": MessageLookupByLibrary.simpleMessage("Done"), "dropSupportEmail": m1, "email": MessageLookupByLibrary.simpleMessage("Email"), + "emailNoEnteAccount": m2, "encryption": MessageLookupByLibrary.simpleMessage("Encryption"), "encryptionKeys": MessageLookupByLibrary.simpleMessage("Encryption keys"), @@ -194,7 +208,7 @@ class MessageLookup extends MessageLookupByLibrary { "linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Device limit"), "linkEnabled": MessageLookupByLibrary.simpleMessage("Enabled"), "linkExpired": MessageLookupByLibrary.simpleMessage("Expired"), - "linkExpiresOn": m2, + "linkExpiresOn": m3, "linkExpiry": MessageLookupByLibrary.simpleMessage("Link expiry"), "linkHasExpired": MessageLookupByLibrary.simpleMessage("Link has expired"), @@ -205,7 +219,7 @@ class MessageLookup extends MessageLookupByLibrary { "manage": MessageLookupByLibrary.simpleMessage("Manage"), "manageLink": MessageLookupByLibrary.simpleMessage("Manage link"), "manageParticipants": MessageLookupByLibrary.simpleMessage("Manage"), - "maxDeviceLimitSpikeHandling": m3, + "maxDeviceLimitSpikeHandling": m4, "moderateStrength": MessageLookupByLibrary.simpleMessage("Moderate"), "never": MessageLookupByLibrary.simpleMessage("Never"), "noPasswordWarningPart1": MessageLookupByLibrary.simpleMessage( @@ -224,7 +238,7 @@ class MessageLookup extends MessageLookupByLibrary { "passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage( "Password changed successfully"), "passwordLock": MessageLookupByLibrary.simpleMessage("Password lock"), - "passwordStrength": m4, + "passwordStrength": m5, "pleaseSendAnEmailTo": MessageLookupByLibrary.simpleMessage("Please send an email to"), "pleaseTryAgain": @@ -275,21 +289,27 @@ class MessageLookup extends MessageLookupByLibrary { "Scan this barcode with\nyour authenticator app"), "selectReason": MessageLookupByLibrary.simpleMessage("Select reason"), "sendEmail": MessageLookupByLibrary.simpleMessage("Send email"), + "sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"), "sendLink": MessageLookupByLibrary.simpleMessage("Send link"), "setAPassword": MessageLookupByLibrary.simpleMessage("Set a password"), "setPasswordTitle": MessageLookupByLibrary.simpleMessage("Set password"), "setupComplete": MessageLookupByLibrary.simpleMessage("Setup complete"), "shareALink": MessageLookupByLibrary.simpleMessage("Share a link"), + "shareMyVerificationID": m6, + "shareTextConfirmOthersVerificationID": m7, + "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage( + "Download ente so we can easily share original "), "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage("Share with non-ente users"), - "shareWithSpecificPeople": - MessageLookupByLibrary.simpleMessage("Share with specific people"), + "shareWithPeopleSectionTitle": m8, "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( "Create shared and collaborative albums with other ente users, including users on free plans."), "someoneSharingAlbumsWithYouShouldSeeTheSameId": MessageLookupByLibrary.simpleMessage( "Someone sharing albums with you should see the same ID on their device."), + "somethingWentWrong": + MessageLookupByLibrary.simpleMessage("Something went wrong"), "somethingWentWrongPleaseTryAgain": MessageLookupByLibrary.simpleMessage( "Something went wrong, please try again"), @@ -313,7 +333,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage( "This can be used to recover your account if you lose your second factor"), "thisDevice": MessageLookupByLibrary.simpleMessage("This device"), - "thisIsPersonVerificationId": m5, + "thisIsPersonVerificationId": m9, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage( "This is your Verification ID"), "thisWillLogYouOutOfTheFollowingDevice": @@ -332,7 +352,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Verification ID"), "verify": MessageLookupByLibrary.simpleMessage("Verify"), "verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"), - "verifyEmailID": m6, + "verifyEmailID": m10, "verifyPassword": MessageLookupByLibrary.simpleMessage("Verify password"), "verifyingRecoveryKey": diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index a5c6a1a29..40fd226e2 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -1908,13 +1908,16 @@ class S { ); } - /// `Share with specific people` - String get shareWithSpecificPeople { - return Intl.message( - 'Share with specific people', - name: 'shareWithSpecificPeople', + /// `{numberOfPeople, plural, =0 {Share with specific people} =1 {Shared with 1 person} other {Shared with {numberOfPeople} people}}` + String shareWithPeopleSectionTitle(int numberOfPeople) { + return Intl.plural( + numberOfPeople, + zero: 'Share with specific people', + one: 'Shared with 1 person', + other: 'Shared with $numberOfPeople people', + name: 'shareWithPeopleSectionTitle', desc: '', - args: [], + args: [numberOfPeople], ); } @@ -1977,6 +1980,76 @@ class S { args: [email], ); } + + /// `{email} does not have an ente account.\n\nSend them an invite to share photos.` + String emailNoEnteAccount(Object email) { + return Intl.message( + '$email does not have an ente account.\n\nSend them an invite to share photos.', + name: 'emailNoEnteAccount', + desc: '', + args: [email], + ); + } + + /// `Here's my verification ID: {verificationID} for ente.io.` + String shareMyVerificationID(Object verificationID) { + return Intl.message( + 'Here\'s my verification ID: $verificationID for ente.io.', + name: 'shareMyVerificationID', + desc: '', + args: [verificationID], + ); + } + + /// `Hey, can you confirm that this is your ente.io verification ID: {verificationID}` + String shareTextConfirmOthersVerificationID(Object verificationID) { + return Intl.message( + 'Hey, can you confirm that this is your ente.io verification ID: $verificationID', + name: 'shareTextConfirmOthersVerificationID', + desc: '', + args: [verificationID], + ); + } + + /// `Something went wrong` + String get somethingWentWrong { + return Intl.message( + 'Something went wrong', + name: 'somethingWentWrong', + desc: '', + args: [], + ); + } + + /// `Send invite` + String get sendInvite { + return Intl.message( + 'Send invite', + name: 'sendInvite', + desc: '', + args: [], + ); + } + + /// `Download ente so we can easily share original ` + String get shareTextRecommendUsingEnte { + return Intl.message( + 'Download ente so we can easily share original ', + name: 'shareTextRecommendUsingEnte', + desc: '', + args: [], + ); + } + + /// `Done` + String get done { + return Intl.message( + 'Done', + name: 'done', + desc: '', + args: [], + ); + } } class AppLocalizationDelegate extends LocalizationsDelegate { diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 698c19f64..8e2b66f4a 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -251,7 +251,15 @@ "publicLinkEnabled": "Public link enabled", "shareALink": "Share a link", "sharedAlbumSectionDescription": "Create shared and collaborative albums with other ente users, including users on free plans.", - "shareWithSpecificPeople": "Share with specific people", + "shareWithPeopleSectionTitle": "{numberOfPeople, plural, =0 {Share with specific people} =1 {Shared with 1 person} other {Shared with {numberOfPeople} people}}", + "@shareWithPeopleSectionTitle": { + "placeholders": { + "numberOfPeople": { + "type": "int", + "example": "2" + } + } + }, "thisIsYourVerificationId": "This is your Verification ID", "someoneSharingAlbumsWithYouShouldSeeTheSameId": "Someone sharing albums with you should see the same ID on their device.", "howToViewShareeVerificationID": "Please ask them to long-press their email address on the settings screen, and verify that the IDs on both devices match.", @@ -265,5 +273,12 @@ } }, "verificationId": "Verification ID", - "verifyEmailID": "Verify {email}" + "verifyEmailID": "Verify {email}", + "emailNoEnteAccount": "{email} does not have an ente account.\n\nSend them an invite to share photos.", + "shareMyVerificationID": "Here's my verification ID: {verificationID} for ente.io.", + "shareTextConfirmOthersVerificationID": "Hey, can you confirm that this is your ente.io verification ID: {verificationID}", + "somethingWentWrong": "Something went wrong", + "sendInvite": "Send invite", + "shareTextRecommendUsingEnte": "Download ente so we can easily share original ", + "done": "Done" } \ No newline at end of file diff --git a/lib/ui/sharing/share_collection_page.dart b/lib/ui/sharing/share_collection_page.dart index c7e34b926..f0e9f10d1 100644 --- a/lib/ui/sharing/share_collection_page.dart +++ b/lib/ui/sharing/share_collection_page.dart @@ -51,9 +51,7 @@ class _ShareCollectionPageState extends State { final children = []; children.add( MenuSectionTitle( - title: _sharees.isEmpty - ? S.of(context).shareWithSpecificPeople - : "Shared with ${_sharees.length} ${_sharees.length == 1 ? 'person' : 'people'}", + title: S.of(context).shareWithPeopleSectionTitle(_sharees.length), iconData: Icons.workspaces, ), ); diff --git a/lib/ui/sharing/verify_identity_dialog.dart b/lib/ui/sharing/verify_identity_dialog.dart index 80dc6c421..3e50b3e0e 100644 --- a/lib/ui/sharing/verify_identity_dialog.dart +++ b/lib/ui/sharing/verify_identity_dialog.dart @@ -70,20 +70,17 @@ class _VerifyIdentifyDialogState extends State { mainAxisSize: MainAxisSize.min, children: [ Text( - "${widget.email} does not have an ente " - "account.\n" - "\nSend them an invite to share photos.", + S.of(context).emailNoEnteAccount(widget.email), ), const SizedBox(height: 24), ButtonWidget( buttonType: ButtonType.neutral, icon: Icons.adaptive.share, - labelText: "Send invite", + labelText: S.of(context).sendInvite, isInAlert: true, onTap: () async { shareText( - "Download ente so we can easily share original quality photos" - " and videos\n\nhttps://ente.io/", + S.of(context).shareTextRecommendUsingEnte, ); }, ), @@ -108,7 +105,8 @@ class _VerifyIdentifyDialogState extends State { ButtonWidget( buttonType: ButtonType.neutral, isInAlert: true, - labelText: widget.self ? "OK" : "Done", + labelText: + widget.self ? S.of(context).ok : S.of(context).done, ), ], ); @@ -117,7 +115,7 @@ class _VerifyIdentifyDialogState extends State { Logger("VerificationID") .severe("failed to end userID", snapshot.error); return Text( - "Something went wrong", + S.of(context).somethingWentWrong, style: textStyle.bodyMuted, ); } else { @@ -171,12 +169,10 @@ class _VerifyIdentifyDialogState extends State { ); shareText( widget.self - ? "Here's my verification ID: " - "$verificationID for ente.io." - : "Hey, " - "can you confirm that " - "this is your ente.io verification " - "ID: $verificationID", + ? S.of(context).shareMyVerificationID(verificationID) + : S + .of(context) + .shareTextConfirmOthersVerificationID(verificationID), ); }, child: Container(