From c6a75419fd2fd0f75a40923325739d16c61fa9b5 Mon Sep 17 00:00:00 2001
From: Yair <39923744+yaira2@users.noreply.github.com>
Date: Wed, 9 Apr 2025 20:08:28 -0400
Subject: [PATCH] ICU format
---
.../Compress/CompressIntoArchiveAction.cs | 2 +-
.../Compress/CompressIntoSevenZipAction.cs | 2 +-
.../Compress/CompressIntoZipAction.cs | 2 +-
.../Archives/Decompress/DecompressArchive.cs | 2 +-
.../Decompress/DecompressArchiveHere.cs | 2 +-
.../Decompress/DecompressArchiveHereSmart.cs | 2 +-
.../DecompressArchiveToChildFolderAction.cs | 2 +-
.../ImageManipulation/BaseRotateAction.cs | 2 +-
.../ImageManipulation/RotateLeftAction.cs | 2 +-
.../ImageManipulation/RotateRightAction.cs | 2 +-
.../Install/InstallCertificateAction.cs | 2 +-
.../Content/Install/InstallFontAction.cs | 2 +-
.../Content/Install/InstallInfDriverAction.cs | 2 +-
.../Actions/Content/Share/ShareItemAction.cs | 2 +-
.../CreateAlternateDataStreamAction.cs | 2 +-
.../CreateFolderWithSelectionAction.cs | 2 +-
.../FileSystem/CreateShortcutAction.cs | 2 +-
.../Actions/FileSystem/DeleteItemAction.cs | 2 +-
.../FileSystem/DeleteItemPermanentlyAction.cs | 2 +-
.../Actions/FileSystem/OpenItemAction.cs | 6 +-
.../Actions/FileSystem/PasteItemAction.cs | 8 ---
.../FileSystem/RestoreRecycleBinAction.cs | 4 +-
.../FileSystem/Transfer/CopyItemAction.cs | 2 +-
.../FileSystem/Transfer/CutItemAction.cs | 2 +-
.../Sidebar/PinFolderToSidebarAction.cs | 2 +-
.../Sidebar/UnpinFolderToSidebarAction.cs | 2 +-
.../Actions/Start/PinToStartAction.cs | 2 +-
.../Actions/Start/UnpinFromStartAction.cs | 2 +-
src/Files.App/Strings/en-US/Resources.resw | 64 +++++++++----------
.../Utils/StatusCenter/StatusCenterItem.cs | 2 +-
30 files changed, 63 insertions(+), 71 deletions(-)
diff --git a/src/Files.App/Actions/Content/Archives/Compress/CompressIntoArchiveAction.cs b/src/Files.App/Actions/Content/Archives/Compress/CompressIntoArchiveAction.cs
index f70809b032c8..43bb27483122 100644
--- a/src/Files.App/Actions/Content/Archives/Compress/CompressIntoArchiveAction.cs
+++ b/src/Files.App/Actions/Content/Archives/Compress/CompressIntoArchiveAction.cs
@@ -13,7 +13,7 @@ public override string Label
=> Strings.CreateArchive.GetLocalizedResource();
public override string Description
- => Strings.CompressIntoArchiveDescription.GetLocalizedResource();
+ => Strings.CompressIntoArchiveDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public CompressIntoArchiveAction()
{
diff --git a/src/Files.App/Actions/Content/Archives/Compress/CompressIntoSevenZipAction.cs b/src/Files.App/Actions/Content/Archives/Compress/CompressIntoSevenZipAction.cs
index 5f91093b7937..db527502d93a 100644
--- a/src/Files.App/Actions/Content/Archives/Compress/CompressIntoSevenZipAction.cs
+++ b/src/Files.App/Actions/Content/Archives/Compress/CompressIntoSevenZipAction.cs
@@ -9,7 +9,7 @@ public override string Label
=> string.Format(Strings.CreateNamedArchive.GetLocalizedResource(), $"{StorageArchiveService.GenerateArchiveNameFromItems(context.SelectedItems)}.7z");
public override string Description
- => Strings.CompressIntoSevenZipDescription.GetLocalizedResource();
+ => Strings.CompressIntoSevenZipDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public CompressIntoSevenZipAction()
{
diff --git a/src/Files.App/Actions/Content/Archives/Compress/CompressIntoZipAction.cs b/src/Files.App/Actions/Content/Archives/Compress/CompressIntoZipAction.cs
index 7742db5891e0..f02c376ad7ac 100644
--- a/src/Files.App/Actions/Content/Archives/Compress/CompressIntoZipAction.cs
+++ b/src/Files.App/Actions/Content/Archives/Compress/CompressIntoZipAction.cs
@@ -9,7 +9,7 @@ public override string Label
=> string.Format(Strings.CreateNamedArchive.GetLocalizedResource(), $"{StorageArchiveService.GenerateArchiveNameFromItems(context.SelectedItems)}.zip");
public override string Description
- => Strings.CompressIntoZipDescription.GetLocalizedResource();
+ => Strings.CompressIntoZipDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public CompressIntoZipAction()
{
diff --git a/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchive.cs b/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchive.cs
index 4f7ef9d4ae40..0bff8f7ce6f3 100644
--- a/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchive.cs
+++ b/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchive.cs
@@ -17,7 +17,7 @@ public override string Label
=> Strings.ExtractFiles.GetLocalizedResource();
public override string Description
- => Strings.DecompressArchiveDescription.GetLocalizedResource();
+ => Strings.DecompressArchiveDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public override HotKey HotKey
=> new(Keys.E, KeyModifiers.Ctrl);
diff --git a/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveHere.cs b/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveHere.cs
index 1e2568c787d8..dd4046364ed7 100644
--- a/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveHere.cs
+++ b/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveHere.cs
@@ -9,7 +9,7 @@ public override string Label
=> Strings.ExtractHere.GetLocalizedResource();
public override string Description
- => Strings.DecompressArchiveHereDescription.GetLocalizedResource();
+ => Strings.DecompressArchiveHereDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public DecompressArchiveHere()
{
diff --git a/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveHereSmart.cs b/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveHereSmart.cs
index fb555fb9062e..20f049351877 100644
--- a/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveHereSmart.cs
+++ b/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveHereSmart.cs
@@ -9,7 +9,7 @@ public override string Label
=> Strings.ExtractHereSmart.GetLocalizedResource();
public override string Description
- => Strings.DecompressArchiveHereSmartDescription.GetLocalizedResource();
+ => Strings.DecompressArchiveHereSmartDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public override HotKey HotKey
=> new(Keys.E, KeyModifiers.CtrlShift);
diff --git a/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveToChildFolderAction.cs b/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveToChildFolderAction.cs
index fbbc67063f79..7b0ce80f8601 100644
--- a/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveToChildFolderAction.cs
+++ b/src/Files.App/Actions/Content/Archives/Decompress/DecompressArchiveToChildFolderAction.cs
@@ -15,7 +15,7 @@ public override string Label
=> ComputeLabel();
public override string Description
- => Strings.DecompressArchiveToChildFolderDescription.GetLocalizedResource();
+ => Strings.DecompressArchiveToChildFolderDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public DecompressArchiveToChildFolderAction()
{
diff --git a/src/Files.App/Actions/Content/ImageManipulation/BaseRotateAction.cs b/src/Files.App/Actions/Content/ImageManipulation/BaseRotateAction.cs
index c340de656f63..db8a83e56b13 100644
--- a/src/Files.App/Actions/Content/ImageManipulation/BaseRotateAction.cs
+++ b/src/Files.App/Actions/Content/ImageManipulation/BaseRotateAction.cs
@@ -8,7 +8,7 @@ namespace Files.App.Actions
{
internal abstract class BaseRotateAction : ObservableObject, IAction
{
- private readonly IContentPageContext context;
+ protected readonly IContentPageContext context;
private readonly InfoPaneViewModel _infoPaneViewModel;
diff --git a/src/Files.App/Actions/Content/ImageManipulation/RotateLeftAction.cs b/src/Files.App/Actions/Content/ImageManipulation/RotateLeftAction.cs
index b281bbc8e0d9..1ed0a07fde26 100644
--- a/src/Files.App/Actions/Content/ImageManipulation/RotateLeftAction.cs
+++ b/src/Files.App/Actions/Content/ImageManipulation/RotateLeftAction.cs
@@ -11,7 +11,7 @@ public override string Label
=> Strings.RotateLeft.GetLocalizedResource();
public override string Description
- => Strings.RotateLeftDescription.GetLocalizedResource();
+ => Strings.RotateLeftDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public override RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.ImageRotate.ACW");
diff --git a/src/Files.App/Actions/Content/ImageManipulation/RotateRightAction.cs b/src/Files.App/Actions/Content/ImageManipulation/RotateRightAction.cs
index 68ca0393ce30..51e05988624f 100644
--- a/src/Files.App/Actions/Content/ImageManipulation/RotateRightAction.cs
+++ b/src/Files.App/Actions/Content/ImageManipulation/RotateRightAction.cs
@@ -11,7 +11,7 @@ public override string Label
=> Strings.RotateRight.GetLocalizedResource();
public override string Description
- => Strings.RotateRightDescription.GetLocalizedResource();
+ => Strings.RotateRightDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public override RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.ImageRotate.CW");
diff --git a/src/Files.App/Actions/Content/Install/InstallCertificateAction.cs b/src/Files.App/Actions/Content/Install/InstallCertificateAction.cs
index 351f0a72fde5..3c2a88ffcc26 100644
--- a/src/Files.App/Actions/Content/Install/InstallCertificateAction.cs
+++ b/src/Files.App/Actions/Content/Install/InstallCertificateAction.cs
@@ -13,7 +13,7 @@ public string Label
=> Strings.Install.GetLocalizedResource();
public string Description
- => Strings.InstallCertificateDescription.GetLocalizedResource();
+ => Strings.InstallCertificateDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new("\uEB95");
diff --git a/src/Files.App/Actions/Content/Install/InstallFontAction.cs b/src/Files.App/Actions/Content/Install/InstallFontAction.cs
index c9da98c7afc4..6571fd0309e5 100644
--- a/src/Files.App/Actions/Content/Install/InstallFontAction.cs
+++ b/src/Files.App/Actions/Content/Install/InstallFontAction.cs
@@ -14,7 +14,7 @@ public string Label
=> Strings.Install.GetLocalizedResource();
public string Description
- => Strings.InstallFontDescription.GetLocalizedResource();
+ => Strings.InstallFontDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.Actions.FontInstall");
diff --git a/src/Files.App/Actions/Content/Install/InstallInfDriverAction.cs b/src/Files.App/Actions/Content/Install/InstallInfDriverAction.cs
index 2c3f9d982082..8ebc5e5ab2d3 100644
--- a/src/Files.App/Actions/Content/Install/InstallInfDriverAction.cs
+++ b/src/Files.App/Actions/Content/Install/InstallInfDriverAction.cs
@@ -13,7 +13,7 @@ public string Label
=> Strings.Install.GetLocalizedResource();
public string Description
- => Strings.InstallInfDriverDescription.GetLocalizedResource();
+ => Strings.InstallInfDriverDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new("\uE9F5");
diff --git a/src/Files.App/Actions/Content/Share/ShareItemAction.cs b/src/Files.App/Actions/Content/Share/ShareItemAction.cs
index 0077976bfed4..b3e39370396b 100644
--- a/src/Files.App/Actions/Content/Share/ShareItemAction.cs
+++ b/src/Files.App/Actions/Content/Share/ShareItemAction.cs
@@ -13,7 +13,7 @@ public string Label
=> Strings.Share.GetLocalizedResource();
public string Description
- => Strings.ShareItemDescription.GetLocalizedResource();
+ => Strings.ShareItemDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.Share");
diff --git a/src/Files.App/Actions/FileSystem/CreateAlternateDataStreamAction.cs b/src/Files.App/Actions/FileSystem/CreateAlternateDataStreamAction.cs
index 19c60104188b..c12a16cf2378 100644
--- a/src/Files.App/Actions/FileSystem/CreateAlternateDataStreamAction.cs
+++ b/src/Files.App/Actions/FileSystem/CreateAlternateDataStreamAction.cs
@@ -17,7 +17,7 @@ public string Label
=> Strings.CreateAlternateDataStream.GetLocalizedResource();
public string Description
- => Strings.CreateAlternateDataStreamDescription.GetLocalizedResource();
+ => Strings.CreateAlternateDataStreamDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new RichGlyph(themedIconStyle: "App.ThemedIcons.AltDataStream");
diff --git a/src/Files.App/Actions/FileSystem/CreateFolderWithSelectionAction.cs b/src/Files.App/Actions/FileSystem/CreateFolderWithSelectionAction.cs
index aa6762ea5c44..b567de61bebb 100644
--- a/src/Files.App/Actions/FileSystem/CreateFolderWithSelectionAction.cs
+++ b/src/Files.App/Actions/FileSystem/CreateFolderWithSelectionAction.cs
@@ -11,7 +11,7 @@ public string Label
=> Strings.CreateFolderWithSelection.GetLocalizedResource();
public string Description
- => Strings.CreateFolderWithSelectionDescription.GetLocalizedResource();
+ => Strings.CreateFolderWithSelectionDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.New.Folder");
diff --git a/src/Files.App/Actions/FileSystem/CreateShortcutAction.cs b/src/Files.App/Actions/FileSystem/CreateShortcutAction.cs
index 1e50a252f8d0..a39ca5e8481e 100644
--- a/src/Files.App/Actions/FileSystem/CreateShortcutAction.cs
+++ b/src/Files.App/Actions/FileSystem/CreateShortcutAction.cs
@@ -11,7 +11,7 @@ public string Label
=> Strings.CreateShortcut.GetLocalizedResource();
public string Description
- => Strings.CreateShortcutDescription.GetLocalizedResource();
+ => Strings.CreateShortcutDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.URL");
diff --git a/src/Files.App/Actions/FileSystem/DeleteItemAction.cs b/src/Files.App/Actions/FileSystem/DeleteItemAction.cs
index 2b543697c987..6c6dee5aee55 100644
--- a/src/Files.App/Actions/FileSystem/DeleteItemAction.cs
+++ b/src/Files.App/Actions/FileSystem/DeleteItemAction.cs
@@ -9,7 +9,7 @@ public string Label
=> Strings.Delete.GetLocalizedResource();
public string Description
- => Strings.DeleteItemDescription.GetLocalizedResource();
+ => Strings.DeleteItemDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new RichGlyph(themedIconStyle: "App.ThemedIcons.Delete");
diff --git a/src/Files.App/Actions/FileSystem/DeleteItemPermanentlyAction.cs b/src/Files.App/Actions/FileSystem/DeleteItemPermanentlyAction.cs
index 2ca44a72d1e4..98530e19cad0 100644
--- a/src/Files.App/Actions/FileSystem/DeleteItemPermanentlyAction.cs
+++ b/src/Files.App/Actions/FileSystem/DeleteItemPermanentlyAction.cs
@@ -9,7 +9,7 @@ public string Label
=> Strings.DeletePermanently.GetLocalizedResource();
public string Description
- => Strings.DeleteItemPermanentlyDescription.GetLocalizedResource();
+ => Strings.DeleteItemPermanentlyDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public HotKey HotKey
=> new(Keys.Delete, KeyModifiers.Shift);
diff --git a/src/Files.App/Actions/FileSystem/OpenItemAction.cs b/src/Files.App/Actions/FileSystem/OpenItemAction.cs
index 1f1e26e57a1e..34c4d7cfdfae 100644
--- a/src/Files.App/Actions/FileSystem/OpenItemAction.cs
+++ b/src/Files.App/Actions/FileSystem/OpenItemAction.cs
@@ -14,8 +14,8 @@ public string Label
=> Strings.Open.GetLocalizedResource();
public string Description
- => Strings.OpenItemDescription.GetLocalizedResource();
-
+ => Strings.OpenItemDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
+
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.OpenFile");
@@ -58,7 +58,7 @@ public string Label
=> Strings.OpenWith.GetLocalizedResource();
public string Description
- => Strings.OpenItemWithApplicationPickerDescription.GetLocalizedResource();
+ => Strings.OpenItemWithApplicationPickerDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.OpenWith");
diff --git a/src/Files.App/Actions/FileSystem/PasteItemAction.cs b/src/Files.App/Actions/FileSystem/PasteItemAction.cs
index 7ef80bb91483..147e0d0293d4 100644
--- a/src/Files.App/Actions/FileSystem/PasteItemAction.cs
+++ b/src/Files.App/Actions/FileSystem/PasteItemAction.cs
@@ -1,14 +1,6 @@
// Copyright (c) Files Community
// Licensed under the MIT License.
-using CommunityToolkit.Mvvm.ComponentModel;
-using CommunityToolkit.Mvvm.DependencyInjection;
-using Files.App.Data.Models;
-using Files.App.Extensions;
-using Files.App.Helpers;
-using System.ComponentModel;
-using System.Threading.Tasks;
-
namespace Files.App.Actions
{
internal sealed partial class PasteItemAction : ObservableObject, IAction
diff --git a/src/Files.App/Actions/FileSystem/RestoreRecycleBinAction.cs b/src/Files.App/Actions/FileSystem/RestoreRecycleBinAction.cs
index 15db093ad59d..9745abaad457 100644
--- a/src/Files.App/Actions/FileSystem/RestoreRecycleBinAction.cs
+++ b/src/Files.App/Actions/FileSystem/RestoreRecycleBinAction.cs
@@ -15,7 +15,7 @@ public string Label
=> Strings.Restore.GetLocalizedResource();
public string Description
- => Strings.RestoreRecycleBinDescription.GetLocalizedResource();
+ => Strings.RestoreRecycleBinDescription.GetLocalizedFormatResource(context.SelectedItems.Count);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.RestoreDeleted");
@@ -37,7 +37,7 @@ public async Task ExecuteAsync(object? parameter = null)
var confirmationDialog = new ContentDialog()
{
Title = Strings.ConfirmRestoreSelectionBinDialogTitle.GetLocalizedResource(),
- Content = string.Format(Strings.ConfirmRestoreSelectionBinDialogContent.GetLocalizedResource(), context.SelectedItems.Count),
+ Content = string.Format(Strings.ConfirmRestoreSelectionBinDialogContent.GetLocalizedFormatResource(context.SelectedItems.Count), context.SelectedItems.Count),
PrimaryButtonText = Strings.Yes.GetLocalizedResource(),
SecondaryButtonText = Strings.Cancel.GetLocalizedResource(),
DefaultButton = ContentDialogButton.Primary
diff --git a/src/Files.App/Actions/FileSystem/Transfer/CopyItemAction.cs b/src/Files.App/Actions/FileSystem/Transfer/CopyItemAction.cs
index 40bf2ab588be..6e8c90167cab 100644
--- a/src/Files.App/Actions/FileSystem/Transfer/CopyItemAction.cs
+++ b/src/Files.App/Actions/FileSystem/Transfer/CopyItemAction.cs
@@ -11,7 +11,7 @@ public string Label
=> Strings.Copy.GetLocalizedResource();
public string Description
- => Strings.CopyItemDescription.GetLocalizedResource();
+ => Strings.CopyItemDescription.GetLocalizedFormatResource(ContentPageContext.SelectedItems.Count);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.Copy");
diff --git a/src/Files.App/Actions/FileSystem/Transfer/CutItemAction.cs b/src/Files.App/Actions/FileSystem/Transfer/CutItemAction.cs
index dc851584d265..fd9008a4bcd5 100644
--- a/src/Files.App/Actions/FileSystem/Transfer/CutItemAction.cs
+++ b/src/Files.App/Actions/FileSystem/Transfer/CutItemAction.cs
@@ -11,7 +11,7 @@ public string Label
=> Strings.Cut.GetLocalizedResource();
public string Description
- => Strings.CutItemDescription.GetLocalizedResource();
+ => Strings.CutItemDescription.GetLocalizedFormatResource(ContentPageContext.SelectedItems.Count);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.Cut");
diff --git a/src/Files.App/Actions/Sidebar/PinFolderToSidebarAction.cs b/src/Files.App/Actions/Sidebar/PinFolderToSidebarAction.cs
index 4394a6ed19fd..5b7625d38835 100644
--- a/src/Files.App/Actions/Sidebar/PinFolderToSidebarAction.cs
+++ b/src/Files.App/Actions/Sidebar/PinFolderToSidebarAction.cs
@@ -14,7 +14,7 @@ public string Label
=> Strings.PinFolderToSidebar.GetLocalizedResource();
public string Description
- => Strings.PinFolderToSidebarDescription.GetLocalizedResource();
+ => Strings.PinFolderToSidebarDescription.GetLocalizedFormatResource(context.HasSelection ? context.SelectedItems.Count : 1);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.FavoritePin");
diff --git a/src/Files.App/Actions/Sidebar/UnpinFolderToSidebarAction.cs b/src/Files.App/Actions/Sidebar/UnpinFolderToSidebarAction.cs
index ed5f83a8921b..75f41329ca3c 100644
--- a/src/Files.App/Actions/Sidebar/UnpinFolderToSidebarAction.cs
+++ b/src/Files.App/Actions/Sidebar/UnpinFolderToSidebarAction.cs
@@ -12,7 +12,7 @@ public string Label
=> Strings.UnpinFolderFromSidebar.GetLocalizedResource();
public string Description
- => Strings.UnpinFolderFromSidebarDescription.GetLocalizedResource();
+ => Strings.UnpinFolderFromSidebarDescription.GetLocalizedFormatResource(context.HasSelection ? context.SelectedItems.Count : 1);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.FavoritePinRemove");
diff --git a/src/Files.App/Actions/Start/PinToStartAction.cs b/src/Files.App/Actions/Start/PinToStartAction.cs
index 55819609e25d..8051b0208f98 100644
--- a/src/Files.App/Actions/Start/PinToStartAction.cs
+++ b/src/Files.App/Actions/Start/PinToStartAction.cs
@@ -15,7 +15,7 @@ public string Label
=> Strings.PinItemToStart_Text.GetLocalizedResource();
public string Description
- => Strings.PinToStartDescription.GetLocalizedResource();
+ => Strings.PinToStartDescription.GetLocalizedFormatResource(context.HasSelection ? context.SelectedItems.Count : 1);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.FavoritePin");
diff --git a/src/Files.App/Actions/Start/UnpinFromStartAction.cs b/src/Files.App/Actions/Start/UnpinFromStartAction.cs
index 4552b63f9f90..85f12d70b84e 100644
--- a/src/Files.App/Actions/Start/UnpinFromStartAction.cs
+++ b/src/Files.App/Actions/Start/UnpinFromStartAction.cs
@@ -15,7 +15,7 @@ public string Label
=> Strings.UnpinItemFromStart_Text.GetLocalizedResource();
public string Description
- => Strings.UnpinFromStartDescription.GetLocalizedResource();
+ => Strings.UnpinFromStartDescription.GetLocalizedFormatResource(context.HasSelection ? context.SelectedItems.Count : 1);
public RichGlyph Glyph
=> new(themedIconStyle: "App.ThemedIcons.FavoritePinRemove");
diff --git a/src/Files.App/Strings/en-US/Resources.resw b/src/Files.App/Strings/en-US/Resources.resw
index 6abdb2f79735..c829bb40622f 100644
--- a/src/Files.App/Strings/en-US/Resources.resw
+++ b/src/Files.App/Strings/en-US/Resources.resw
@@ -2073,7 +2073,7 @@
Restore all items
- Do you want to restore the {0} selected item(s)?
+ Do you want to restore the {0, plural, one {selected item} other {{0} selected items}}?
Restore selection
@@ -2415,7 +2415,7 @@
Toggle whether to show sidebar
- Copy item(s) to clipboard
+ Copy {0, plural, one {item} other {items}} to clipboard
Copy path of the current directory to the clipboard
@@ -2430,25 +2430,25 @@
Copy path of the current directory with quotes to the clipboard
- Cut item(s) to clipboard
+ Cut {0, plural, one {item} other {items}} to clipboard
- Paste item(s) from clipboard to current folder
+ Paste items from clipboard to current folder
- Paste item(s) from clipboard to current folder as shortcuts
+ Paste items from clipboard to current folder as shortcuts
- Paste item(s) from clipboard to selected folder
+ Paste items from clipboard to selected folder
- Delete item(s)
+ Delete {0, plural, one {item} other {items}}
Create new folder
- Create new shortcut(s) to selected item(s)
+ Create new {0, plural, one {shortcut} other {shortcuts}} to selected {0, plural, one {item} other {items}}
Create new shortcut to any item
@@ -2460,16 +2460,16 @@
Open "Format Drive" menu for selected item
- Restore selected item(s) from recycle bin
+ Restore selected {0, plural, one {item} other {items}} from recycle bin
Restore all items from recycle bin
- Open item(s)
+ Open {0, plural, one {item} other {items}}
- Open item(s) with selected application
+ Open {0, plural, one {item} other {items}} with selected application
Open parent folder of searched item
@@ -2493,19 +2493,19 @@
Toggle item selection
- Share selected file(s) with others
+ Share selected {0, plural, one {file} other {files}} with others
- Pin item(s) to the Start Menu
+ Pin {0, plural, one {item} other {items}} to the Start Menu
- Unpin item(s) from the Start Menu
+ Unpin {0, plural, one {item} other {items}} from the Start Menu
- Pin folder(s) to Sidebar
+ Pin {0, plural, one {folder} other {folders}} to Sidebar
- Unpin folder(s) from Sidebar
+ Unpin {0, plural, one {folder} other {folders}} from Sidebar
Set selected picture as desktop background
@@ -2520,13 +2520,13 @@
Set selected picture as the app background
- Install selected font(s)
+ Install selected {0, plural, one {font} other {fonts}}
- Install driver(s) using selected inf file(s)
+ Install {0, plural, one {driver} other {drivers}} using selected inf {0, plural, one {file} other {files}}
- Install selected certificate(s)
+ Install selected {0, plural, one {certificate} other {certificates}}
Run selected application as administrator
@@ -2541,28 +2541,28 @@
Launch preview in popup window
- Create archive with selected item(s)
+ Create archive with selected {0, plural, one {item} other {items}}
- Create 7z archive instantly with selected item(s)
+ Create 7z archive with selected {0, plural, one {item} other {items}}
- Create zip archive instantly with selected item(s)
+ Create zip archive with selected {0, plural, one {item} other {items}}
- Extract items from selected archive(s) to any folder
+ Extract items from selected {0, plural, one {archive} other {archives}} to any folder
- Extract items from selected archive(s) to current folder
+ Extract items from selected {0, plural, one {archive} other {archives}} to current folder
- Extract items from selected archive(s) to new folder
+ Extract items from selected {0, plural, one {archive} other {archives}} to new folder
- Rotate selected image(s) to the left
+ Rotate selected {0, plural, one {image} other {images}} to the left
- Rotate selected image(s) to the right
+ Rotate selected {0, plural, one {image} other {images}} to the right
Open settings page
@@ -2998,7 +2998,7 @@
Delete permanently
- Delete item(s) permanently
+ Delete {0, plural, one {item} other {items}} permanently
Play the selected media files
@@ -3115,7 +3115,7 @@
Switch to new branch
- Create a folder with the currently selected item(s)
+ Create a folder with the currently selected {0, plural, one {item} other {items}}
Open properties
@@ -3682,7 +3682,7 @@
Shown in a StatusCenter card.
- {0}/{1} item(s) processed
+ {0}/{1} {0, plural, one {item} other {items}} processed
Shown in a StatusCenter card. Used as "8/20 items processed"
@@ -3728,7 +3728,7 @@
There was an error applying this tag
- Extract items from selected archive(s) to current folder for single-item archive, or to new folder for multi-item archive
+ Extract items from selected {0, plural, one {archive} other {archives}} to current folder for single-item archive, or to new folder for multi-item archive
Extract here (Smart)
@@ -4070,7 +4070,7 @@
Create alternate data stream
- Create alternate data stream for the selected item(s)
+ Create alternate data stream for the selected {0, plural, one {item} other {items}}
Enter data stream name
diff --git a/src/Files.App/Utils/StatusCenter/StatusCenterItem.cs b/src/Files.App/Utils/StatusCenter/StatusCenterItem.cs
index acbc139504e2..bba1ee1436a3 100644
--- a/src/Files.App/Utils/StatusCenter/StatusCenterItem.cs
+++ b/src/Files.App/Utils/StatusCenter/StatusCenterItem.cs
@@ -301,7 +301,7 @@ private void ReportProgress(StatusCenterItemProgressModel value)
{
Message =
$"{string.Format(
- Strings.StatusCenter_ProcessedItems_Header.GetLocalizedResource(),
+ Strings.StatusCenter_ProcessedItems_Header.GetLocalizedFormatResource(value.ProcessedItemsCount),
value.ProcessedItemsCount,
value.ItemsCount)}";
}