Przeglądaj źródła

l10n: extract strings

Neeraj Gupta 2 lat temu
rodzic
commit
351f66c138

+ 124 - 80
lib/generated/intl/messages_en.dart

@@ -20,118 +20,130 @@ typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
 class MessageLookup extends MessageLookupByLibrary {
 class MessageLookup extends MessageLookupByLibrary {
   String get localeName => 'en';
   String get localeName => 'en';
 
 
-  static String m0(paymentProvider) =>
+  static String m0(count) =>
+      "${Intl.plural(count, one: 'Add item', other: 'Add items')}";
+
+  static String m1(albumName) => "Added successfully to  ${albumName}";
+
+  static String m2(paymentProvider) =>
       "Please cancel your existing subscription from ${paymentProvider} first";
       "Please cancel your existing subscription from ${paymentProvider} first";
 
 
-  static String m1(user) =>
+  static String m3(user) =>
       "${user} will not be able to add more photos to this album\n\nThey will still be able to remove existing photos added by them";
       "${user} will not be able to add more photos to this album\n\nThey will still be able to remove existing photos added by them";
 
 
-  static String m2(isFamilyMember, storageAmountInGb) =>
+  static String m4(isFamilyMember, storageAmountInGb) =>
       "${Intl.select(isFamilyMember, {
       "${Intl.select(isFamilyMember, {
             'true': 'Your family has claimed ${storageAmountInGb} Gb so far',
             'true': 'Your family has claimed ${storageAmountInGb} Gb so far',
             'false': 'You have claimed ${storageAmountInGb} Gb so far',
             'false': 'You have claimed ${storageAmountInGb} Gb so far',
             'other': 'You have claimed ${storageAmountInGb} Gb so far!',
             'other': 'You have claimed ${storageAmountInGb} Gb so far!',
           })}";
           })}";
 
 
-  static String m3(provider) =>
+  static String m5(albumName) => "Collaborative link created for ${albumName}";
+
+  static String m6(provider) =>
       "Please contact us at support@ente.io to manage your ${provider} subscription.";
       "Please contact us at support@ente.io to manage your ${provider} subscription.";
 
 
-  static String m4(currentlyDeleting, totalCount) =>
+  static String m7(currentlyDeleting, totalCount) =>
       "Deleting ${currentlyDeleting} / ${totalCount}";
       "Deleting ${currentlyDeleting} / ${totalCount}";
 
 
-  static String m5(albumName) =>
+  static String m8(albumName) =>
       "This will remove the public link for accessing \"${albumName}\".";
       "This will remove the public link for accessing \"${albumName}\".";
 
 
-  static String m6(supportEmail) =>
+  static String m9(supportEmail) =>
       "Please drop an email to ${supportEmail} from your registered email address";
       "Please drop an email to ${supportEmail} from your registered email address";
 
 
-  static String m7(count, storageSaved) =>
+  static String m10(count, storageSaved) =>
       "Your have cleaned up ${Intl.plural(count, one: '${count} duplicate file', other: '${count} duplicate files')}, saving (${storageSaved}!)";
       "Your have cleaned up ${Intl.plural(count, one: '${count} duplicate file', other: '${count} duplicate files')}, saving (${storageSaved}!)";
 
 
-  static String m8(email) =>
+  static String m11(email) =>
       "${email} does not have an ente account.\n\nSend them an invite to share photos.";
       "${email} does not have an ente account.\n\nSend them an invite to share photos.";
 
 
-  static String m9(storageAmountInGB) =>
+  static String m12(storageAmountInGB) =>
       "${storageAmountInGB} GB each time someone signs up for a paid plan and applies your code";
       "${storageAmountInGB} GB each time someone signs up for a paid plan and applies your code";
 
 
-  static String m10(endDate) => "Free trial valid till ${endDate}";
+  static String m13(endDate) => "Free trial valid till ${endDate}";
 
 
-  static String m11(count) =>
+  static String m14(count) =>
       "${Intl.plural(count, one: '${count} item', other: '${count} items')}";
       "${Intl.plural(count, one: '${count} item', other: '${count} items')}";
 
 
-  static String m12(count) => "${count} selected";
+  static String m15(count) => "${count} selected";
 
 
-  static String m13(expiryTime) => "Link will expire on ${expiryTime}";
+  static String m16(expiryTime) => "Link will expire on ${expiryTime}";
 
 
-  static String m14(maxValue) =>
+  static String m17(maxValue) =>
       "When set to the maximum (${maxValue}), the device limit will be relaxed to allow for temporary spikes of large number of viewers.";
       "When set to the maximum (${maxValue}), the device limit will be relaxed to allow for temporary spikes of large number of viewers.";
 
 
-  static String m15(count) =>
+  static String m18(count) =>
       "${Intl.plural(count, zero: 'no memories', one: '${count} memory', other: '${count} memories')}";
       "${Intl.plural(count, zero: 'no memories', one: '${count} memory', other: '${count} memories')}";
 
 
-  static String m16(passwordStrengthValue) =>
+  static String m19(count) =>
+      "${Intl.plural(count, one: 'Move item', other: 'Move items')}";
+
+  static String m20(albumName) => "Moved successfully to ${albumName}";
+
+  static String m21(passwordStrengthValue) =>
       "Password strength: ${passwordStrengthValue}";
       "Password strength: ${passwordStrengthValue}";
 
 
-  static String m17(providerName) =>
+  static String m22(providerName) =>
       "Please talk to ${providerName} support if you were charged";
       "Please talk to ${providerName} support if you were charged";
 
 
-  static String m18(reason) =>
+  static String m23(reason) =>
       "Unfortunately your payment failed due to ${reason}";
       "Unfortunately your payment failed due to ${reason}";
 
 
-  static String m19(storeName) => "Rate us on ${storeName}";
+  static String m24(storeName) => "Rate us on ${storeName}";
 
 
-  static String m20(storageInGB) =>
+  static String m25(storageInGB) =>
       "3. Both of you get ${storageInGB} GB* free";
       "3. Both of you get ${storageInGB} GB* free";
 
 
-  static String m21(userEmail) =>
+  static String m26(userEmail) =>
       "${userEmail} will be removed from this shared album\n\nAny photos added by them will also be removed from the album";
       "${userEmail} will be removed from this shared album\n\nAny photos added by them will also be removed from the album";
 
 
-  static String m22(endDate) => "Renews on ${endDate}";
+  static String m27(endDate) => "Renews on ${endDate}";
 
 
-  static String m23(count) => "${count} selected";
+  static String m28(count) => "${count} selected";
 
 
-  static String m24(count, yourCount) =>
+  static String m29(count, yourCount) =>
       "${count} selected (${yourCount} yours)";
       "${count} selected (${yourCount} yours)";
 
 
-  static String m25(verificationID) =>
+  static String m30(verificationID) =>
       "Here\'s my verification ID: ${verificationID} for ente.io.";
       "Here\'s my verification ID: ${verificationID} for ente.io.";
 
 
-  static String m26(verificationID) =>
+  static String m31(verificationID) =>
       "Hey, can you confirm that this is your ente.io verification ID: ${verificationID}";
       "Hey, can you confirm that this is your ente.io verification ID: ${verificationID}";
 
 
-  static String m27(referralCode, referralStorageInGB) =>
+  static String m32(referralCode, referralStorageInGB) =>
       "ente referral code: ${referralCode} \n\nApply it in Settings → General → Referrals to get ${referralStorageInGB} GB free after you signup for a paid plan\n\nhttps://ente.io";
       "ente referral code: ${referralCode} \n\nApply it in Settings → General → Referrals to get ${referralStorageInGB} GB free after you signup for a paid plan\n\nhttps://ente.io";
 
 
-  static String m28(numberOfPeople) =>
+  static String m33(numberOfPeople) =>
       "${Intl.plural(numberOfPeople, zero: 'Share with specific people', one: 'Shared with 1 person', other: 'Shared with ${numberOfPeople} people')}";
       "${Intl.plural(numberOfPeople, zero: 'Share with specific people', one: 'Shared with 1 person', other: 'Shared with ${numberOfPeople} people')}";
 
 
-  static String m29(fileType) =>
+  static String m34(fileType) =>
       "This ${fileType} will be deleted from your device.";
       "This ${fileType} will be deleted from your device.";
 
 
-  static String m30(fileType) =>
+  static String m35(fileType) =>
       "This ${fileType} is in both ente and your device.";
       "This ${fileType} is in both ente and your device.";
 
 
-  static String m31(fileType) => "This ${fileType} will be deleted from ente.";
+  static String m36(fileType) => "This ${fileType} will be deleted from ente.";
 
 
-  static String m32(storageAmountInGB) => "${storageAmountInGB} GB";
+  static String m37(storageAmountInGB) => "${storageAmountInGB} GB";
 
 
-  static String m33(id) =>
+  static String m38(id) =>
       "Your ${id} is already linked to another ente account.\nIf you would like to use your ${id} with this account, please contact our support\'\'";
       "Your ${id} is already linked to another ente account.\nIf you would like to use your ${id} with this account, please contact our support\'\'";
 
 
-  static String m34(endDate) =>
+  static String m39(endDate) =>
       "Your subscription will be cancelled on ${endDate}";
       "Your subscription will be cancelled on ${endDate}";
 
 
-  static String m35(storageAmountInGB) =>
+  static String m40(storageAmountInGB) =>
       "They also get ${storageAmountInGB} GB";
       "They also get ${storageAmountInGB} GB";
 
 
-  static String m36(email) => "This is ${email}\'s Verification ID";
+  static String m41(email) => "This is ${email}\'s Verification ID";
 
 
-  static String m37(email) => "Verify ${email}";
+  static String m42(email) => "Verify ${email}";
 
 
-  static String m38(count) =>
+  static String m43(count) =>
       "${Intl.plural(count, one: '${count} year ago', other: '${count} years ago')}";
       "${Intl.plural(count, one: '${count} year ago', other: '${count} years ago')}";
 
 
-  static String m39(storageSaved) =>
+  static String m44(storageSaved) =>
       "You have successfully freed up ${storageSaved}!";
       "You have successfully freed up ${storageSaved}!";
 
 
   final messages = _notInlinedMessages(_notInlinedMessages);
   final messages = _notInlinedMessages(_notInlinedMessages);
@@ -151,11 +163,13 @@ class MessageLookup extends MessageLookupByLibrary {
         "addANewEmail": MessageLookupByLibrary.simpleMessage("Add a new email"),
         "addANewEmail": MessageLookupByLibrary.simpleMessage("Add a new email"),
         "addCollaborator":
         "addCollaborator":
             MessageLookupByLibrary.simpleMessage("Add collaborator"),
             MessageLookupByLibrary.simpleMessage("Add collaborator"),
+        "addItem": m0,
         "addMore": MessageLookupByLibrary.simpleMessage("Add more"),
         "addMore": MessageLookupByLibrary.simpleMessage("Add more"),
         "addToAlbum": MessageLookupByLibrary.simpleMessage("Add to album"),
         "addToAlbum": MessageLookupByLibrary.simpleMessage("Add to album"),
         "addToEnte": MessageLookupByLibrary.simpleMessage("Add to ente"),
         "addToEnte": MessageLookupByLibrary.simpleMessage("Add to ente"),
         "addViewer": MessageLookupByLibrary.simpleMessage("Add viewer"),
         "addViewer": MessageLookupByLibrary.simpleMessage("Add viewer"),
         "addedAs": MessageLookupByLibrary.simpleMessage("Added as"),
         "addedAs": MessageLookupByLibrary.simpleMessage("Added as"),
+        "addedSuccessfullyTo": m1,
         "addingToFavorites":
         "addingToFavorites":
             MessageLookupByLibrary.simpleMessage("Adding to favorites..."),
             MessageLookupByLibrary.simpleMessage("Adding to favorites..."),
         "advanced": MessageLookupByLibrary.simpleMessage("Advanced"),
         "advanced": MessageLookupByLibrary.simpleMessage("Advanced"),
@@ -166,6 +180,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "after1Week": MessageLookupByLibrary.simpleMessage("After 1 week"),
         "after1Week": MessageLookupByLibrary.simpleMessage("After 1 week"),
         "after1Year": MessageLookupByLibrary.simpleMessage("After 1 year"),
         "after1Year": MessageLookupByLibrary.simpleMessage("After 1 year"),
         "albumOwner": MessageLookupByLibrary.simpleMessage("Owner"),
         "albumOwner": MessageLookupByLibrary.simpleMessage("Owner"),
+        "albumTitle": MessageLookupByLibrary.simpleMessage("Album title"),
         "albumUpdated": MessageLookupByLibrary.simpleMessage("Album updated"),
         "albumUpdated": MessageLookupByLibrary.simpleMessage("Album updated"),
         "albums": MessageLookupByLibrary.simpleMessage("Albums"),
         "albums": MessageLookupByLibrary.simpleMessage("Albums"),
         "allClear": MessageLookupByLibrary.simpleMessage("✨ All clear"),
         "allClear": MessageLookupByLibrary.simpleMessage("✨ All clear"),
@@ -236,16 +251,19 @@ class MessageLookup extends MessageLookupByLibrary {
         "blog": MessageLookupByLibrary.simpleMessage("Blog"),
         "blog": MessageLookupByLibrary.simpleMessage("Blog"),
         "byClickingLogInIAgreeToThe": MessageLookupByLibrary.simpleMessage(
         "byClickingLogInIAgreeToThe": MessageLookupByLibrary.simpleMessage(
             "By clicking log in, I agree to the"),
             "By clicking log in, I agree to the"),
+        "canNotUploadToAlbumsOwnedByOthers":
+            MessageLookupByLibrary.simpleMessage(
+                "Can not upload to albums owned by others"),
         "canOnlyCreateLinkForFilesOwnedByYou":
         "canOnlyCreateLinkForFilesOwnedByYou":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "Can only create link for files owned by you"),
                 "Can only create link for files owned by you"),
         "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
         "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
             "Can only remove files owned by you"),
             "Can only remove files owned by you"),
         "cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
         "cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
-        "cancelOtherSubscription": m0,
+        "cancelOtherSubscription": m2,
         "cancelSubscription":
         "cancelSubscription":
             MessageLookupByLibrary.simpleMessage("Cancel subscription"),
             MessageLookupByLibrary.simpleMessage("Cancel subscription"),
-        "cannotAddMorePhotosAfterBecomingViewer": m1,
+        "cannotAddMorePhotosAfterBecomingViewer": m3,
         "changeEmail": MessageLookupByLibrary.simpleMessage("Change email"),
         "changeEmail": MessageLookupByLibrary.simpleMessage("Change email"),
         "changePassword":
         "changePassword":
             MessageLookupByLibrary.simpleMessage("Change password"),
             MessageLookupByLibrary.simpleMessage("Change password"),
@@ -262,7 +280,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Claim free storage"),
             MessageLookupByLibrary.simpleMessage("Claim free storage"),
         "claimMore": MessageLookupByLibrary.simpleMessage("Claim more!"),
         "claimMore": MessageLookupByLibrary.simpleMessage("Claim more!"),
         "claimed": MessageLookupByLibrary.simpleMessage("Claimed"),
         "claimed": MessageLookupByLibrary.simpleMessage("Claimed"),
-        "claimedStorageSoFar": m2,
+        "claimedStorageSoFar": m4,
         "codeAppliedPageTitle":
         "codeAppliedPageTitle":
             MessageLookupByLibrary.simpleMessage("Code applied"),
             MessageLookupByLibrary.simpleMessage("Code applied"),
         "codeCopiedToClipboard":
         "codeCopiedToClipboard":
@@ -273,6 +291,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "Create a link to allow people to add and view photos in your shared album without needing an ente app or account. Great for collecting event photos."),
             "Create a link to allow people to add and view photos in your shared album without needing an ente app or account. Great for collecting event photos."),
         "collaborativeLink":
         "collaborativeLink":
             MessageLookupByLibrary.simpleMessage("Collaborative link"),
             MessageLookupByLibrary.simpleMessage("Collaborative link"),
+        "collaborativeLinkCreatedFor": m5,
         "collaborator": MessageLookupByLibrary.simpleMessage("Collaborator"),
         "collaborator": MessageLookupByLibrary.simpleMessage("Collaborator"),
         "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
         "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
@@ -301,7 +320,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("to manage your subscription"),
             MessageLookupByLibrary.simpleMessage("to manage your subscription"),
         "contactSupport":
         "contactSupport":
             MessageLookupByLibrary.simpleMessage("Contact support"),
             MessageLookupByLibrary.simpleMessage("Contact support"),
-        "contactToManageSubscription": m3,
+        "contactToManageSubscription": m6,
         "continueLabel": MessageLookupByLibrary.simpleMessage("Continue"),
         "continueLabel": MessageLookupByLibrary.simpleMessage("Continue"),
         "continueOnFreeTrial":
         "continueOnFreeTrial":
             MessageLookupByLibrary.simpleMessage("Continue on free trial"),
             MessageLookupByLibrary.simpleMessage("Continue on free trial"),
@@ -318,6 +337,8 @@ class MessageLookup extends MessageLookupByLibrary {
             "Long press to select photos and click + to create an album"),
             "Long press to select photos and click + to create an album"),
         "createNewAccount":
         "createNewAccount":
             MessageLookupByLibrary.simpleMessage("Create new account"),
             MessageLookupByLibrary.simpleMessage("Create new account"),
+        "createOrSelectAlbum":
+            MessageLookupByLibrary.simpleMessage("Create or select album"),
         "createPublicLink":
         "createPublicLink":
             MessageLookupByLibrary.simpleMessage("Create public link"),
             MessageLookupByLibrary.simpleMessage("Create public link"),
         "creatingLink":
         "creatingLink":
@@ -357,7 +378,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "deleteFromEnte":
         "deleteFromEnte":
             MessageLookupByLibrary.simpleMessage("Delete from ente"),
             MessageLookupByLibrary.simpleMessage("Delete from ente"),
         "deletePhotos": MessageLookupByLibrary.simpleMessage("Delete photos"),
         "deletePhotos": MessageLookupByLibrary.simpleMessage("Delete photos"),
-        "deleteProgress": m4,
+        "deleteProgress": m7,
         "deleteReason1": MessageLookupByLibrary.simpleMessage(
         "deleteReason1": MessageLookupByLibrary.simpleMessage(
             "It’s missing a key feature that I need"),
             "It’s missing a key feature that I need"),
         "deleteReason2": MessageLookupByLibrary.simpleMessage(
         "deleteReason2": MessageLookupByLibrary.simpleMessage(
@@ -385,18 +406,18 @@ class MessageLookup extends MessageLookupByLibrary {
             "Viewers can still take screenshots or save a copy of your photos using external tools"),
             "Viewers can still take screenshots or save a copy of your photos using external tools"),
         "disableDownloadWarningTitle":
         "disableDownloadWarningTitle":
             MessageLookupByLibrary.simpleMessage("Please note"),
             MessageLookupByLibrary.simpleMessage("Please note"),
-        "disableLinkMessage": m5,
+        "disableLinkMessage": m8,
         "disableTwofactor":
         "disableTwofactor":
             MessageLookupByLibrary.simpleMessage("Disable two-factor"),
             MessageLookupByLibrary.simpleMessage("Disable two-factor"),
         "discord": MessageLookupByLibrary.simpleMessage("Discord"),
         "discord": MessageLookupByLibrary.simpleMessage("Discord"),
         "doThisLater": MessageLookupByLibrary.simpleMessage("Do this later"),
         "doThisLater": MessageLookupByLibrary.simpleMessage("Do this later"),
         "done": MessageLookupByLibrary.simpleMessage("Done"),
         "done": MessageLookupByLibrary.simpleMessage("Done"),
         "downloading": MessageLookupByLibrary.simpleMessage("Downloading..."),
         "downloading": MessageLookupByLibrary.simpleMessage("Downloading..."),
-        "dropSupportEmail": m6,
-        "duplicateFileCountWithStorageSaved": m7,
+        "dropSupportEmail": m9,
+        "duplicateFileCountWithStorageSaved": m10,
         "eligible": MessageLookupByLibrary.simpleMessage("eligible"),
         "eligible": MessageLookupByLibrary.simpleMessage("eligible"),
         "email": MessageLookupByLibrary.simpleMessage("Email"),
         "email": MessageLookupByLibrary.simpleMessage("Email"),
-        "emailNoEnteAccount": m8,
+        "emailNoEnteAccount": m11,
         "encryption": MessageLookupByLibrary.simpleMessage("Encryption"),
         "encryption": MessageLookupByLibrary.simpleMessage("Encryption"),
         "encryptionKeys":
         "encryptionKeys":
             MessageLookupByLibrary.simpleMessage("Encryption keys"),
             MessageLookupByLibrary.simpleMessage("Encryption keys"),
@@ -411,6 +432,8 @@ class MessageLookup extends MessageLookupByLibrary {
             "ente preserves your memories, so they\'re always available to you, even if you lose your device."),
             "ente preserves your memories, so they\'re always available to you, even if you lose your device."),
         "enteSubscriptionShareWithFamily": MessageLookupByLibrary.simpleMessage(
         "enteSubscriptionShareWithFamily": MessageLookupByLibrary.simpleMessage(
             "Your family can be added to your plan as well."),
             "Your family can be added to your plan as well."),
+        "enterAlbumName":
+            MessageLookupByLibrary.simpleMessage("Enter album name"),
         "enterCode": MessageLookupByLibrary.simpleMessage("Enter code"),
         "enterCode": MessageLookupByLibrary.simpleMessage("Enter code"),
         "enterCodeDescription": MessageLookupByLibrary.simpleMessage(
         "enterCodeDescription": MessageLookupByLibrary.simpleMessage(
             "Enter the code provided by your friend to claim free storage for both of you"),
             "Enter the code provided by your friend to claim free storage for both of you"),
@@ -462,11 +485,11 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Forgot password"),
             MessageLookupByLibrary.simpleMessage("Forgot password"),
         "freeStorageClaimed":
         "freeStorageClaimed":
             MessageLookupByLibrary.simpleMessage("Free storage claimed"),
             MessageLookupByLibrary.simpleMessage("Free storage claimed"),
-        "freeStorageOnReferralSuccess": m9,
+        "freeStorageOnReferralSuccess": m12,
         "freeStorageUsable":
         "freeStorageUsable":
             MessageLookupByLibrary.simpleMessage("Free storage usable"),
             MessageLookupByLibrary.simpleMessage("Free storage usable"),
         "freeTrial": MessageLookupByLibrary.simpleMessage("Free trial"),
         "freeTrial": MessageLookupByLibrary.simpleMessage("Free trial"),
-        "freeTrialValidTill": m10,
+        "freeTrialValidTill": m13,
         "freeUpDeviceSpace":
         "freeUpDeviceSpace":
             MessageLookupByLibrary.simpleMessage("Free up device space"),
             MessageLookupByLibrary.simpleMessage("Free up device space"),
         "fromYourRegisteredEmailAddress": MessageLookupByLibrary.simpleMessage(
         "fromYourRegisteredEmailAddress": MessageLookupByLibrary.simpleMessage(
@@ -499,8 +522,8 @@ class MessageLookup extends MessageLookupByLibrary {
         "inviteToEnte": MessageLookupByLibrary.simpleMessage("Invite to ente"),
         "inviteToEnte": MessageLookupByLibrary.simpleMessage("Invite to ente"),
         "inviteYourFriends":
         "inviteYourFriends":
             MessageLookupByLibrary.simpleMessage("Invite your friends"),
             MessageLookupByLibrary.simpleMessage("Invite your friends"),
-        "itemCount": m11,
-        "itemSelectedCount": m12,
+        "itemCount": m14,
+        "itemSelectedCount": m15,
         "itemsWillBeRemovedFromAlbum": MessageLookupByLibrary.simpleMessage(
         "itemsWillBeRemovedFromAlbum": MessageLookupByLibrary.simpleMessage(
             "Selected items will be removed from this album"),
             "Selected items will be removed from this album"),
         "keepPhotos": MessageLookupByLibrary.simpleMessage("Keep Photos"),
         "keepPhotos": MessageLookupByLibrary.simpleMessage("Keep Photos"),
@@ -515,7 +538,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Device limit"),
         "linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Device limit"),
         "linkEnabled": MessageLookupByLibrary.simpleMessage("Enabled"),
         "linkEnabled": MessageLookupByLibrary.simpleMessage("Enabled"),
         "linkExpired": MessageLookupByLibrary.simpleMessage("Expired"),
         "linkExpired": MessageLookupByLibrary.simpleMessage("Expired"),
-        "linkExpiresOn": m13,
+        "linkExpiresOn": m16,
         "linkExpiry": MessageLookupByLibrary.simpleMessage("Link expiry"),
         "linkExpiry": MessageLookupByLibrary.simpleMessage("Link expiry"),
         "linkHasExpired":
         "linkHasExpired":
             MessageLookupByLibrary.simpleMessage("Link has expired"),
             MessageLookupByLibrary.simpleMessage("Link has expired"),
@@ -538,15 +561,19 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Manage subscription"),
             MessageLookupByLibrary.simpleMessage("Manage subscription"),
         "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
         "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
         "matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
         "matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
-        "maxDeviceLimitSpikeHandling": m14,
-        "memoryCount": m15,
+        "maxDeviceLimitSpikeHandling": m17,
+        "memoryCount": m18,
         "merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
         "merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
         "mobileWebDesktop":
         "mobileWebDesktop":
             MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"),
             MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"),
         "moderateStrength": MessageLookupByLibrary.simpleMessage("Moderate"),
         "moderateStrength": MessageLookupByLibrary.simpleMessage("Moderate"),
         "monthly": MessageLookupByLibrary.simpleMessage("Monthly"),
         "monthly": MessageLookupByLibrary.simpleMessage("Monthly"),
+        "moveItem": m19,
         "moveToAlbum": MessageLookupByLibrary.simpleMessage("Move to album"),
         "moveToAlbum": MessageLookupByLibrary.simpleMessage("Move to album"),
+        "movedSuccessfullyTo": m20,
         "movedToTrash": MessageLookupByLibrary.simpleMessage("Moved to trash"),
         "movedToTrash": MessageLookupByLibrary.simpleMessage("Moved to trash"),
+        "movingFilesToAlbum":
+            MessageLookupByLibrary.simpleMessage("Moving files to album..."),
         "name": MessageLookupByLibrary.simpleMessage("Name"),
         "name": MessageLookupByLibrary.simpleMessage("Name"),
         "never": MessageLookupByLibrary.simpleMessage("Never"),
         "never": MessageLookupByLibrary.simpleMessage("Never"),
         "newAlbum": MessageLookupByLibrary.simpleMessage("New album"),
         "newAlbum": MessageLookupByLibrary.simpleMessage("New album"),
@@ -579,12 +606,12 @@ class MessageLookup extends MessageLookupByLibrary {
         "passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
         "passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
             "Password changed successfully"),
             "Password changed successfully"),
         "passwordLock": MessageLookupByLibrary.simpleMessage("Password lock"),
         "passwordLock": MessageLookupByLibrary.simpleMessage("Password lock"),
-        "passwordStrength": m16,
+        "passwordStrength": m21,
         "paymentDetails":
         "paymentDetails":
             MessageLookupByLibrary.simpleMessage("Payment details"),
             MessageLookupByLibrary.simpleMessage("Payment details"),
         "paymentFailed": MessageLookupByLibrary.simpleMessage("Payment failed"),
         "paymentFailed": MessageLookupByLibrary.simpleMessage("Payment failed"),
-        "paymentFailedTalkToProvider": m17,
-        "paymentFailedWithReason": m18,
+        "paymentFailedTalkToProvider": m22,
+        "paymentFailedWithReason": m23,
         "peopleUsingYourCode":
         "peopleUsingYourCode":
             MessageLookupByLibrary.simpleMessage("People using your code"),
             MessageLookupByLibrary.simpleMessage("People using your code"),
         "permanentlyDelete":
         "permanentlyDelete":
@@ -625,7 +652,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
         "raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
         "rateTheApp": MessageLookupByLibrary.simpleMessage("Rate the app"),
         "rateTheApp": MessageLookupByLibrary.simpleMessage("Rate the app"),
         "rateUs": MessageLookupByLibrary.simpleMessage("Rate us"),
         "rateUs": MessageLookupByLibrary.simpleMessage("Rate us"),
-        "rateUsOnStore": m19,
+        "rateUsOnStore": m24,
         "recover": MessageLookupByLibrary.simpleMessage("Recover"),
         "recover": MessageLookupByLibrary.simpleMessage("Recover"),
         "recoverAccount":
         "recoverAccount":
             MessageLookupByLibrary.simpleMessage("Recover account"),
             MessageLookupByLibrary.simpleMessage("Recover account"),
@@ -654,7 +681,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "1. Give this code to your friends"),
             "1. Give this code to your friends"),
         "referralStep2": MessageLookupByLibrary.simpleMessage(
         "referralStep2": MessageLookupByLibrary.simpleMessage(
             "2. They sign up for a paid plan"),
             "2. They sign up for a paid plan"),
-        "referralStep3": m20,
+        "referralStep3": m25,
         "referrals": MessageLookupByLibrary.simpleMessage("Referrals"),
         "referrals": MessageLookupByLibrary.simpleMessage("Referrals"),
         "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
         "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
             "Referrals are currently paused"),
             "Referrals are currently paused"),
@@ -674,7 +701,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
         "removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
         "removeParticipant":
         "removeParticipant":
             MessageLookupByLibrary.simpleMessage("Remove participant"),
             MessageLookupByLibrary.simpleMessage("Remove participant"),
-        "removeParticipantBody": m21,
+        "removeParticipantBody": m26,
         "removePublicLink":
         "removePublicLink":
             MessageLookupByLibrary.simpleMessage("Remove public link"),
             MessageLookupByLibrary.simpleMessage("Remove public link"),
         "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
         "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
@@ -685,13 +712,17 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Removing from favorites..."),
             MessageLookupByLibrary.simpleMessage("Removing from favorites..."),
         "renewSubscription":
         "renewSubscription":
             MessageLookupByLibrary.simpleMessage("Renew subscription"),
             MessageLookupByLibrary.simpleMessage("Renew subscription"),
-        "renewsOn": m22,
+        "renewsOn": m27,
         "reportABug": MessageLookupByLibrary.simpleMessage("Report a bug"),
         "reportABug": MessageLookupByLibrary.simpleMessage("Report a bug"),
         "reportBug": MessageLookupByLibrary.simpleMessage("Report bug"),
         "reportBug": MessageLookupByLibrary.simpleMessage("Report bug"),
         "resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
         "resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
         "resetPasswordTitle":
         "resetPasswordTitle":
             MessageLookupByLibrary.simpleMessage("Reset password"),
             MessageLookupByLibrary.simpleMessage("Reset password"),
         "restore": MessageLookupByLibrary.simpleMessage("Restore"),
         "restore": MessageLookupByLibrary.simpleMessage("Restore"),
+        "restoreToAlbum":
+            MessageLookupByLibrary.simpleMessage("Restore to album"),
+        "restoringFiles":
+            MessageLookupByLibrary.simpleMessage("Restoring files..."),
         "retry": MessageLookupByLibrary.simpleMessage("Retry"),
         "retry": MessageLookupByLibrary.simpleMessage("Retry"),
         "safelyStored": MessageLookupByLibrary.simpleMessage("Safely stored"),
         "safelyStored": MessageLookupByLibrary.simpleMessage("Safely stored"),
         "saveKey": MessageLookupByLibrary.simpleMessage("Save key"),
         "saveKey": MessageLookupByLibrary.simpleMessage("Save key"),
@@ -702,7 +733,10 @@ class MessageLookup extends MessageLookupByLibrary {
         "scanThisBarcodeWithnyourAuthenticatorApp":
         "scanThisBarcodeWithnyourAuthenticatorApp":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "Scan this barcode with\nyour authenticator app"),
                 "Scan this barcode with\nyour authenticator app"),
+        "searchByAlbumNameHint":
+            MessageLookupByLibrary.simpleMessage("Album name"),
         "security": MessageLookupByLibrary.simpleMessage("Security"),
         "security": MessageLookupByLibrary.simpleMessage("Security"),
+        "selectAlbum": MessageLookupByLibrary.simpleMessage("Select album"),
         "selectAll": MessageLookupByLibrary.simpleMessage("Select all"),
         "selectAll": MessageLookupByLibrary.simpleMessage("Select all"),
         "selectFoldersForBackup":
         "selectFoldersForBackup":
             MessageLookupByLibrary.simpleMessage("Select folders for backup"),
             MessageLookupByLibrary.simpleMessage("Select folders for backup"),
@@ -712,8 +746,8 @@ class MessageLookup extends MessageLookupByLibrary {
         "selectedFoldersWillBeEncryptedAndBackedUp":
         "selectedFoldersWillBeEncryptedAndBackedUp":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "Selected folders will be encrypted and backed up"),
                 "Selected folders will be encrypted and backed up"),
-        "selectedPhotos": m23,
-        "selectedPhotosWithYours": m24,
+        "selectedPhotos": m28,
+        "selectedPhotosWithYours": m29,
         "send": MessageLookupByLibrary.simpleMessage("Send"),
         "send": MessageLookupByLibrary.simpleMessage("Send"),
         "sendEmail": MessageLookupByLibrary.simpleMessage("Send email"),
         "sendEmail": MessageLookupByLibrary.simpleMessage("Send email"),
         "sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"),
         "sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"),
@@ -724,28 +758,29 @@ class MessageLookup extends MessageLookupByLibrary {
         "setPasswordTitle":
         "setPasswordTitle":
             MessageLookupByLibrary.simpleMessage("Set password"),
             MessageLookupByLibrary.simpleMessage("Set password"),
         "setupComplete": MessageLookupByLibrary.simpleMessage("Setup complete"),
         "setupComplete": MessageLookupByLibrary.simpleMessage("Setup complete"),
+        "share": MessageLookupByLibrary.simpleMessage("Share"),
         "shareALink": MessageLookupByLibrary.simpleMessage("Share a link"),
         "shareALink": MessageLookupByLibrary.simpleMessage("Share a link"),
         "shareAnAlbumNow":
         "shareAnAlbumNow":
             MessageLookupByLibrary.simpleMessage("Share an album now"),
             MessageLookupByLibrary.simpleMessage("Share an album now"),
         "shareLink": MessageLookupByLibrary.simpleMessage("Share link"),
         "shareLink": MessageLookupByLibrary.simpleMessage("Share link"),
-        "shareMyVerificationID": m25,
+        "shareMyVerificationID": m30,
         "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
         "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
             "Share only with the people you want"),
             "Share only with the people you want"),
-        "shareTextConfirmOthersVerificationID": m26,
+        "shareTextConfirmOthersVerificationID": m31,
         "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
         "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
             "Download ente so we can easily share original quality photos and videos\n\nhttps://ente.io/#download"),
             "Download ente so we can easily share original quality photos and videos\n\nhttps://ente.io/#download"),
-        "shareTextReferralCode": m27,
+        "shareTextReferralCode": m32,
         "shareWithNonenteUsers":
         "shareWithNonenteUsers":
             MessageLookupByLibrary.simpleMessage("Share with non-ente users"),
             MessageLookupByLibrary.simpleMessage("Share with non-ente users"),
-        "shareWithPeopleSectionTitle": m28,
+        "shareWithPeopleSectionTitle": m33,
         "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
         "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
             "Create shared and collaborative albums with other ente users, including users on free plans."),
             "Create shared and collaborative albums with other ente users, including users on free plans."),
         "sharing": MessageLookupByLibrary.simpleMessage("Sharing..."),
         "sharing": MessageLookupByLibrary.simpleMessage("Sharing..."),
-        "singleFileDeleteFromDevice": m29,
+        "singleFileDeleteFromDevice": m34,
         "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
         "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
             "It will be deleted from all albums."),
             "It will be deleted from all albums."),
-        "singleFileInBothLocalAndRemote": m30,
-        "singleFileInRemoteOnly": m31,
+        "singleFileInBothLocalAndRemote": m35,
+        "singleFileInRemoteOnly": m36,
         "skip": MessageLookupByLibrary.simpleMessage("Skip"),
         "skip": MessageLookupByLibrary.simpleMessage("Skip"),
         "social": MessageLookupByLibrary.simpleMessage("Social"),
         "social": MessageLookupByLibrary.simpleMessage("Social"),
         "someoneSharingAlbumsWithYouShouldSeeTheSameId":
         "someoneSharingAlbumsWithYouShouldSeeTheSameId":
@@ -767,12 +802,12 @@ class MessageLookup extends MessageLookupByLibrary {
                 "Sorry, we could not generate secure keys on this device.\n\nplease sign up from a different device."),
                 "Sorry, we could not generate secure keys on this device.\n\nplease sign up from a different device."),
         "sparkleSuccess": MessageLookupByLibrary.simpleMessage("✨ Success"),
         "sparkleSuccess": MessageLookupByLibrary.simpleMessage("✨ Success"),
         "startBackup": MessageLookupByLibrary.simpleMessage("Start backup"),
         "startBackup": MessageLookupByLibrary.simpleMessage("Start backup"),
-        "storageInGB": m32,
+        "storageInGB": m37,
         "storageLimitExceeded":
         "storageLimitExceeded":
             MessageLookupByLibrary.simpleMessage("Storage limit exceeded"),
             MessageLookupByLibrary.simpleMessage("Storage limit exceeded"),
         "strongStrength": MessageLookupByLibrary.simpleMessage("Strong"),
         "strongStrength": MessageLookupByLibrary.simpleMessage("Strong"),
-        "subAlreadyLinkedErrMessage": m33,
-        "subWillBeCancelledOn": m34,
+        "subAlreadyLinkedErrMessage": m38,
+        "subWillBeCancelledOn": m39,
         "subscribe": MessageLookupByLibrary.simpleMessage("Subscribe"),
         "subscribe": MessageLookupByLibrary.simpleMessage("Subscribe"),
         "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
         "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
             "Looks like your subscription has expired. Please subscribe to enable sharing."),
             "Looks like your subscription has expired. Please subscribe to enable sharing."),
@@ -800,12 +835,15 @@ class MessageLookup extends MessageLookupByLibrary {
         "theDownloadCouldNotBeCompleted": MessageLookupByLibrary.simpleMessage(
         "theDownloadCouldNotBeCompleted": MessageLookupByLibrary.simpleMessage(
             "The download could not be completed"),
             "The download could not be completed"),
         "theme": MessageLookupByLibrary.simpleMessage("Theme"),
         "theme": MessageLookupByLibrary.simpleMessage("Theme"),
-        "theyAlsoGetXGb": m35,
+        "theyAlsoGetXGb": m40,
+        "thisAlbumAlreadyHasACollaborativeLink":
+            MessageLookupByLibrary.simpleMessage(
+                "This album already has a collaborative link"),
         "thisCanBeUsedToRecoverYourAccountIfYou":
         "thisCanBeUsedToRecoverYourAccountIfYou":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "This can be used to recover your account if you lose your second factor"),
                 "This can be used to recover your account if you lose your second factor"),
         "thisDevice": MessageLookupByLibrary.simpleMessage("This device"),
         "thisDevice": MessageLookupByLibrary.simpleMessage("This device"),
-        "thisIsPersonVerificationId": m36,
+        "thisIsPersonVerificationId": m41,
         "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
         "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
             "This is your Verification ID"),
             "This is your Verification ID"),
         "thisWillLogYouOutOfTheFollowingDevice":
         "thisWillLogYouOutOfTheFollowingDevice":
@@ -827,6 +865,10 @@ class MessageLookup extends MessageLookupByLibrary {
         "unarchive": MessageLookupByLibrary.simpleMessage("Unarchive"),
         "unarchive": MessageLookupByLibrary.simpleMessage("Unarchive"),
         "uncategorized": MessageLookupByLibrary.simpleMessage("Uncategorized"),
         "uncategorized": MessageLookupByLibrary.simpleMessage("Uncategorized"),
         "unhide": MessageLookupByLibrary.simpleMessage("Unhide"),
         "unhide": MessageLookupByLibrary.simpleMessage("Unhide"),
+        "unhideToAlbum":
+            MessageLookupByLibrary.simpleMessage("Unhide to album"),
+        "unhidingFilesToAlbum":
+            MessageLookupByLibrary.simpleMessage("Unhiding files to album"),
         "unselectAll": MessageLookupByLibrary.simpleMessage("Unselect all"),
         "unselectAll": MessageLookupByLibrary.simpleMessage("Unselect all"),
         "update": MessageLookupByLibrary.simpleMessage("Update"),
         "update": MessageLookupByLibrary.simpleMessage("Update"),
         "updateAvailable":
         "updateAvailable":
@@ -834,6 +876,8 @@ class MessageLookup extends MessageLookupByLibrary {
         "updatingFolderSelection": MessageLookupByLibrary.simpleMessage(
         "updatingFolderSelection": MessageLookupByLibrary.simpleMessage(
             "Updating folder selection..."),
             "Updating folder selection..."),
         "upgrade": MessageLookupByLibrary.simpleMessage("Upgrade"),
         "upgrade": MessageLookupByLibrary.simpleMessage("Upgrade"),
+        "uploadingFilesToAlbum":
+            MessageLookupByLibrary.simpleMessage("Uploading files to album..."),
         "usableReferralStorageInfo": MessageLookupByLibrary.simpleMessage(
         "usableReferralStorageInfo": MessageLookupByLibrary.simpleMessage(
             "Usable storage is limited by your current plan. Excess claimed storage will automatically become usable when you upgrade your plan."),
             "Usable storage is limited by your current plan. Excess claimed storage will automatically become usable when you upgrade your plan."),
         "usePublicLinksForPeopleNotOnEnte":
         "usePublicLinksForPeopleNotOnEnte":
@@ -845,7 +889,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Verification ID"),
             MessageLookupByLibrary.simpleMessage("Verification ID"),
         "verify": MessageLookupByLibrary.simpleMessage("Verify"),
         "verify": MessageLookupByLibrary.simpleMessage("Verify"),
         "verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"),
         "verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"),
-        "verifyEmailID": m37,
+        "verifyEmailID": m42,
         "verifyPassword":
         "verifyPassword":
             MessageLookupByLibrary.simpleMessage("Verify password"),
             MessageLookupByLibrary.simpleMessage("Verify password"),
         "verifyingRecoveryKey":
         "verifyingRecoveryKey":
@@ -865,7 +909,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "weveSentAMailTo":
         "weveSentAMailTo":
             MessageLookupByLibrary.simpleMessage("We\'ve sent a mail to"),
             MessageLookupByLibrary.simpleMessage("We\'ve sent a mail to"),
         "yearly": MessageLookupByLibrary.simpleMessage("Yearly"),
         "yearly": MessageLookupByLibrary.simpleMessage("Yearly"),
-        "yearsAgo": m38,
+        "yearsAgo": m43,
         "yes": MessageLookupByLibrary.simpleMessage("Yes"),
         "yes": MessageLookupByLibrary.simpleMessage("Yes"),
         "yesCancel": MessageLookupByLibrary.simpleMessage("Yes, cancel"),
         "yesCancel": MessageLookupByLibrary.simpleMessage("Yes, cancel"),
         "yesConvertToViewer":
         "yesConvertToViewer":
@@ -888,7 +932,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "You cannot downgrade to this plan"),
             "You cannot downgrade to this plan"),
         "youCannotShareWithYourself": MessageLookupByLibrary.simpleMessage(
         "youCannotShareWithYourself": MessageLookupByLibrary.simpleMessage(
             "You cannot share with yourself"),
             "You cannot share with yourself"),
-        "youHaveSuccessfullyFreedUp": m39,
+        "youHaveSuccessfullyFreedUp": m44,
         "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
         "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
             "Your account has been deleted"),
             "Your account has been deleted"),
         "yourPlanWasSuccessfullyDowngraded":
         "yourPlanWasSuccessfullyDowngraded":

+ 194 - 0
lib/generated/l10n.dart

@@ -4972,6 +4972,200 @@ class S {
       args: [count],
       args: [count],
     );
     );
   }
   }
+
+  /// `Share`
+  String get share {
+    return Intl.message(
+      'Share',
+      name: 'share',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Unhide to album`
+  String get unhideToAlbum {
+    return Intl.message(
+      'Unhide to album',
+      name: 'unhideToAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Restore to album`
+  String get restoreToAlbum {
+    return Intl.message(
+      'Restore to album',
+      name: 'restoreToAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `{count, plural, one {Move item} other {Move items}}`
+  String moveItem(num count) {
+    return Intl.plural(
+      count,
+      one: 'Move item',
+      other: 'Move items',
+      name: 'moveItem',
+      desc: 'Page title while moving one or more items to an album',
+      args: [count],
+    );
+  }
+
+  /// `{count, plural, one {Add item} other {Add items}}`
+  String addItem(num count) {
+    return Intl.plural(
+      count,
+      one: 'Add item',
+      other: 'Add items',
+      name: 'addItem',
+      desc: 'Page title while adding one or more items to album',
+      args: [count],
+    );
+  }
+
+  /// `Create or select album`
+  String get createOrSelectAlbum {
+    return Intl.message(
+      'Create or select album',
+      name: 'createOrSelectAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Select album`
+  String get selectAlbum {
+    return Intl.message(
+      'Select album',
+      name: 'selectAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Album name`
+  String get searchByAlbumNameHint {
+    return Intl.message(
+      'Album name',
+      name: 'searchByAlbumNameHint',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Album title`
+  String get albumTitle {
+    return Intl.message(
+      'Album title',
+      name: 'albumTitle',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Enter album name`
+  String get enterAlbumName {
+    return Intl.message(
+      'Enter album name',
+      name: 'enterAlbumName',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Restoring files...`
+  String get restoringFiles {
+    return Intl.message(
+      'Restoring files...',
+      name: 'restoringFiles',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Moving files to album...`
+  String get movingFilesToAlbum {
+    return Intl.message(
+      'Moving files to album...',
+      name: 'movingFilesToAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Unhiding files to album`
+  String get unhidingFilesToAlbum {
+    return Intl.message(
+      'Unhiding files to album',
+      name: 'unhidingFilesToAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Can not upload to albums owned by others`
+  String get canNotUploadToAlbumsOwnedByOthers {
+    return Intl.message(
+      'Can not upload to albums owned by others',
+      name: 'canNotUploadToAlbumsOwnedByOthers',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Uploading files to album...`
+  String get uploadingFilesToAlbum {
+    return Intl.message(
+      'Uploading files to album...',
+      name: 'uploadingFilesToAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Added successfully to  {albumName}`
+  String addedSuccessfullyTo(Object albumName) {
+    return Intl.message(
+      'Added successfully to  $albumName',
+      name: 'addedSuccessfullyTo',
+      desc: '',
+      args: [albumName],
+    );
+  }
+
+  /// `Moved successfully to {albumName}`
+  String movedSuccessfullyTo(Object albumName) {
+    return Intl.message(
+      'Moved successfully to $albumName',
+      name: 'movedSuccessfullyTo',
+      desc: '',
+      args: [albumName],
+    );
+  }
+
+  /// `This album already has a collaborative link`
+  String get thisAlbumAlreadyHasACollaborativeLink {
+    return Intl.message(
+      'This album already has a collaborative link',
+      name: 'thisAlbumAlreadyHasACollaborativeLink',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Collaborative link created for {albumName}`
+  String collaborativeLinkCreatedFor(Object albumName) {
+    return Intl.message(
+      'Collaborative link created for $albumName',
+      name: 'collaborativeLinkCreatedFor',
+      desc: '',
+      args: [albumName],
+    );
+  }
 }
 }
 
 
 class AppLocalizationDelegate extends LocalizationsDelegate<S> {
 class AppLocalizationDelegate extends LocalizationsDelegate<S> {

+ 26 - 1
lib/l10n/intl_en.arb

@@ -707,5 +707,30 @@
         "type": "int"
         "type": "int"
       }
       }
     }
     }
-  }
+  },
+  "share": "Share",
+  "unhideToAlbum": "Unhide to album",
+  "restoreToAlbum": "Restore to album",
+  "moveItem": "{count, plural, one {Move item} other {Move items}}",
+  "@moveItem": {
+    "description": "Page title while moving one or more items to an album"
+  },
+  "addItem": "{count, plural, one {Add item} other {Add items}}",
+  "@addItem": {
+    "description": "Page title while adding one or more items to album"
+  },
+  "createOrSelectAlbum": "Create or select album",
+  "selectAlbum": "Select album",
+  "searchByAlbumNameHint": "Album name",
+  "albumTitle": "Album title",
+  "enterAlbumName": "Enter album name",
+  "restoringFiles": "Restoring files...",
+  "movingFilesToAlbum": "Moving files to album...",
+  "unhidingFilesToAlbum": "Unhiding files to album",
+  "canNotUploadToAlbumsOwnedByOthers": "Can not upload to albums owned by others",
+  "uploadingFilesToAlbum": "Uploading files to album...",
+  "addedSuccessfullyTo": "Added successfully to  {albumName}",
+  "movedSuccessfullyTo": "Moved successfully to {albumName}",
+  "thisAlbumAlreadyHasACollaborativeLink": "This album already has a collaborative link",
+  "collaborativeLinkCreatedFor": "Collaborative link created for {albumName}"
 }
 }

+ 20 - 19
lib/ui/collection_action_sheet.dart

@@ -5,6 +5,7 @@ import 'package:collection/collection.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/material.dart';
 import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
 import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
 import "package:photos/core/configuration.dart";
 import "package:photos/core/configuration.dart";
+import "package:photos/generated/l10n.dart";
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection_items.dart';
 import 'package:photos/models/collection_items.dart';
 import 'package:photos/models/selected_files.dart';
 import 'package:photos/models/selected_files.dart';
@@ -29,33 +30,33 @@ enum CollectionActionType {
   collectPhotos,
   collectPhotos,
 }
 }
 
 
-String _actionName(CollectionActionType type, bool plural) {
-  bool addTitleSuffix = false;
-  final titleSuffix = (plural ? "s" : "");
+String _actionName(
+  BuildContext context,
+  CollectionActionType type,
+  int fileCount,
+) {
   String text = "";
   String text = "";
   switch (type) {
   switch (type) {
     case CollectionActionType.addFiles:
     case CollectionActionType.addFiles:
-      text = "Add item";
-      addTitleSuffix = true;
+      text = S.of(context).addItem(fileCount);
       break;
       break;
     case CollectionActionType.moveFiles:
     case CollectionActionType.moveFiles:
-      text = "Move item";
-      addTitleSuffix = true;
+      text = S.of(context).moveItem(fileCount);
       break;
       break;
     case CollectionActionType.restoreFiles:
     case CollectionActionType.restoreFiles:
-      text = "Restore to album";
+      text = S.of(context).restoreToAlbum;
       break;
       break;
     case CollectionActionType.unHide:
     case CollectionActionType.unHide:
-      text = "Unhide to album";
+      text = S.of(context).unhideToAlbum;
       break;
       break;
     case CollectionActionType.shareCollection:
     case CollectionActionType.shareCollection:
-      text = "Share";
+      text = S.of(context).share;
       break;
       break;
     case CollectionActionType.collectPhotos:
     case CollectionActionType.collectPhotos:
-      text = "Share";
+      text = S.of(context).share;
       break;
       break;
   }
   }
-  return addTitleSuffix ? text + titleSuffix : text;
+  return text;
 }
 }
 
 
 void showCollectionActionSheet(
 void showCollectionActionSheet(
@@ -137,12 +138,12 @@ class _CollectionActionSheetState extends State<CollectionActionSheet> {
                       children: [
                       children: [
                         BottomOfTitleBarWidget(
                         BottomOfTitleBarWidget(
                           title: TitleBarTitleWidget(
                           title: TitleBarTitleWidget(
-                            title:
-                                _actionName(widget.actionType, filesCount > 1),
+                            title: _actionName(
+                                context, widget.actionType, filesCount),
                           ),
                           ),
                           caption: widget.showOptionToCreateNewAlbum
                           caption: widget.showOptionToCreateNewAlbum
-                              ? "Create or select album"
-                              : "Select album",
+                              ? S.of(context).createOrSelectAlbum
+                              : S.of(context).selectAlbum,
                         ),
                         ),
                         Padding(
                         Padding(
                           padding: const EdgeInsets.only(
                           padding: const EdgeInsets.only(
@@ -151,7 +152,7 @@ class _CollectionActionSheetState extends State<CollectionActionSheet> {
                             right: 16,
                             right: 16,
                           ),
                           ),
                           child: TextInputWidget(
                           child: TextInputWidget(
-                            hintText: "Album name",
+                            hintText: S.of(context).searchByAlbumNameHint,
                             prefixIcon: Icons.search_rounded,
                             prefixIcon: Icons.search_rounded,
                             onChange: (value) {
                             onChange: (value) {
                               setState(() {
                               setState(() {
@@ -177,11 +178,11 @@ class _CollectionActionSheetState extends State<CollectionActionSheet> {
                           ),
                           ),
                         ),
                         ),
                       ),
                       ),
-                      child: const ButtonWidget(
+                      child: ButtonWidget(
                         buttonType: ButtonType.secondary,
                         buttonType: ButtonType.secondary,
                         buttonAction: ButtonAction.cancel,
                         buttonAction: ButtonAction.cancel,
                         isInAlert: true,
                         isInAlert: true,
-                        labelText: "Cancel",
+                        labelText: S.of(context).cancel,
                       ),
                       ),
                     ),
                     ),
                   )
                   )

+ 17 - 17
lib/ui/collections_list_widget.dart

@@ -7,6 +7,7 @@ import 'package:photos/core/configuration.dart';
 import "package:photos/core/event_bus.dart";
 import "package:photos/core/event_bus.dart";
 import 'package:photos/db/files_db.dart';
 import 'package:photos/db/files_db.dart';
 import "package:photos/events/tab_changed_event.dart";
 import "package:photos/events/tab_changed_event.dart";
+import "package:photos/generated/l10n.dart";
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection.dart';
 import 'package:photos/models/collection_items.dart';
 import 'package:photos/models/collection_items.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
@@ -101,9 +102,9 @@ class CollectionsListWidget extends StatelessWidget {
     if (filesCount > 0) {
     if (filesCount > 0) {
       final result = await showTextInputDialog(
       final result = await showTextInputDialog(
         context,
         context,
-        title: "Album title",
-        submitButtonLabel: "OK",
-        hintText: "Enter album name",
+        title: S.of(context).albumTitle,
+        submitButtonLabel: S.of(context).ok,
+        hintText: S.of(context).enterAlbumName,
         onSubmit: (name) {
         onSubmit: (name) {
           return _nameAlbum(context, name);
           return _nameAlbum(context, name);
         },
         },
@@ -123,7 +124,7 @@ class CollectionsListWidget extends StatelessWidget {
       Navigator.pop(context);
       Navigator.pop(context);
       await showToast(
       await showToast(
         context,
         context,
-        "Long press to select photos and click + to create an album",
+        S.of(context).createAlbumActionHint,
         toastLength: Toast.LENGTH_LONG,
         toastLength: Toast.LENGTH_LONG,
       );
       );
       Bus.instance.fire(
       Bus.instance.fire(
@@ -180,12 +181,12 @@ class CollectionsListWidget extends StatelessWidget {
       late final String toastMessage;
       late final String toastMessage;
       bool shouldNavigateToCollection = false;
       bool shouldNavigateToCollection = false;
       if (actionType == CollectionActionType.addFiles) {
       if (actionType == CollectionActionType.addFiles) {
-        toastMessage = "Added successfully to " + item.collection.name!;
+        toastMessage = S.of(context).addedSuccessfullyTo(item.collection.name!);
         shouldNavigateToCollection = true;
         shouldNavigateToCollection = true;
       } else if (actionType == CollectionActionType.moveFiles ||
       } else if (actionType == CollectionActionType.moveFiles ||
           actionType == CollectionActionType.restoreFiles ||
           actionType == CollectionActionType.restoreFiles ||
           actionType == CollectionActionType.unHide) {
           actionType == CollectionActionType.unHide) {
-        toastMessage = "Moved successfully to " + item.collection.name!;
+        toastMessage = S.of(context).movedSuccessfullyTo(item.collection.name!);
         shouldNavigateToCollection = true;
         shouldNavigateToCollection = true;
       } else {
       } else {
         toastMessage = "";
         toastMessage = "";
@@ -257,7 +258,7 @@ class CollectionsListWidget extends StatelessWidget {
             ),
             ),
           );
           );
         }
         }
-        showToast(context, "This album already has a collaborative link");
+        showToast(context, S.of(context).thisAlbumAlreadyHasACollaborativeLink);
         return Future.value(false);
         return Future.value(false);
       } else {
       } else {
         try {
         try {
@@ -271,7 +272,7 @@ class CollectionsListWidget extends StatelessWidget {
               .updateShareUrl(collection, {'enableCollect': true}).then(
               .updateShareUrl(collection, {'enableCollect': true}).then(
             (value) => showToast(
             (value) => showToast(
               context,
               context,
-              "Collaborative link created for " + collection.name!,
+              S.of(context).collaborativeLinkCreatedFor(collection.name!),
             ),
             ),
           );
           );
           return true;
           return true;
@@ -289,7 +290,7 @@ class CollectionsListWidget extends StatelessWidget {
     if (result) {
     if (result) {
       showToast(
       showToast(
         context,
         context,
-        "Collaborative link created for " + collection.name!,
+        S.of(context).collaborativeLinkCreatedFor(collection.name!),
       );
       );
       if (Configuration.instance.getUserID() == collection.owner!.id) {
       if (Configuration.instance.getUserID() == collection.owner!.id) {
         unawaited(
         unawaited(
@@ -332,8 +333,7 @@ class CollectionsListWidget extends StatelessWidget {
     final dialog = showProgressDialog
     final dialog = showProgressDialog
         ? createProgressDialog(
         ? createProgressDialog(
             context,
             context,
-            "Uploading files to album"
-            "...",
+            S.of(context).uploadingFilesToAlbum,
             isDismissible: true,
             isDismissible: true,
           )
           )
         : null;
         : null;
@@ -379,7 +379,7 @@ class CollectionsListWidget extends StatelessWidget {
         final Collection? c =
         final Collection? c =
             CollectionsService.instance.getCollectionByID(collectionID);
             CollectionsService.instance.getCollectionByID(collectionID);
         if (c != null && c.owner!.id != currentUserID) {
         if (c != null && c.owner!.id != currentUserID) {
-          showToast(context, "Can not upload to albums owned by others");
+          showToast(context, S.of(context).canNotUploadToAlbumsOwnedByOthers);
           await dialog?.hide();
           await dialog?.hide();
           return false;
           return false;
         } else {
         } else {
@@ -410,8 +410,8 @@ class CollectionsListWidget extends StatelessWidget {
     int toCollectionID,
     int toCollectionID,
   ) async {
   ) async {
     final String message = actionType == CollectionActionType.moveFiles
     final String message = actionType == CollectionActionType.moveFiles
-        ? "Moving files to album..."
-        : "Unhiding files to album";
+        ? S.of(context).movingFilesToAlbum
+        : S.of(context).unhidingFilesToAlbum;
     final dialog = createProgressDialog(context, message, isDismissible: true);
     final dialog = createProgressDialog(context, message, isDismissible: true);
     await dialog.show();
     await dialog.show();
     try {
     try {
@@ -428,7 +428,7 @@ class CollectionsListWidget extends StatelessWidget {
       return true;
       return true;
     } on AssertionError catch (e) {
     } on AssertionError catch (e) {
       await dialog.hide();
       await dialog.hide();
-      showErrorDialog(context, "Oops", e.message as String?);
+      showErrorDialog(context, S.of(context).oops, e.message as String?);
       return false;
       return false;
     } catch (e, s) {
     } catch (e, s) {
       _logger.severe("Could not move to album", e, s);
       _logger.severe("Could not move to album", e, s);
@@ -444,7 +444,7 @@ class CollectionsListWidget extends StatelessWidget {
   ) async {
   ) async {
     final dialog = createProgressDialog(
     final dialog = createProgressDialog(
       context,
       context,
-      "Restoring files...",
+      S.of(context).restoringFiles,
       isDismissible: true,
       isDismissible: true,
     );
     );
     await dialog.show();
     await dialog.show();
@@ -457,7 +457,7 @@ class CollectionsListWidget extends StatelessWidget {
       return true;
       return true;
     } on AssertionError catch (e) {
     } on AssertionError catch (e) {
       await dialog.hide();
       await dialog.hide();
-      showErrorDialog(context, "Oops", e.message as String?);
+      showErrorDialog(context, S.of(context).oops, e.message as String?);
       return false;
       return false;
     } catch (e, s) {
     } catch (e, s) {
       _logger.severe("Could not move to album", e, s);
       _logger.severe("Could not move to album", e, s);