Bläddra i källkod

l10n: FileSelectionActionWidget strings

Neeraj Gupta 2 år sedan
förälder
incheckning
2c09e17d40

+ 26 - 0
lib/generated/intl/messages_en.dart

@@ -150,6 +150,8 @@ class MessageLookup extends MessageLookupByLibrary {
         "addCollaborator":
         "addCollaborator":
             MessageLookupByLibrary.simpleMessage("Add collaborator"),
             MessageLookupByLibrary.simpleMessage("Add collaborator"),
         "addMore": MessageLookupByLibrary.simpleMessage("Add more"),
         "addMore": MessageLookupByLibrary.simpleMessage("Add more"),
+        "addToAlbum": MessageLookupByLibrary.simpleMessage("Add to album"),
+        "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"),
         "addingToFavorites":
         "addingToFavorites":
@@ -232,6 +234,9 @@ 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"),
+        "canOnlyCreateLinkForFilesOwnedByYou":
+            MessageLookupByLibrary.simpleMessage(
+                "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"),
@@ -322,6 +327,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "custom": MessageLookupByLibrary.simpleMessage("Custom"),
         "custom": MessageLookupByLibrary.simpleMessage("Custom"),
         "darkTheme": MessageLookupByLibrary.simpleMessage("Dark"),
         "darkTheme": MessageLookupByLibrary.simpleMessage("Dark"),
         "decrypting": MessageLookupByLibrary.simpleMessage("Decrypting..."),
         "decrypting": MessageLookupByLibrary.simpleMessage("Decrypting..."),
+        "delete": MessageLookupByLibrary.simpleMessage("Delete"),
         "deleteAccount": MessageLookupByLibrary.simpleMessage("Delete account"),
         "deleteAccount": MessageLookupByLibrary.simpleMessage("Delete account"),
         "deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
         "deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage(
             "We are sorry to see you go. Please share your feedback to help us improve."),
             "We are sorry to see you go. Please share your feedback to help us improve."),
@@ -446,6 +452,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "familyPlans": MessageLookupByLibrary.simpleMessage("Family plans"),
         "familyPlans": MessageLookupByLibrary.simpleMessage("Family plans"),
         "faq": MessageLookupByLibrary.simpleMessage("FAQ"),
         "faq": MessageLookupByLibrary.simpleMessage("FAQ"),
         "faqs": MessageLookupByLibrary.simpleMessage("FAQs"),
         "faqs": MessageLookupByLibrary.simpleMessage("FAQs"),
+        "favorite": MessageLookupByLibrary.simpleMessage("Favorite"),
         "feedback": MessageLookupByLibrary.simpleMessage("Feedback"),
         "feedback": MessageLookupByLibrary.simpleMessage("Feedback"),
         "forYourMemories":
         "forYourMemories":
             MessageLookupByLibrary.simpleMessage("for your memories"),
             MessageLookupByLibrary.simpleMessage("for your memories"),
@@ -467,6 +474,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "Generating encryption keys..."),
             "Generating encryption keys..."),
         "googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
         "googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
         "hidden": MessageLookupByLibrary.simpleMessage("Hidden"),
         "hidden": MessageLookupByLibrary.simpleMessage("Hidden"),
+        "hide": MessageLookupByLibrary.simpleMessage("Hide"),
         "howItWorks": MessageLookupByLibrary.simpleMessage("How it works"),
         "howItWorks": MessageLookupByLibrary.simpleMessage("How it works"),
         "howToViewShareeVerificationID": MessageLookupByLibrary.simpleMessage(
         "howToViewShareeVerificationID": MessageLookupByLibrary.simpleMessage(
             "Please ask them to long-press their email address on the settings screen, and verify that the IDs on both devices match."),
             "Please ask them to long-press their email address on the settings screen, and verify that the IDs on both devices match."),
@@ -499,6 +507,8 @@ class MessageLookup extends MessageLookupByLibrary {
         "leave": MessageLookupByLibrary.simpleMessage("Leave"),
         "leave": MessageLookupByLibrary.simpleMessage("Leave"),
         "leaveFamily": MessageLookupByLibrary.simpleMessage("Leave family"),
         "leaveFamily": MessageLookupByLibrary.simpleMessage("Leave family"),
         "lightTheme": MessageLookupByLibrary.simpleMessage("Light"),
         "lightTheme": MessageLookupByLibrary.simpleMessage("Light"),
+        "linkCopiedToClipboard":
+            MessageLookupByLibrary.simpleMessage("Link copied to clipboard"),
         "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"),
@@ -532,6 +542,7 @@ class MessageLookup extends MessageLookupByLibrary {
             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"),
+        "moveToAlbum": MessageLookupByLibrary.simpleMessage("Move to album"),
         "movedToTrash": MessageLookupByLibrary.simpleMessage("Moved to trash"),
         "movedToTrash": MessageLookupByLibrary.simpleMessage("Moved to trash"),
         "name": MessageLookupByLibrary.simpleMessage("Name"),
         "name": MessageLookupByLibrary.simpleMessage("Name"),
         "never": MessageLookupByLibrary.simpleMessage("Never"),
         "never": MessageLookupByLibrary.simpleMessage("Never"),
@@ -573,6 +584,8 @@ class MessageLookup extends MessageLookupByLibrary {
         "paymentFailedWithReason": m17,
         "paymentFailedWithReason": m17,
         "peopleUsingYourCode":
         "peopleUsingYourCode":
             MessageLookupByLibrary.simpleMessage("People using your code"),
             MessageLookupByLibrary.simpleMessage("People using your code"),
+        "permanentlyDelete":
+            MessageLookupByLibrary.simpleMessage("Permanently delete"),
         "photoGridSize":
         "photoGridSize":
             MessageLookupByLibrary.simpleMessage("Photo grid size"),
             MessageLookupByLibrary.simpleMessage("Photo grid size"),
         "photoSmallCase": MessageLookupByLibrary.simpleMessage("photo"),
         "photoSmallCase": MessageLookupByLibrary.simpleMessage("photo"),
@@ -602,6 +615,8 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Private backups"),
             MessageLookupByLibrary.simpleMessage("Private backups"),
         "privateSharing":
         "privateSharing":
             MessageLookupByLibrary.simpleMessage("Private sharing"),
             MessageLookupByLibrary.simpleMessage("Private sharing"),
+        "publicLinkCreated":
+            MessageLookupByLibrary.simpleMessage("Public link created"),
         "publicLinkEnabled":
         "publicLinkEnabled":
             MessageLookupByLibrary.simpleMessage("Public link enabled"),
             MessageLookupByLibrary.simpleMessage("Public link enabled"),
         "raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
         "raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
@@ -648,7 +663,11 @@ class MessageLookup extends MessageLookupByLibrary {
         "removeDuplicates":
         "removeDuplicates":
             MessageLookupByLibrary.simpleMessage("Remove duplicates"),
             MessageLookupByLibrary.simpleMessage("Remove duplicates"),
         "removeFromAlbum":
         "removeFromAlbum":
+            MessageLookupByLibrary.simpleMessage("Remove from album"),
+        "removeFromAlbumTitle":
             MessageLookupByLibrary.simpleMessage("Remove from album?"),
             MessageLookupByLibrary.simpleMessage("Remove from album?"),
+        "removeFromFavorite":
+            MessageLookupByLibrary.simpleMessage("Remove from favorite"),
         "removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
         "removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
         "removeParticipant":
         "removeParticipant":
             MessageLookupByLibrary.simpleMessage("Remove participant"),
             MessageLookupByLibrary.simpleMessage("Remove participant"),
@@ -669,6 +688,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
         "resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
         "resetPasswordTitle":
         "resetPasswordTitle":
             MessageLookupByLibrary.simpleMessage("Reset password"),
             MessageLookupByLibrary.simpleMessage("Reset password"),
+        "restore": MessageLookupByLibrary.simpleMessage("Restore"),
         "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"),
@@ -704,6 +724,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "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"),
         "shareMyVerificationID": m24,
         "shareMyVerificationID": m24,
         "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
         "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
             "Share only with the people you want"),
             "Share only with the people you want"),
@@ -800,7 +821,9 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Two-factor authentication"),
             MessageLookupByLibrary.simpleMessage("Two-factor authentication"),
         "twofactorSetup":
         "twofactorSetup":
             MessageLookupByLibrary.simpleMessage("Two-factor setup"),
             MessageLookupByLibrary.simpleMessage("Two-factor setup"),
+        "unarchive": MessageLookupByLibrary.simpleMessage("Unarchive"),
         "uncategorized": MessageLookupByLibrary.simpleMessage("Uncategorized"),
         "uncategorized": MessageLookupByLibrary.simpleMessage("Uncategorized"),
+        "unhide": MessageLookupByLibrary.simpleMessage("Unhide"),
         "unselectAll": MessageLookupByLibrary.simpleMessage("Unselect all"),
         "unselectAll": MessageLookupByLibrary.simpleMessage("Unselect all"),
         "update": MessageLookupByLibrary.simpleMessage("Update"),
         "update": MessageLookupByLibrary.simpleMessage("Update"),
         "updateAvailable":
         "updateAvailable":
@@ -855,6 +878,9 @@ class MessageLookup extends MessageLookupByLibrary {
             "You are on the latest version"),
             "You are on the latest version"),
         "youCanAtMaxDoubleYourStorage": MessageLookupByLibrary.simpleMessage(
         "youCanAtMaxDoubleYourStorage": MessageLookupByLibrary.simpleMessage(
             "* You can at max double your storage"),
             "* You can at max double your storage"),
+        "youCanManageYourLinksInTheShareTab":
+            MessageLookupByLibrary.simpleMessage(
+                "You can manage your links in the share tab."),
         "youCannotDowngradeToThisPlan": MessageLookupByLibrary.simpleMessage(
         "youCannotDowngradeToThisPlan": MessageLookupByLibrary.simpleMessage(
             "You cannot downgrade to this plan"),
             "You cannot downgrade to this plan"),
         "youCannotShareWithYourself": MessageLookupByLibrary.simpleMessage(
         "youCannotShareWithYourself": MessageLookupByLibrary.simpleMessage(

+ 171 - 1
lib/generated/l10n.dart

@@ -2368,9 +2368,19 @@ class S {
   }
   }
 
 
   /// `Remove from album?`
   /// `Remove from album?`
-  String get removeFromAlbum {
+  String get removeFromAlbumTitle {
     return Intl.message(
     return Intl.message(
       'Remove from album?',
       'Remove from album?',
+      name: 'removeFromAlbumTitle',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Remove from album`
+  String get removeFromAlbum {
+    return Intl.message(
+      'Remove from album',
       name: 'removeFromAlbum',
       name: 'removeFromAlbum',
       desc: '',
       desc: '',
       args: [],
       args: [],
@@ -4792,6 +4802,166 @@ class S {
       args: [currentlyDeleting, totalCount],
       args: [currentlyDeleting, totalCount],
     );
     );
   }
   }
+
+  /// `Permanently delete`
+  String get permanentlyDelete {
+    return Intl.message(
+      'Permanently delete',
+      name: 'permanentlyDelete',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Can only create link for files owned by you`
+  String get canOnlyCreateLinkForFilesOwnedByYou {
+    return Intl.message(
+      'Can only create link for files owned by you',
+      name: 'canOnlyCreateLinkForFilesOwnedByYou',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Public link created`
+  String get publicLinkCreated {
+    return Intl.message(
+      'Public link created',
+      name: 'publicLinkCreated',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `You can manage your links in the share tab.`
+  String get youCanManageYourLinksInTheShareTab {
+    return Intl.message(
+      'You can manage your links in the share tab.',
+      name: 'youCanManageYourLinksInTheShareTab',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Link copied to clipboard`
+  String get linkCopiedToClipboard {
+    return Intl.message(
+      'Link copied to clipboard',
+      name: 'linkCopiedToClipboard',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Restore`
+  String get restore {
+    return Intl.message(
+      'Restore',
+      name: 'restore',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Move to album`
+  String get moveToAlbum {
+    return Intl.message(
+      'Move to album',
+      name: 'moveToAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Unhide`
+  String get unhide {
+    return Intl.message(
+      'Unhide',
+      name: 'unhide',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Unarchive`
+  String get unarchive {
+    return Intl.message(
+      'Unarchive',
+      name: 'unarchive',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Favorite`
+  String get favorite {
+    return Intl.message(
+      'Favorite',
+      name: 'favorite',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Remove from favorite`
+  String get removeFromFavorite {
+    return Intl.message(
+      'Remove from favorite',
+      name: 'removeFromFavorite',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Share link`
+  String get shareLink {
+    return Intl.message(
+      'Share link',
+      name: 'shareLink',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Add to ente`
+  String get addToEnte {
+    return Intl.message(
+      'Add to ente',
+      name: 'addToEnte',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Add to album`
+  String get addToAlbum {
+    return Intl.message(
+      'Add to album',
+      name: 'addToAlbum',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Delete`
+  String get delete {
+    return Intl.message(
+      'Delete',
+      name: 'delete',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Hide`
+  String get hide {
+    return Intl.message(
+      'Hide',
+      name: 'hide',
+      desc: '',
+      args: [],
+    );
+  }
 }
 }
 
 
 class AppLocalizationDelegate extends LocalizationsDelegate<S> {
 class AppLocalizationDelegate extends LocalizationsDelegate<S> {

+ 19 - 2
lib/l10n/intl_en.arb

@@ -327,7 +327,8 @@
   "freeStorageClaimed": "Free storage claimed",
   "freeStorageClaimed": "Free storage claimed",
   "freeStorageUsable": "Free storage usable",
   "freeStorageUsable": "Free storage usable",
   "usableReferralStorageInfo": "Usable storage is limited by your current plan. Excess claimed storage will automatically become usable when you upgrade your plan.",
   "usableReferralStorageInfo": "Usable storage is limited by your current plan. Excess claimed storage will automatically become usable when you upgrade your plan.",
-  "removeFromAlbum": "Remove from album?",
+  "removeFromAlbumTitle": "Remove from album?",
+  "removeFromAlbum": "Remove from album",
   "itemsWillBeRemovedFromAlbum": "Selected items will be removed from this album",
   "itemsWillBeRemovedFromAlbum": "Selected items will be removed from this album",
   "removeShareItemsWarning": "Some of the items you are removing were added by other people, and you will lose access to them",
   "removeShareItemsWarning": "Some of the items you are removing were added by other people, and you will lose access to them",
   "addingToFavorites": "Adding to favorites...",
   "addingToFavorites": "Adding to favorites...",
@@ -680,5 +681,21 @@
   "deleteEmptyAlbums": "Delete empty albums",
   "deleteEmptyAlbums": "Delete empty albums",
   "deleteEmptyAlbumsWithQuestionMark": "Delete empty albums?",
   "deleteEmptyAlbumsWithQuestionMark": "Delete empty albums?",
   "deleteAlbumsDialogBody": "This will delete all empty albums. This is useful when you want to reduce the clutter in your album list.",
   "deleteAlbumsDialogBody": "This will delete all empty albums. This is useful when you want to reduce the clutter in your album list.",
-  "deleteProgress": "Deleting {currentlyDeleting} / {totalCount}"
+  "deleteProgress": "Deleting {currentlyDeleting} / {totalCount}",
+  "permanentlyDelete": "Permanently delete",
+  "canOnlyCreateLinkForFilesOwnedByYou": "Can only create link for files owned by you",
+  "publicLinkCreated": "Public link created",
+  "youCanManageYourLinksInTheShareTab": "You can manage your links in the share tab.",
+  "linkCopiedToClipboard": "Link copied to clipboard",
+  "restore": "Restore",
+  "moveToAlbum": "Move to album",
+  "unhide": "Unhide",
+  "unarchive": "Unarchive",
+  "favorite": "Favorite",
+  "removeFromFavorite": "Remove from favorite",
+  "shareLink": "Share link",
+  "addToEnte": "Add to ente",
+  "addToAlbum": "Add to album",
+  "delete": "Delete",
+  "hide": "Hide"
 }
 }

+ 1 - 1
lib/ui/actions/collection/collection_file_actions.dart

@@ -51,7 +51,7 @@ extension CollectionFileActions on CollectionActions {
           isInAlert: true,
           isInAlert: true,
         ),
         ),
       ],
       ],
-      title: removingOthersFile ? S.of(bContext).removeFromAlbum : null,
+      title: removingOthersFile ? S.of(bContext).removeFromAlbumTitle : null,
       body: removingOthersFile
       body: removingOthersFile
           ? S.of(bContext).removeShareItemsWarning
           ? S.of(bContext).removeShareItemsWarning
           : S.of(bContext).itemsWillBeRemovedFromAlbum,
           : S.of(bContext).itemsWillBeRemovedFromAlbum,

+ 28 - 25
lib/ui/viewer/actions/file_selection_actions_widget.dart

@@ -2,6 +2,7 @@ import 'package:fast_base58/fast_base58.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:flutter/services.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/device_collection.dart';
 import 'package:photos/models/device_collection.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
@@ -117,7 +118,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
         firstList.add(
         firstList.add(
           BlurMenuItemWidget(
           BlurMenuItemWidget(
             leadingIcon: Icons.copy_outlined,
             leadingIcon: Icons.copy_outlined,
-            labelText: "Copy link",
+            labelText: S.of(context).copyLink,
             menuItemColor: colorScheme.fillFaint,
             menuItemColor: colorScheme.fillFaint,
             onTap: anyUploadedFiles ? _copyLink : null,
             onTap: anyUploadedFiles ? _copyLink : null,
           ),
           ),
@@ -126,7 +127,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
         firstList.add(
         firstList.add(
           BlurMenuItemWidget(
           BlurMenuItemWidget(
             leadingIcon: Icons.link_outlined,
             leadingIcon: Icons.link_outlined,
-            labelText: "Share link$suffix",
+            labelText: S.of(context).shareLink + suffix,
             menuItemColor: colorScheme.fillFaint,
             menuItemColor: colorScheme.fillFaint,
             onTap: anyUploadedFiles ? _onCreatedSharedLinkClicked : null,
             onTap: anyUploadedFiles ? _onCreatedSharedLinkClicked : null,
           ),
           ),
@@ -141,8 +142,9 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon:
           leadingIcon:
               showUploadIcon ? Icons.cloud_upload_outlined : Icons.add_outlined,
               showUploadIcon ? Icons.cloud_upload_outlined : Icons.add_outlined,
-          labelText:
-              "Add to ${showUploadIcon ? 'ente' : 'album'}$suffixInPending",
+          labelText: showUploadIcon
+              ? S.of(context).addToEnte
+              : S.of(context).addToAlbum + suffixInPending,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: anyOwnedFiles ? _addToAlbum : null,
           onTap: anyOwnedFiles ? _addToAlbum : null,
         ),
         ),
@@ -152,7 +154,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.arrow_forward_outlined,
           leadingIcon: Icons.arrow_forward_outlined,
-          labelText: "Move to album$suffix",
+          labelText: S.of(context).moveToAlbum + suffix,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: anyUploadedFiles ? _moveFiles : null,
           onTap: anyUploadedFiles ? _moveFiles : null,
         ),
         ),
@@ -163,7 +165,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.remove_outlined,
           leadingIcon: Icons.remove_outlined,
-          labelText: "Remove from album$removeSuffix",
+          labelText: "${S.of(context).removeFromAlbum}$removeSuffix",
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: removeCount > 0 ? _removeFilesFromAlbum : null,
           onTap: removeCount > 0 ? _removeFilesFromAlbum : null,
         ),
         ),
@@ -174,7 +176,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.delete_outline,
           leadingIcon: Icons.delete_outline,
-          labelText: "Delete$suffixInPending",
+          labelText: S.of(context).delete + suffixInPending,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: anyOwnedFiles ? _onDeleteClick : null,
           onTap: anyOwnedFiles ? _onDeleteClick : null,
         ),
         ),
@@ -185,7 +187,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.visibility_off_outlined,
           leadingIcon: Icons.visibility_off_outlined,
-          labelText: "Hide$suffix",
+          labelText: S.of(context).hide + suffix,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: anyUploadedFiles ? _onHideClick : null,
           onTap: anyUploadedFiles ? _onHideClick : null,
         ),
         ),
@@ -194,7 +196,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.visibility_off_outlined,
           leadingIcon: Icons.visibility_off_outlined,
-          labelText: "Unhide$suffix",
+          labelText: S.of(context).unhide + suffix,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: _onUnhideClick,
           onTap: _onUnhideClick,
         ),
         ),
@@ -204,7 +206,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.archive_outlined,
           leadingIcon: Icons.archive_outlined,
-          labelText: "Archive$suffix",
+          labelText: S.of(context).archive + suffix,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: anyUploadedFiles ? _onArchiveClick : null,
           onTap: anyUploadedFiles ? _onArchiveClick : null,
         ),
         ),
@@ -213,7 +215,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.unarchive,
           leadingIcon: Icons.unarchive,
-          labelText: "Unarchive$suffix",
+          labelText: S.of(context).unarchive + suffix,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: _onUnArchiveClick,
           onTap: _onUnArchiveClick,
         ),
         ),
@@ -224,7 +226,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.favorite_border_rounded,
           leadingIcon: Icons.favorite_border_rounded,
-          labelText: "Favorite$suffix",
+          labelText: S.of(context).favorite + suffix,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: anyUploadedFiles ? _onFavoriteClick : null,
           onTap: anyUploadedFiles ? _onFavoriteClick : null,
         ),
         ),
@@ -233,7 +235,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.favorite,
           leadingIcon: Icons.favorite,
-          labelText: "Remove from favorite$suffix",
+          labelText: S.of(context).removeFromFavorite + suffix,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: _onUnFavoriteClick,
           onTap: _onUnFavoriteClick,
         ),
         ),
@@ -244,7 +246,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.restore_outlined,
           leadingIcon: Icons.restore_outlined,
-          labelText: "Restore",
+          labelText: S.of(context).restore,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: _restore,
           onTap: _restore,
         ),
         ),
@@ -255,7 +257,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       secondList.add(
       secondList.add(
         BlurMenuItemWidget(
         BlurMenuItemWidget(
           leadingIcon: Icons.delete_forever_outlined,
           leadingIcon: Icons.delete_forever_outlined,
-          labelText: "Permanently delete",
+          labelText: S.of(context).permanentlyDelete,
           menuItemColor: colorScheme.fillFaint,
           menuItemColor: colorScheme.fillFaint,
           onTap: _permanentlyDelete,
           onTap: _permanentlyDelete,
         ),
         ),
@@ -385,7 +387,8 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
 
 
   Future<void> _onCreatedSharedLinkClicked() async {
   Future<void> _onCreatedSharedLinkClicked() async {
     if (split.ownedByCurrentUser.isEmpty) {
     if (split.ownedByCurrentUser.isEmpty) {
-      showShortToast(context, "Can only create link for files owned by you");
+      showShortToast(
+          context, S.of(context).canOnlyCreateLinkForFilesOwnedByYou);
       return;
       return;
     }
     }
     _cachedCollectionForSharedLink ??= await collectionActions
     _cachedCollectionForSharedLink ??= await collectionActions
@@ -393,24 +396,24 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
     final actionResult = await showActionSheet(
     final actionResult = await showActionSheet(
       context: context,
       context: context,
       buttons: [
       buttons: [
-        const ButtonWidget(
-          labelText: "Copy link",
+        ButtonWidget(
+          labelText: S.of(context).copyLink,
           buttonType: ButtonType.neutral,
           buttonType: ButtonType.neutral,
           buttonSize: ButtonSize.large,
           buttonSize: ButtonSize.large,
           shouldStickToDarkTheme: true,
           shouldStickToDarkTheme: true,
           buttonAction: ButtonAction.first,
           buttonAction: ButtonAction.first,
           isInAlert: true,
           isInAlert: true,
         ),
         ),
-        const ButtonWidget(
-          labelText: "Manage link",
+        ButtonWidget(
+          labelText: S.of(context).manageLink,
           buttonType: ButtonType.secondary,
           buttonType: ButtonType.secondary,
           buttonSize: ButtonSize.large,
           buttonSize: ButtonSize.large,
           buttonAction: ButtonAction.second,
           buttonAction: ButtonAction.second,
           shouldStickToDarkTheme: true,
           shouldStickToDarkTheme: true,
           isInAlert: true,
           isInAlert: true,
         ),
         ),
-        const ButtonWidget(
-          labelText: "Done",
+        ButtonWidget(
+          labelText: S.of(context).done,
           buttonType: ButtonType.secondary,
           buttonType: ButtonType.secondary,
           buttonSize: ButtonSize.large,
           buttonSize: ButtonSize.large,
           buttonAction: ButtonAction.third,
           buttonAction: ButtonAction.third,
@@ -418,8 +421,8 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
           isInAlert: true,
           isInAlert: true,
         )
         )
       ],
       ],
-      title: "Public link created",
-      body: "You can manage your links in the share tab.",
+      title: S.of(context).publicLinkCreated,
+      body: S.of(context).youCanManageYourLinksInTheShareTab,
       actionSheetType: ActionSheetType.defaultActionSheet,
       actionSheetType: ActionSheetType.defaultActionSheet,
     );
     );
     if (actionResult?.action != null) {
     if (actionResult?.action != null) {
@@ -448,7 +451,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
       final String url =
       final String url =
           "${_cachedCollectionForSharedLink!.publicURLs?.first?.url}#$collectionKey";
           "${_cachedCollectionForSharedLink!.publicURLs?.first?.url}#$collectionKey";
       await Clipboard.setData(ClipboardData(text: url));
       await Clipboard.setData(ClipboardData(text: url));
-      showShortToast(context, "Link copied to clipboard");
+      showShortToast(context, S.of(context).linkCopiedToClipboard);
     }
     }
   }
   }