From d43e1d8cb2c7018e91a68fb0c52896d6ff5cdf4c Mon Sep 17 00:00:00 2001 From: NOXX - Commiter Date: Sun, 4 Jan 2026 05:12:47 +0200 Subject: [PATCH 01/23] Add Antygravity plugin to third-party plugins list (#44392) ## Summary of the Pull Request ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments ## Validation Steps Performed --- doc/thirdPartyRunPlugins.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/thirdPartyRunPlugins.md b/doc/thirdPartyRunPlugins.md index 9cfdc505ff..84214e5789 100644 --- a/doc/thirdPartyRunPlugins.md +++ b/doc/thirdPartyRunPlugins.md @@ -50,6 +50,7 @@ Contact the developers of a plugin directly for assistance with a specific plugi | [Hotkeys](https://github.com/ruslanlap/PowerToysRun-Hotkeys) | [ruslanlap](https://github.com/ruslanlap) | Create, manage, and trigger custom keyboard shortcuts directly from PowerToys Run. | | [RandomGen](https://github.com/ruslanlap/PowerToysRun-RandomGen) | [ruslanlap](https://github.com/ruslanlap) | šŸŽ² Generate random data instantly with a single keystroke. Perfect for developers, testers, designers, and anyone who needs quick access to random data. Features include secure passwords, PINs, names, business data, dates, numbers, GUIDs, color codes, and more. Especially useful for designers who need random color codes and placeholder content. | | [Open With Cursor](https://github.com/VictorNoxx/PowerToys-Run-Cursor/) | [VictorNoxx](https://github.com/VictorNoxx) | Open Visual Studio, VS Code recents with Cursor AI | +| [Open With Antygravity](https://github.com/artickc/PowerToys-Run-Antygravity) | [artickc](https://github.com/artickc) | Open Visual Studio, VS Code recents with Cursor AI | | [CheatSheets](https://github.com/ruslanlap/PowerToysRun-CheatSheets) | [ruslanlap](https://github.com/ruslanlap) | šŸ“š Find cheat sheets and command examples instantly from tldr pages, cheat.sh, and devhints.io. Features include favorites system, categories, offline mode, and smart caching. | | [QuickAI](https://github.com/ruslanlap/PowerToysRun-QuickAi) | [ruslanlap](https://github.com/ruslanlap) | AI-powered assistance with instant, smart responses from multiple providers (Groq, Together, Fireworks, OpenRouter, Cohere) | From bb3435322f50a29f5d39e14d938b77471095944e Mon Sep 17 00:00:00 2001 From: Ruben Fricke Date: Sun, 4 Jan 2026 05:23:45 +0100 Subject: [PATCH 02/23] Fix broken style.md links in devdocs (#44457) ## Summary of the Pull Request Fix two broken links to style.md in devcods. This file was moved to development/style.md in PR #43399, but these references were not updated. ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments Fixed broken links in: - doc/devdocs/readme.md (line 60) - doc/devdocs/guidance.md (line 61) ## Validation Steps Performed Manually verified that the links resolve correctly. --- doc/devdocs/guidance.md | 4 ++-- doc/devdocs/readme.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/devdocs/guidance.md b/doc/devdocs/guidance.md index 6a5050d89d..c4500f5543 100644 --- a/doc/devdocs/guidance.md +++ b/doc/devdocs/guidance.md @@ -58,8 +58,8 @@ string validUIDisplayString = Resources.ValidUIDisplayString; ## More On Coding Guidance Please review these brief docs below relating to our coding standards, etc. -* [Coding Style](./style.md) -* [Code Organization](./readme.md) +* [Coding Style](development/style.md) +* [Code Organization](readme.md) [VS Resource Editor]: https://learn.microsoft.com/cpp/windows/resource-editors?view=vs-2019 diff --git a/doc/devdocs/readme.md b/doc/devdocs/readme.md index 38df894d1a..a6ac800be9 100644 --- a/doc/devdocs/readme.md +++ b/doc/devdocs/readme.md @@ -57,7 +57,7 @@ Once you've discussed your proposed feature/fix/etc. with a team member, and an ## Rules - **Follow the pattern of what you already see in the code.** -- [Coding style](style.md). +- [Coding style](development/style.md). - Try to package new functionality/components into libraries that have nicely defined interfaces. - Package new functionality into classes or refactor existing functionality into a class as you extend the code. - When adding new classes/methods/changing existing code, add new unit tests or update the existing tests. From 709c4bbf6b96a1b28c94483b03a9845eed0bc113 Mon Sep 17 00:00:00 2001 From: Kai Tao <69313318+vanzue@users.noreply.github.com> Date: Sun, 4 Jan 2026 15:18:27 +0800 Subject: [PATCH 03/23] Cmdpal: PowerToys extension localization (#44520) ## Summary of the Pull Request Localization for cmdpal powertoys extension ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments ## Validation Steps Performed --- .../FancyZones/FancyZonesMonitorListItem.cs | 25 +- .../Commands/Workspaces/WorkspaceListItem.cs | 35 +- .../Helpers/FancyZonesDataService.cs | 34 +- .../Microsoft.CmdPal.Ext.PowerToys.csproj | 15 + .../AdvancedPasteModuleCommandProvider.cs | 7 +- .../AlwaysOnTopModuleCommandProvider.cs | 3 +- .../Modules/AwakeModuleCommandProvider.cs | 33 +- .../ColorPickerModuleCommandProvider.cs | 11 +- .../CommandNotFoundModuleCommandProvider.cs | 3 +- .../CropAndLockModuleCommandProvider.cs | 11 +- ...vironmentVariablesModuleCommandProvider.cs | 11 +- .../FancyZonesModuleCommandProvider.cs | 15 +- ...FileExplorerAddonsModuleCommandProvider.cs | 3 +- .../FileLocksmithModuleCommandProvider.cs | 3 +- .../Modules/HostsModuleCommandProvider.cs | 11 +- .../ImageResizerModuleCommandProvider.cs | 3 +- .../KeyboardManagerModuleCommandProvider.cs | 3 +- .../LightSwitchModuleCommandProvider.cs | 7 +- .../MouseUtilsModuleCommandProvider.cs | 23 +- ...ouseWithoutBordersModuleCommandProvider.cs | 3 +- .../Modules/NewPlusModuleCommandProvider.cs | 3 +- .../Modules/PeekModuleCommandProvider.cs | 3 +- .../PowerRenameModuleCommandProvider.cs | 3 +- .../PowerToysRunModuleCommandProvider.cs | 3 +- .../QuickAccentModuleCommandProvider.cs | 3 +- .../RegistryPreviewModuleCommandProvider.cs | 7 +- .../ScreenRulerModuleCommandProvider.cs | 7 +- .../ShortcutGuideModuleCommandProvider.cs | 7 +- .../TextExtractorModuleCommandProvider.cs | 7 +- .../WorkspacesModuleCommandProvider.cs | 7 +- .../Modules/ZoomItModuleCommandProvider.cs | 39 +- .../Pages/ColorPickerSavedColorsPage.cs | 14 +- .../Pages/FancyZonesLayoutsPage.cs | 7 +- .../FancyZonesMonitorLayoutPickerPage.cs | 11 +- .../Pages/FancyZonesMonitorsPage.cs | 15 +- .../Pages/PowerToysExtensionPage.cs | 23 +- .../Pages/PowerToysListPage.cs | 5 +- .../PowerToysCommandsProvider.cs | 7 +- .../PowerToysExtensionCommandsProvider.cs | 7 +- .../Properties/Resources.Designer.cs | 1503 +++++++++++++++++ .../Properties/Resources.resx | 630 +++++++ 41 files changed, 2393 insertions(+), 177 deletions(-) create mode 100644 src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Properties/Resources.Designer.cs create mode 100644 src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Properties/Resources.resx diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Commands/FancyZones/FancyZonesMonitorListItem.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Commands/FancyZones/FancyZonesMonitorListItem.cs index c65db779df..3675c45311 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Commands/FancyZones/FancyZonesMonitorListItem.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Commands/FancyZones/FancyZonesMonitorListItem.cs @@ -8,6 +8,7 @@ using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension.Pages; @@ -24,15 +25,15 @@ internal sealed partial class FancyZonesMonitorListItem : ListItem var pickerPage = new FancyZonesMonitorLayoutPickerPage(monitor) { - Name = "Set active layout", + Name = Resources.FancyZones_SetActiveLayout, }; MoreCommands = [ new CommandContextItem(pickerPage) { - Title = "Set active layout", - Subtitle = "Pick a layout for this monitor", + Title = Resources.FancyZones_SetActiveLayout, + Subtitle = Resources.FancyZones_PickLayoutForMonitor, }, ]; } @@ -42,14 +43,14 @@ internal sealed partial class FancyZonesMonitorListItem : ListItem var currentVirtualDesktop = FancyZonesVirtualDesktop.GetCurrentVirtualDesktopIdString(); var tags = new List { - DetailTag("Monitor", monitor.Data.Monitor), - DetailTag("Instance", monitor.Data.MonitorInstanceId), - DetailTag("Serial", monitor.Data.MonitorSerialNumber), - DetailTag("Number", monitor.Data.MonitorNumber.ToString(CultureInfo.InvariantCulture)), - DetailTag("Virtual desktop", currentVirtualDesktop), - DetailTag("Work area", $"{monitor.Data.LeftCoordinate},{monitor.Data.TopCoordinate} {monitor.Data.WorkAreaWidth}\u00D7{monitor.Data.WorkAreaHeight}"), - DetailTag("Resolution", $"{monitor.Data.MonitorWidth}\u00D7{monitor.Data.MonitorHeight}"), - DetailTag("DPI", monitor.Data.Dpi.ToString(CultureInfo.InvariantCulture)), + DetailTag(Resources.FancyZones_Monitor, monitor.Data.Monitor), + DetailTag(Resources.FancyZones_Instance, monitor.Data.MonitorInstanceId), + DetailTag(Resources.FancyZones_Serial, monitor.Data.MonitorSerialNumber), + DetailTag(Resources.FancyZones_Number, monitor.Data.MonitorNumber.ToString(CultureInfo.InvariantCulture)), + DetailTag(Resources.FancyZones_VirtualDesktop, currentVirtualDesktop), + DetailTag(Resources.FancyZones_WorkArea, $"{monitor.Data.LeftCoordinate},{monitor.Data.TopCoordinate} {monitor.Data.WorkAreaWidth}\u00D7{monitor.Data.WorkAreaHeight}"), + DetailTag(Resources.FancyZones_Resolution, $"{monitor.Data.MonitorWidth}\u00D7{monitor.Data.MonitorHeight}"), + DetailTag(Resources.FancyZones_DPI, monitor.Data.Dpi.ToString(CultureInfo.InvariantCulture)), }; return new Details @@ -68,7 +69,7 @@ internal sealed partial class FancyZonesMonitorListItem : ListItem Key = key, Data = new DetailsTags { - Tags = [new Tag(string.IsNullOrWhiteSpace(value) ? "n/a" : value)], + Tags = [new Tag(string.IsNullOrWhiteSpace(value) ? Resources.Common_NotAvailable : value)], }, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Commands/Workspaces/WorkspaceListItem.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Commands/Workspaces/WorkspaceListItem.cs index 1b2024e759..de1409e823 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Commands/Workspaces/WorkspaceListItem.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Commands/Workspaces/WorkspaceListItem.cs @@ -5,15 +5,24 @@ using System; using System.Collections.Generic; using System.Globalization; +using System.Text; using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using WorkspacesCsharpLibrary.Data; namespace PowerToysExtension.Commands; internal sealed partial class WorkspaceListItem : ListItem { + private static readonly CompositeFormat ApplicationsFormat = CompositeFormat.Parse(Resources.Workspaces_Applications_Format); + private static readonly CompositeFormat LastLaunchedFormat = CompositeFormat.Parse(Resources.Workspaces_LastLaunched_Format); + private static readonly CompositeFormat ApplicationsCountFormat = CompositeFormat.Parse(Resources.Workspaces_ApplicationsCount_Format); + private static readonly CompositeFormat MinAgoFormat = CompositeFormat.Parse(Resources.Workspaces_MinAgo_Format); + private static readonly CompositeFormat HrAgoFormat = CompositeFormat.Parse(Resources.Workspaces_HrAgo_Format); + private static readonly CompositeFormat DaysAgoFormat = CompositeFormat.Parse(Resources.Workspaces_DaysAgo_Format); + public WorkspaceListItem(ProjectWrapper workspace, IconInfo icon) : base(new LaunchWorkspaceCommand(workspace.Id)) { @@ -28,13 +37,13 @@ internal sealed partial class WorkspaceListItem : ListItem var appCount = workspace.Applications?.Count ?? 0; var appsText = appCount switch { - 0 => "No applications", - _ => string.Format(CultureInfo.CurrentCulture, "{0} applications", appCount), + 0 => Resources.Workspaces_NoApplications, + _ => string.Format(CultureInfo.CurrentCulture, ApplicationsFormat, appCount), }; var lastLaunched = workspace.LastLaunchedTime > 0 - ? $"Last launched {FormatRelativeTime(workspace.LastLaunchedTime)}" - : "Never launched"; + ? string.Format(CultureInfo.CurrentCulture, LastLaunchedFormat, FormatRelativeTime(workspace.LastLaunchedTime)) + : Resources.Workspaces_NeverLaunched; return $"{appsText} \u2022 {lastLaunched}"; } @@ -44,15 +53,15 @@ internal sealed partial class WorkspaceListItem : ListItem var appCount = workspace.Applications?.Count ?? 0; var body = appCount switch { - 0 => "No applications in this workspace", - 1 => "1 application", - _ => $"{appCount} applications", + 0 => Resources.Workspaces_NoApplicationsInWorkspace, + 1 => Resources.Workspaces_OneApplication, + _ => string.Format(CultureInfo.CurrentCulture, ApplicationsCountFormat, appCount), }; return new Details { HeroImage = icon, - Title = workspace.Name ?? "Workspace", + Title = workspace.Name ?? Resources.Workspaces_Workspace, Body = body, Metadata = BuildAppMetadata(workspace), }; @@ -68,7 +77,7 @@ internal sealed partial class WorkspaceListItem : ListItem var elements = new List(); foreach (var app in workspace.Applications) { - var appName = string.IsNullOrWhiteSpace(app.Application) ? "App" : app.Application; + var appName = string.IsNullOrWhiteSpace(app.Application) ? Resources.Workspaces_App : app.Application; var title = string.IsNullOrWhiteSpace(app.Title) ? appName : app.Title; var tags = new List(); @@ -99,19 +108,19 @@ internal sealed partial class WorkspaceListItem : ListItem if (delta.TotalMinutes < 1) { - return "just now"; + return Resources.Workspaces_JustNow; } if (delta.TotalMinutes < 60) { - return string.Format(CultureInfo.CurrentCulture, "{0} min ago", (int)delta.TotalMinutes); + return string.Format(CultureInfo.CurrentCulture, MinAgoFormat, (int)delta.TotalMinutes); } if (delta.TotalHours < 24) { - return string.Format(CultureInfo.CurrentCulture, "{0} hr ago", (int)delta.TotalHours); + return string.Format(CultureInfo.CurrentCulture, HrAgoFormat, (int)delta.TotalHours); } - return string.Format(CultureInfo.CurrentCulture, "{0} days ago", (int)delta.TotalDays); + return string.Format(CultureInfo.CurrentCulture, DaysAgoFormat, (int)delta.TotalDays); } } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Helpers/FancyZonesDataService.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Helpers/FancyZonesDataService.cs index 0a55859409..639128d7f7 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Helpers/FancyZonesDataService.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Helpers/FancyZonesDataService.cs @@ -4,13 +4,16 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; +using System.Text; using System.Text.Json; using FancyZonesEditorCommon.Data; using FancyZonesEditorCommon.Utils; using ManagedCommon; +using PowerToysExtension.Properties; using FZPaths = FancyZonesEditorCommon.Data.FancyZonesPaths; @@ -20,6 +23,15 @@ internal static class FancyZonesDataService { private const string ZeroUuid = "{00000000-0000-0000-0000-000000000000}"; + private static readonly CompositeFormat ReadMonitorDataFailedFormat = CompositeFormat.Parse(Resources.FancyZones_ReadMonitorDataFailed_Format); + private static readonly CompositeFormat WriteAppliedLayoutsFailedFormat = CompositeFormat.Parse(Resources.FancyZones_WriteAppliedLayoutsFailed_Format); + private static readonly CompositeFormat LayoutAppliedNotifyFailedFormat = CompositeFormat.Parse(Resources.FancyZones_LayoutAppliedNotifyFailed_Format); + private static readonly CompositeFormat TemplateFormat = CompositeFormat.Parse(Resources.FancyZones_Template_Format); + private static readonly CompositeFormat ZonesFormat = CompositeFormat.Parse(Resources.FancyZones_Zones_Format); + private static readonly CompositeFormat CustomGridZonesFormat = CompositeFormat.Parse(Resources.FancyZones_CustomGrid_Zones_Format); + private static readonly CompositeFormat CustomCanvasZonesFormat = CompositeFormat.Parse(Resources.FancyZones_CustomCanvas_Zones_Format); + private static readonly CompositeFormat CustomZonesFormat = CompositeFormat.Parse(Resources.FancyZones_Custom_Zones_Format); + public static bool TryGetMonitors(out IReadOnlyList monitors, out string error) { monitors = Array.Empty(); @@ -31,7 +43,7 @@ internal static class FancyZonesDataService { if (!File.Exists(FZPaths.EditorParameters)) { - error = "FancyZones monitor data not found. Open FancyZones Editor once to initialize."; + error = Resources.FancyZones_MonitorDataNotFound; Logger.LogWarning($"TryGetMonitors: File not found. Path={FZPaths.EditorParameters}"); return false; } @@ -43,7 +55,7 @@ internal static class FancyZonesDataService var editorMonitors = editorParams.Monitors; if (editorMonitors is null || editorMonitors.Count == 0) { - error = "No FancyZones monitors found."; + error = Resources.FancyZones_NoFancyZonesMonitorsFound; Logger.LogWarning($"TryGetMonitors: No monitors in file."); return false; } @@ -56,7 +68,7 @@ internal static class FancyZonesDataService } catch (Exception ex) { - error = $"Failed to read FancyZones monitor data: {ex.Message}"; + error = string.Format(CultureInfo.CurrentCulture, ReadMonitorDataFailedFormat, ex.Message); Logger.LogError($"TryGetMonitors: Exception. Message={ex.Message} Stack={ex.StackTrace}"); return false; } @@ -204,7 +216,7 @@ internal static class FancyZonesDataService } catch (Exception ex) { - return (false, $"Failed to write applied layouts: {ex.Message}"); + return (false, string.Format(CultureInfo.CurrentCulture, WriteAppliedLayoutsFailedFormat, ex.Message)); } try @@ -213,10 +225,10 @@ internal static class FancyZonesDataService } catch (Exception ex) { - return (true, $"Layout applied, but FancyZones could not be notified: {ex.Message}"); + return (true, string.Format(CultureInfo.CurrentCulture, LayoutAppliedNotifyFailedFormat, ex.Message)); } - return (true, "Layout applied."); + return (true, Resources.FancyZones_LayoutApplied); } private static AppliedLayouts.AppliedLayoutWrapper? FindAppliedLayoutEntry(AppliedLayouts.AppliedLayoutsListWrapper file, EditorParameters.NativeMonitorDataWrapper monitor, string virtualDesktopId) @@ -293,8 +305,8 @@ internal static class FancyZonesDataService var zoneCount = type.Equals("blank", StringComparison.OrdinalIgnoreCase) ? 0 : template.ZoneCount > 0 ? template.ZoneCount : 3; - var title = $"Template: {type}"; - var subtitle = $"{zoneCount} zones"; + var title = string.Format(CultureInfo.CurrentCulture, TemplateFormat, type); + var subtitle = string.Format(CultureInfo.CurrentCulture, ZonesFormat, zoneCount); yield return new FancyZonesLayoutDescriptor { @@ -357,9 +369,9 @@ internal static class FancyZonesDataService var title = custom.Name.Trim(); var subtitle = customType switch { - "grid" => $"Custom grid \u2022 {applied.ZoneCount} zones", - "canvas" => $"Custom canvas \u2022 {applied.ZoneCount} zones", - _ => $"Custom \u2022 {applied.ZoneCount} zones", + "grid" => string.Format(CultureInfo.CurrentCulture, CustomGridZonesFormat, applied.ZoneCount), + "canvas" => string.Format(CultureInfo.CurrentCulture, CustomCanvasZonesFormat, applied.ZoneCount), + _ => string.Format(CultureInfo.CurrentCulture, CustomZonesFormat, applied.ZoneCount), }; yield return new FancyZonesLayoutDescriptor diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Microsoft.CmdPal.Ext.PowerToys.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Microsoft.CmdPal.Ext.PowerToys.csproj index 36cfeb93f4..17882fe05d 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Microsoft.CmdPal.Ext.PowerToys.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Microsoft.CmdPal.Ext.PowerToys.csproj @@ -61,6 +61,21 @@ + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + true diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AdvancedPasteModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AdvancedPasteModuleCommandProvider.cs index 58083919c0..0dd79ba1c3 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AdvancedPasteModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AdvancedPasteModuleCommandProvider.cs @@ -7,6 +7,7 @@ using Common.UI; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension.Modules; @@ -22,8 +23,8 @@ internal sealed class AdvancedPasteModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new OpenAdvancedPasteCommand()) { - Title = "Open Advanced Paste", - Subtitle = "Launch the Advanced Paste UI", + Title = Resources.AdvancedPaste_Open_Title, + Subtitle = Resources.AdvancedPaste_Open_Subtitle, Icon = icon, }; } @@ -31,7 +32,7 @@ internal sealed class AdvancedPasteModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Advanced Paste settings", + Subtitle = Resources.AdvancedPaste_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AlwaysOnTopModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AlwaysOnTopModuleCommandProvider.cs index cad8a282da..5974359b5a 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AlwaysOnTopModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AlwaysOnTopModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class AlwaysOnTopModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.AlwaysOnTop, title)) { Title = title, - Subtitle = "Open Always On Top settings", + Subtitle = Resources.AlwaysOnTop_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AwakeModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AwakeModuleCommandProvider.cs index 935371fba4..5d958da38a 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AwakeModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/AwakeModuleCommandProvider.cs @@ -10,6 +10,7 @@ using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; using PowerToysExtension.Pages; +using PowerToysExtension.Properties; namespace PowerToysExtension.Modules; @@ -26,7 +27,7 @@ internal sealed class AwakeModuleCommandProvider : ModuleCommandProvider items.Add(new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Awake settings", + Subtitle = Resources.Awake_Settings_Subtitle, Icon = moduleIcon, }); @@ -49,40 +50,40 @@ internal sealed class AwakeModuleCommandProvider : ModuleCommandProvider statusItem = new ListItem(new CommandItem(refreshCommand)) { - Title = "Awake: Current status", + Title = Resources.Awake_Status_Title, Subtitle = AwakeStatusService.GetStatusSubtitle(), Icon = icon, }; items.Add(statusItem); - items.Add(new ListItem(new StartAwakeCommand("Awake: Keep awake indefinitely", () => AwakeService.Instance.SetIndefiniteAsync(), "Awake set to indefinite", refreshStatus)) + items.Add(new ListItem(new StartAwakeCommand(Resources.Awake_KeepIndefinite_Title, () => AwakeService.Instance.SetIndefiniteAsync(), Resources.Awake_SetIndefinite_Toast, refreshStatus)) { - Title = "Awake: Keep awake indefinitely", - Subtitle = "Run Awake in indefinite mode", + Title = Resources.Awake_KeepIndefinite_Title, + Subtitle = Resources.Awake_KeepIndefinite_Subtitle, Icon = icon, }); - items.Add(new ListItem(new StartAwakeCommand("Awake: Keep awake for 30 minutes", () => AwakeService.Instance.SetTimedAsync(30), "Awake set for 30 minutes", refreshStatus)) + items.Add(new ListItem(new StartAwakeCommand(Resources.Awake_Keep30Min_Title, () => AwakeService.Instance.SetTimedAsync(30), Resources.Awake_Set30Min_Toast, refreshStatus)) { - Title = "Awake: Keep awake for 30 minutes", - Subtitle = "Run Awake timed for 30 minutes", + Title = Resources.Awake_Keep30Min_Title, + Subtitle = Resources.Awake_Keep30Min_Subtitle, Icon = icon, }); - items.Add(new ListItem(new StartAwakeCommand("Awake: Keep awake for 1 hour", () => AwakeService.Instance.SetTimedAsync(60), "Awake set for 1 hour", refreshStatus)) + items.Add(new ListItem(new StartAwakeCommand(Resources.Awake_Keep1Hour_Title, () => AwakeService.Instance.SetTimedAsync(60), Resources.Awake_Set1Hour_Toast, refreshStatus)) { - Title = "Awake: Keep awake for 1 hour", - Subtitle = "Run Awake timed for 1 hour", + Title = Resources.Awake_Keep1Hour_Title, + Subtitle = Resources.Awake_Keep1Hour_Subtitle, Icon = icon, }); - items.Add(new ListItem(new StartAwakeCommand("Awake: Keep awake for 2 hours", () => AwakeService.Instance.SetTimedAsync(120), "Awake set for 2 hours", refreshStatus)) + items.Add(new ListItem(new StartAwakeCommand(Resources.Awake_Keep2Hours_Title, () => AwakeService.Instance.SetTimedAsync(120), Resources.Awake_Set2Hours_Toast, refreshStatus)) { - Title = "Awake: Keep awake for 2 hours", - Subtitle = "Run Awake timed for 2 hours", + Title = Resources.Awake_Keep2Hours_Title, + Subtitle = Resources.Awake_Keep2Hours_Subtitle, Icon = icon, }); items.Add(new ListItem(new StopAwakeCommand(refreshStatus)) { - Title = "Awake: Turn off", - Subtitle = "Switch Awake back to Off", + Title = Resources.Awake_TurnOff_Title, + Subtitle = Resources.Awake_TurnOff_Subtitle, Icon = icon, }); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ColorPickerModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ColorPickerModuleCommandProvider.cs index 27b3be6f05..6c2a593ff2 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ColorPickerModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ColorPickerModuleCommandProvider.cs @@ -8,6 +8,7 @@ using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; using PowerToysExtension.Pages; +using PowerToysExtension.Properties; namespace PowerToysExtension.Modules; @@ -24,7 +25,7 @@ internal sealed class ColorPickerModuleCommandProvider : ModuleCommandProvider commands.Add(new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Color Picker settings", + Subtitle = Resources.ColorPicker_Settings_Subtitle, Icon = icon, }); @@ -36,15 +37,15 @@ internal sealed class ColorPickerModuleCommandProvider : ModuleCommandProvider // Direct entries in the module list. commands.Add(new ListItem(new OpenColorPickerCommand()) { - Title = "Open Color Picker", - Subtitle = "Start a color pick session", + Title = Resources.ColorPicker_Open_Title, + Subtitle = Resources.ColorPicker_Open_Subtitle, Icon = icon, }); commands.Add(new ListItem(new CommandItem(new ColorPickerSavedColorsPage())) { - Title = "Saved colors", - Subtitle = "Browse and copy saved colors", + Title = Resources.ColorPicker_SavedColors_Title, + Subtitle = Resources.ColorPicker_SavedColors_Subtitle, Icon = icon, }); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/CommandNotFoundModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/CommandNotFoundModuleCommandProvider.cs index 2ec95172f9..48d6701924 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/CommandNotFoundModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/CommandNotFoundModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class CommandNotFoundModuleCommandProvider : ModuleCommandProvid yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.CmdNotFound, title)) { Title = title, - Subtitle = "Open Command Not Found settings", + Subtitle = Resources.CommandNotFound_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/CropAndLockModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/CropAndLockModuleCommandProvider.cs index c3f6d1ccd4..9902735871 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/CropAndLockModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/CropAndLockModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -22,15 +23,15 @@ internal sealed class CropAndLockModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new CropAndLockReparentCommand()) { - Title = "Crop and Lock (Reparent)", - Subtitle = "Create a cropped reparented window", + Title = Resources.CropAndLock_Reparent_Title, + Subtitle = Resources.CropAndLock_Reparent_Subtitle, Icon = icon, }; yield return new ListItem(new CropAndLockThumbnailCommand()) { - Title = "Crop and Lock (Thumbnail)", - Subtitle = "Create a cropped thumbnail window", + Title = Resources.CropAndLock_Thumbnail_Title, + Subtitle = Resources.CropAndLock_Thumbnail_Subtitle, Icon = icon, }; } @@ -38,7 +39,7 @@ internal sealed class CropAndLockModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Crop and Lock settings", + Subtitle = Resources.CropAndLock_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/EnvironmentVariablesModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/EnvironmentVariablesModuleCommandProvider.cs index d72644c1bf..ad18153001 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/EnvironmentVariablesModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/EnvironmentVariablesModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -22,15 +23,15 @@ internal sealed class EnvironmentVariablesModuleCommandProvider : ModuleCommandP { yield return new ListItem(new OpenEnvironmentVariablesCommand()) { - Title = "Open Environment Variables", - Subtitle = "Launch Environment Variables editor", + Title = Resources.EnvironmentVariables_Open_Title, + Subtitle = Resources.EnvironmentVariables_Open_Subtitle, Icon = icon, }; yield return new ListItem(new OpenEnvironmentVariablesAdminCommand()) { - Title = "Open Environment Variables (Admin)", - Subtitle = "Launch Environment Variables editor as admin", + Title = Resources.EnvironmentVariables_OpenAdmin_Title, + Subtitle = Resources.EnvironmentVariables_OpenAdmin_Subtitle, Icon = icon, }; } @@ -38,7 +39,7 @@ internal sealed class EnvironmentVariablesModuleCommandProvider : ModuleCommandP yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Environment Variables settings", + Subtitle = Resources.EnvironmentVariables_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FancyZonesModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FancyZonesModuleCommandProvider.cs index 6a4287d60f..f6a6d10524 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FancyZonesModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FancyZonesModuleCommandProvider.cs @@ -7,6 +7,7 @@ using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; using PowerToysExtension.Pages; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -23,22 +24,22 @@ internal sealed class FancyZonesModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new CommandItem(new FancyZonesLayoutsPage())) { - Title = "FancyZones: Layouts", - Subtitle = "Apply a layout to all monitors or a specific monitor", + Title = Resources.FancyZones_Layouts_Title, + Subtitle = Resources.FancyZones_Layouts_Subtitle, Icon = icon, }; yield return new ListItem(new CommandItem(new FancyZonesMonitorsPage())) { - Title = "FancyZones: Monitors", - Subtitle = "Identify monitors and apply layouts", + Title = Resources.FancyZones_Monitors_Title, + Subtitle = Resources.FancyZones_Monitors_Subtitle, Icon = icon, }; yield return new ListItem(new OpenFancyZonesEditorCommand()) { - Title = "Open FancyZones Editor", - Subtitle = "Launch layout editor", + Title = Resources.FancyZones_OpenEditor_Title, + Subtitle = Resources.FancyZones_OpenEditor_Subtitle, Icon = icon, }; } @@ -46,7 +47,7 @@ internal sealed class FancyZonesModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open FancyZones settings", + Subtitle = Resources.FancyZones_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FileExplorerAddonsModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FileExplorerAddonsModuleCommandProvider.cs index 5fa5162cf8..e64ab1414a 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FileExplorerAddonsModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FileExplorerAddonsModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class FileExplorerAddonsModuleCommandProvider : ModuleCommandPro yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.FileExplorer, title)) { Title = title, - Subtitle = "Open File Explorer add-ons settings", + Subtitle = Resources.FileExplorerAddons_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FileLocksmithModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FileLocksmithModuleCommandProvider.cs index 19e5a135e5..5c8f7f367d 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FileLocksmithModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/FileLocksmithModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class FileLocksmithModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.FileLocksmith, title)) { Title = title, - Subtitle = "Open File Locksmith settings", + Subtitle = Resources.FileLocksmith_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/HostsModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/HostsModuleCommandProvider.cs index 839598b428..c9dd6b04ed 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/HostsModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/HostsModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -22,15 +23,15 @@ internal sealed class HostsModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new OpenHostsEditorCommand()) { - Title = "Open Hosts File Editor", - Subtitle = "Launch Hosts File Editor", + Title = Resources.Hosts_Open_Title, + Subtitle = Resources.Hosts_Open_Subtitle, Icon = icon, }; yield return new ListItem(new OpenHostsEditorAdminCommand()) { - Title = "Open Hosts File Editor (Admin)", - Subtitle = "Launch Hosts File Editor as admin", + Title = Resources.Hosts_OpenAdmin_Title, + Subtitle = Resources.Hosts_OpenAdmin_Subtitle, Icon = icon, }; } @@ -38,7 +39,7 @@ internal sealed class HostsModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Hosts File Editor settings", + Subtitle = Resources.Hosts_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ImageResizerModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ImageResizerModuleCommandProvider.cs index 6ec2f1b3a6..627cd0f2a7 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ImageResizerModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ImageResizerModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class ImageResizerModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.ImageResizer, title)) { Title = title, - Subtitle = "Open Image Resizer settings", + Subtitle = Resources.ImageResizer_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/KeyboardManagerModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/KeyboardManagerModuleCommandProvider.cs index bb42f484a7..2742db9904 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/KeyboardManagerModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/KeyboardManagerModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class KeyboardManagerModuleCommandProvider : ModuleCommandProvid yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.KBM, title)) { Title = title, - Subtitle = "Open Keyboard Manager settings", + Subtitle = Resources.KeyboardManager_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/LightSwitchModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/LightSwitchModuleCommandProvider.cs index a07c06fedb..f7a9b33744 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/LightSwitchModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/LightSwitchModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -24,8 +25,8 @@ internal sealed class LightSwitchModuleCommandProvider : ModuleCommandProvider { items.Add(new ListItem(new ToggleLightSwitchCommand()) { - Title = "Toggle Light Switch", - Subtitle = "Toggle system/apps theme immediately", + Title = Resources.LightSwitch_Toggle_Title, + Subtitle = Resources.LightSwitch_Toggle_Subtitle, Icon = icon, }); } @@ -33,7 +34,7 @@ internal sealed class LightSwitchModuleCommandProvider : ModuleCommandProvider items.Add(new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Light Switch settings", + Subtitle = Resources.LightSwitch_Settings_Subtitle, Icon = icon, }); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/MouseUtilsModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/MouseUtilsModuleCommandProvider.cs index 34c6be193e..bce2c86e5e 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/MouseUtilsModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/MouseUtilsModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -22,8 +23,8 @@ internal sealed class MouseUtilsModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new ToggleFindMyMouseCommand()) { - Title = "Trigger Find My Mouse", - Subtitle = "Focus the mouse pointer", + Title = Resources.MouseUtils_FindMyMouse_Title, + Subtitle = Resources.MouseUtils_FindMyMouse_Subtitle, Icon = icon, }; } @@ -32,8 +33,8 @@ internal sealed class MouseUtilsModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new ToggleMouseHighlighterCommand()) { - Title = "Toggle Mouse Highlighter", - Subtitle = "Highlight mouse clicks", + Title = Resources.MouseUtils_Highlighter_Title, + Subtitle = Resources.MouseUtils_Highlighter_Subtitle, Icon = icon, }; } @@ -42,8 +43,8 @@ internal sealed class MouseUtilsModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new ToggleMouseCrosshairsCommand()) { - Title = "Toggle Mouse Crosshairs", - Subtitle = "Enable or disable pointer crosshairs", + Title = Resources.MouseUtils_Crosshairs_Title, + Subtitle = Resources.MouseUtils_Crosshairs_Subtitle, Icon = icon, }; } @@ -52,8 +53,8 @@ internal sealed class MouseUtilsModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new ToggleCursorWrapCommand()) { - Title = "Toggle Cursor Wrap", - Subtitle = "Wrap the cursor across monitor edges", + Title = Resources.MouseUtils_CursorWrap_Title, + Subtitle = Resources.MouseUtils_CursorWrap_Subtitle, Icon = icon, }; } @@ -62,8 +63,8 @@ internal sealed class MouseUtilsModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new ShowMouseJumpPreviewCommand()) { - Title = "Show Mouse Jump Preview", - Subtitle = "Jump the pointer to a target", + Title = Resources.MouseUtils_MouseJump_Title, + Subtitle = Resources.MouseUtils_MouseJump_Subtitle, Icon = icon, }; } @@ -71,7 +72,7 @@ internal sealed class MouseUtilsModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Mouse Utilities settings", + Subtitle = Resources.MouseUtils_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/MouseWithoutBordersModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/MouseWithoutBordersModuleCommandProvider.cs index 49a3f3635a..d7e96fbf68 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/MouseWithoutBordersModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/MouseWithoutBordersModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class MouseWithoutBordersModuleCommandProvider : ModuleCommandPr yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.MouseWithoutBorders, title)) { Title = title, - Subtitle = "Open Mouse Without Borders settings", + Subtitle = Resources.MouseWithoutBorders_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/NewPlusModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/NewPlusModuleCommandProvider.cs index f88d104b73..7dec548765 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/NewPlusModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/NewPlusModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class NewPlusModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.NewPlus, title)) { Title = title, - Subtitle = "Open New+ settings", + Subtitle = Resources.NewPlus_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PeekModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PeekModuleCommandProvider.cs index a55a187206..8c65b95276 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PeekModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PeekModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class PeekModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.Peek, title)) { Title = title, - Subtitle = "Open Peek settings", + Subtitle = Resources.Peek_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PowerRenameModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PowerRenameModuleCommandProvider.cs index 434a1d53cf..2cebee25cd 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PowerRenameModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PowerRenameModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class PowerRenameModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.PowerRename, title)) { Title = title, - Subtitle = "Open PowerRename settings", + Subtitle = Resources.PowerRename_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PowerToysRunModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PowerToysRunModuleCommandProvider.cs index 593bebb3a9..35f75467b7 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PowerToysRunModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/PowerToysRunModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class PowerToysRunModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.PowerLauncher, title)) { Title = title, - Subtitle = "Open PowerToys Run settings", + Subtitle = Resources.PowerToysRun_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/QuickAccentModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/QuickAccentModuleCommandProvider.cs index 9122b3534c..b0c97dfa99 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/QuickAccentModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/QuickAccentModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -20,7 +21,7 @@ internal sealed class QuickAccentModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(SettingsWindow.PowerAccent, title)) { Title = title, - Subtitle = "Open Quick Accent settings", + Subtitle = Resources.QuickAccent_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/RegistryPreviewModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/RegistryPreviewModuleCommandProvider.cs index 7dbe3f841b..9069931a82 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/RegistryPreviewModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/RegistryPreviewModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -22,8 +23,8 @@ internal sealed class RegistryPreviewModuleCommandProvider : ModuleCommandProvid { yield return new ListItem(new OpenRegistryPreviewCommand()) { - Title = "Open Registry Preview", - Subtitle = "Launch Registry Preview", + Title = Resources.RegistryPreview_Open_Title, + Subtitle = Resources.RegistryPreview_Open_Subtitle, Icon = icon, }; } @@ -31,7 +32,7 @@ internal sealed class RegistryPreviewModuleCommandProvider : ModuleCommandProvid yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Registry Preview settings", + Subtitle = Resources.RegistryPreview_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ScreenRulerModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ScreenRulerModuleCommandProvider.cs index 23674c3dfe..62591f542f 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ScreenRulerModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ScreenRulerModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -22,8 +23,8 @@ internal sealed class ScreenRulerModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new ToggleScreenRulerCommand()) { - Title = "Toggle Screen Ruler", - Subtitle = "Start or close Screen Ruler", + Title = Resources.ScreenRuler_Toggle_Title, + Subtitle = Resources.ScreenRuler_Toggle_Subtitle, Icon = icon, }; } @@ -31,7 +32,7 @@ internal sealed class ScreenRulerModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Screen Ruler settings", + Subtitle = Resources.ScreenRuler_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ShortcutGuideModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ShortcutGuideModuleCommandProvider.cs index 20f487c1f3..1c194b7d14 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ShortcutGuideModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ShortcutGuideModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -22,8 +23,8 @@ internal sealed class ShortcutGuideModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new ToggleShortcutGuideCommand()) { - Title = "Toggle Shortcut Guide", - Subtitle = "Show or hide Shortcut Guide", + Title = Resources.ShortcutGuide_Toggle_Title, + Subtitle = Resources.ShortcutGuide_Toggle_Subtitle, Icon = icon, }; } @@ -31,7 +32,7 @@ internal sealed class ShortcutGuideModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Shortcut Guide settings", + Subtitle = Resources.ShortcutGuide_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/TextExtractorModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/TextExtractorModuleCommandProvider.cs index a8e816ccc6..ea72d7611b 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/TextExtractorModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/TextExtractorModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -22,8 +23,8 @@ internal sealed class TextExtractorModuleCommandProvider : ModuleCommandProvider { yield return new ListItem(new ToggleTextExtractorCommand()) { - Title = "Toggle Text Extractor", - Subtitle = "Start or close Text Extractor", + Title = Resources.TextExtractor_Toggle_Title, + Subtitle = Resources.TextExtractor_Toggle_Subtitle, Icon = icon, }; } @@ -31,7 +32,7 @@ internal sealed class TextExtractorModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Text Extractor settings", + Subtitle = Resources.TextExtractor_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/WorkspacesModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/WorkspacesModuleCommandProvider.cs index 49d585ba6d..0cc315bbf9 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/WorkspacesModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/WorkspacesModuleCommandProvider.cs @@ -7,6 +7,7 @@ using Common.UI; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using Workspaces.ModuleServices; using WorkspacesCsharpLibrary.Data; @@ -25,7 +26,7 @@ internal sealed class WorkspacesModuleCommandProvider : ModuleCommandProvider items.Add(new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open Workspaces settings", + Subtitle = Resources.Workspaces_Settings_Subtitle, Icon = moduleIcon, }); @@ -37,8 +38,8 @@ internal sealed class WorkspacesModuleCommandProvider : ModuleCommandProvider // Settings entry plus common actions. items.Add(new ListItem(new OpenWorkspaceEditorCommand()) { - Title = "Workspaces: Open editor", - Subtitle = "Create or edit workspaces", + Title = Resources.Workspaces_OpenEditor_Title, + Subtitle = Resources.Workspaces_OpenEditor_Subtitle, Icon = icon, }); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ZoomItModuleCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ZoomItModuleCommandProvider.cs index a73ccdfbe3..0392e4a759 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ZoomItModuleCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Modules/ZoomItModuleCommandProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; using static Common.UI.SettingsDeepLink; namespace PowerToysExtension.Modules; @@ -21,40 +22,40 @@ internal sealed class ZoomItModuleCommandProvider : ModuleCommandProvider if (ModuleEnablementService.IsModuleEnabled(module)) { // Action commands via ZoomIt IPC - yield return new ListItem(new ZoomItActionCommand("zoom", "ZoomIt: Zoom")) + yield return new ListItem(new ZoomItActionCommand("zoom", Resources.ZoomIt_Zoom_Title)) { - Title = "ZoomIt: Zoom", - Subtitle = "Enter zoom mode", + Title = Resources.ZoomIt_Zoom_Title, + Subtitle = Resources.ZoomIt_Zoom_Subtitle, Icon = icon, }; - yield return new ListItem(new ZoomItActionCommand("draw", "ZoomIt: Draw")) + yield return new ListItem(new ZoomItActionCommand("draw", Resources.ZoomIt_Draw_Title)) { - Title = "ZoomIt: Draw", - Subtitle = "Enter drawing mode", + Title = Resources.ZoomIt_Draw_Title, + Subtitle = Resources.ZoomIt_Draw_Subtitle, Icon = icon, }; - yield return new ListItem(new ZoomItActionCommand("break", "ZoomIt: Break")) + yield return new ListItem(new ZoomItActionCommand("break", Resources.ZoomIt_Break_Title)) { - Title = "ZoomIt: Break", - Subtitle = "Enter break timer", + Title = Resources.ZoomIt_Break_Title, + Subtitle = Resources.ZoomIt_Break_Subtitle, Icon = icon, }; - yield return new ListItem(new ZoomItActionCommand("liveZoom", "ZoomIt: Live Zoom")) + yield return new ListItem(new ZoomItActionCommand("liveZoom", Resources.ZoomIt_LiveZoom_Title)) { - Title = "ZoomIt: Live Zoom", - Subtitle = "Toggle live zoom", + Title = Resources.ZoomIt_LiveZoom_Title, + Subtitle = Resources.ZoomIt_LiveZoom_Subtitle, Icon = icon, }; - yield return new ListItem(new ZoomItActionCommand("snip", "ZoomIt: Snip")) + yield return new ListItem(new ZoomItActionCommand("snip", Resources.ZoomIt_Snip_Title)) { - Title = "ZoomIt: Snip", - Subtitle = "Enter snip mode", + Title = Resources.ZoomIt_Snip_Title, + Subtitle = Resources.ZoomIt_Snip_Subtitle, Icon = icon, }; - yield return new ListItem(new ZoomItActionCommand("record", "ZoomIt: Record")) + yield return new ListItem(new ZoomItActionCommand("record", Resources.ZoomIt_Record_Title)) { - Title = "ZoomIt: Record", - Subtitle = "Start recording", + Title = Resources.ZoomIt_Record_Title, + Subtitle = Resources.ZoomIt_Record_Subtitle, Icon = icon, }; } @@ -62,7 +63,7 @@ internal sealed class ZoomItModuleCommandProvider : ModuleCommandProvider yield return new ListItem(new OpenInSettingsCommand(module, title)) { Title = title, - Subtitle = "Open ZoomIt settings", + Subtitle = Resources.ZoomIt_Settings_Subtitle, Icon = icon, }; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/ColorPickerSavedColorsPage.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/ColorPickerSavedColorsPage.cs index 5e06951794..54dc15c0c5 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/ColorPickerSavedColorsPage.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/ColorPickerSavedColorsPage.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.Globalization; using System.Linq; using System.Text; using ColorPicker.ModuleServices; @@ -10,24 +11,27 @@ using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension.Pages; internal sealed partial class ColorPickerSavedColorsPage : DynamicListPage { + private static readonly CompositeFormat NoMatchingSavedColorsFormat = CompositeFormat.Parse(Resources.ColorPicker_NoMatchingSavedColors_Subtitle); + private readonly CommandItem _emptyContent; public ColorPickerSavedColorsPage() { Icon = PowerToysResourcesHelper.IconFromSettingsIcon("ColorPicker.png"); - Title = "Saved colors"; + Title = Resources.ColorPicker_SavedColors_Title; Name = "ColorPickerSavedColors"; Id = "com.microsoft.powertoys.colorpicker.savedColors"; _emptyContent = new CommandItem() { - Title = "No saved colors", - Subtitle = "Pick a color first, then try again.", + Title = Resources.ColorPicker_NoSavedColors_Title, + Subtitle = Resources.ColorPicker_NoSavedColors_Subtitle, Icon = PowerToysResourcesHelper.IconFromSettingsIcon("ColorPicker.png"), }; @@ -70,8 +74,8 @@ internal sealed partial class ColorPickerSavedColorsPage : DynamicListPage public override void UpdateSearchText(string oldSearch, string newSearch) { _emptyContent.Subtitle = string.IsNullOrWhiteSpace(newSearch) - ? "Pick a color first, then try again." - : $"No saved colors matching '{newSearch}'"; + ? Resources.ColorPicker_NoSavedColors_Subtitle + : string.Format(CultureInfo.CurrentCulture, NoMatchingSavedColorsFormat, newSearch); RaiseItemsChanged(0); } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesLayoutsPage.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesLayoutsPage.cs index 1b568da7d6..897b7fa46a 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesLayoutsPage.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesLayoutsPage.cs @@ -11,6 +11,7 @@ using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension.Pages; @@ -21,13 +22,13 @@ internal sealed partial class FancyZonesLayoutsPage : DynamicListPage public FancyZonesLayoutsPage() { Icon = PowerToysResourcesHelper.IconFromSettingsIcon("FancyZones.png"); - Name = Title = "FancyZones Layouts"; + Name = Title = Resources.FancyZones_Layouts_Title; Id = "com.microsoft.cmdpal.powertoys.fancyzones.layouts"; _emptyMessage = new CommandItem() { - Title = "No layouts found", - Subtitle = "Open FancyZones Editor once to initialize layouts.", + Title = Resources.FancyZones_NoLayoutsFound_Title, + Subtitle = Resources.FancyZones_NoLayoutsFound_Subtitle, Icon = PowerToysResourcesHelper.IconFromSettingsIcon("FancyZones.png"), }; EmptyContent = _emptyMessage; diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesMonitorLayoutPickerPage.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesMonitorLayoutPickerPage.cs index 0269f84ed0..d798bce768 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesMonitorLayoutPickerPage.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesMonitorLayoutPickerPage.cs @@ -4,16 +4,21 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; +using System.Text; using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension.Pages; internal sealed partial class FancyZonesMonitorLayoutPickerPage : DynamicListPage { + private static readonly CompositeFormat SetActiveLayoutForFormat = CompositeFormat.Parse(Resources.FancyZones_SetActiveLayoutFor_Format); + private readonly FancyZonesMonitorDescriptor _monitor; private readonly CommandItem _emptyMessage; @@ -21,13 +26,13 @@ internal sealed partial class FancyZonesMonitorLayoutPickerPage : DynamicListPag { _monitor = monitor; Icon = PowerToysResourcesHelper.IconFromSettingsIcon("FancyZones.png"); - Name = Title = $"Set active layout for {_monitor.Title}"; + Name = Title = string.Format(CultureInfo.CurrentCulture, SetActiveLayoutForFormat, _monitor.Title); Id = $"com.microsoft.cmdpal.powertoys.fancyzones.monitor.{_monitor.Index}.layouts"; _emptyMessage = new CommandItem() { - Title = "No layouts found", - Subtitle = "Open FancyZones Editor once to initialize layouts.", + Title = Resources.FancyZones_NoLayoutsFound_Title, + Subtitle = Resources.FancyZones_NoLayoutsFound_Subtitle, Icon = PowerToysResourcesHelper.IconFromSettingsIcon("FancyZones.png"), }; EmptyContent = _emptyMessage; diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesMonitorsPage.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesMonitorsPage.cs index 8422038d3d..1da279422b 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesMonitorsPage.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/FancyZonesMonitorsPage.cs @@ -4,26 +4,31 @@ using System; using System.Collections.Generic; +using System.Globalization; +using System.Text; using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension.Pages; internal sealed partial class FancyZonesMonitorsPage : DynamicListPage { + private static readonly CompositeFormat CurrentLayoutFormat = CompositeFormat.Parse(Resources.FancyZones_CurrentLayout_Format); + private readonly CommandItem _emptyMessage; public FancyZonesMonitorsPage() { Icon = PowerToysResourcesHelper.IconFromSettingsIcon("FancyZones.png"); - Name = Title = "FancyZones Monitors"; + Name = Title = Resources.FancyZones_Monitors_Title; Id = "com.microsoft.cmdpal.powertoys.fancyzones.monitors"; _emptyMessage = new CommandItem() { - Title = "No monitors found", - Subtitle = "Open FancyZones Editor once to initialize monitor data.", + Title = Resources.FancyZones_NoMonitorsFound_Title, + Subtitle = Resources.FancyZones_NoMonitorsFound_Subtitle, Icon = PowerToysResourcesHelper.IconFromSettingsIcon("FancyZones.png"), }; EmptyContent = _emptyMessage; @@ -55,8 +60,8 @@ internal sealed partial class FancyZonesMonitorsPage : DynamicListPage } var layoutDescription = FancyZonesDataService.TryGetAppliedLayoutForMonitor(monitor.Data, out var applied) && applied is not null - ? $"Current layout: {applied.Value.Type}" - : "Current layout: unknown"; + ? string.Format(CultureInfo.CurrentCulture, CurrentLayoutFormat, applied.Value.Type) + : Resources.FancyZones_CurrentLayout_Unknown; var item = new FancyZonesMonitorListItem(monitor, layoutDescription, monitorIcon); items.Add(item); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/PowerToysExtensionPage.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/PowerToysExtensionPage.cs index 0d81573280..7082169629 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/PowerToysExtensionPage.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/PowerToysExtensionPage.cs @@ -6,6 +6,7 @@ using Awake.ModuleServices; using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Commands; +using PowerToysExtension.Properties; namespace PowerToysExtension; @@ -14,32 +15,32 @@ internal sealed partial class PowerToysExtensionPage : ListPage public PowerToysExtensionPage() { Icon = Helpers.PowerToysResourcesHelper.IconFromSettingsIcon("PowerToys.png"); - Title = "PowerToys"; - Name = "PowerToys commands"; + Title = Resources.PowerToys_DisplayName; + Name = Resources.PowerToysExtension_CommandsName; } public override IListItem[] GetItems() { return [ - new ListItem(new LaunchModuleCommand("PowerToys", executableName: "PowerToys.exe", displayName: "Open PowerToys")) + new ListItem(new LaunchModuleCommand("PowerToys", executableName: "PowerToys.exe", displayName: Resources.PowerToysExtension_OpenPowerToys_Title)) { - Title = "Open PowerToys", - Subtitle = "Launch the PowerToys shell", + Title = Resources.PowerToysExtension_OpenPowerToys_Title, + Subtitle = Resources.PowerToysExtension_OpenPowerToys_Subtitle, }, new ListItem(new OpenPowerToysSettingsCommand("PowerToys", "General")) { - Title = "Open PowerToys settings", - Subtitle = "Open the main PowerToys settings window", + Title = Resources.PowerToysExtension_OpenSettings_Title, + Subtitle = Resources.PowerToysExtension_OpenSettings_Subtitle, }, new ListItem(new OpenPowerToysSettingsCommand("Workspaces", "Workspaces")) { - Title = "Open Workspaces settings", - Subtitle = "Jump directly to Workspaces settings", + Title = Resources.PowerToysExtension_OpenWorkspacesSettings_Title, + Subtitle = Resources.PowerToysExtension_OpenWorkspacesSettings_Subtitle, }, new ListItem(new OpenWorkspaceEditorCommand()) { - Title = "Open Workspaces editor", - Subtitle = "Launch the Workspaces editor", + Title = Resources.PowerToysExtension_OpenWorkspacesEditor_Title, + Subtitle = Resources.PowerToysExtension_OpenWorkspacesEditor_Subtitle, }, ]; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/PowerToysListPage.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/PowerToysListPage.cs index c7eed2594f..b91c8e9a5c 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/PowerToysListPage.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Pages/PowerToysListPage.cs @@ -5,6 +5,7 @@ using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension.Pages; @@ -15,13 +16,13 @@ internal sealed partial class PowerToysListPage : ListPage public PowerToysListPage() { Icon = PowerToysResourcesHelper.IconFromSettingsIcon("PowerToys.png"); - Name = Title = "PowerToys"; + Name = Title = Resources.PowerToys_DisplayName; Id = "com.microsoft.cmdpal.powertoys"; SettingsChangeNotifier.SettingsChanged += OnSettingsChanged; _empty = new CommandItem() { Icon = PowerToysResourcesHelper.IconFromSettingsIcon("PowerToys.png"), - Title = "No matching module found", + Title = Resources.PowerToys_NoMatchingModule, Subtitle = SearchText, }; EmptyContent = _empty; diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/PowerToysCommandsProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/PowerToysCommandsProvider.cs index d4dde03b46..f3d22c7e5a 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/PowerToysCommandsProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/PowerToysCommandsProvider.cs @@ -7,6 +7,7 @@ using ManagedCommon; using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension; @@ -14,7 +15,7 @@ public sealed partial class PowerToysCommandsProvider : CommandProvider { public PowerToysCommandsProvider() { - DisplayName = "PowerToys"; + DisplayName = Resources.PowerToys_DisplayName; Icon = PowerToysResourcesHelper.IconFromSettingsIcon("PowerToys.png"); } @@ -22,8 +23,8 @@ public sealed partial class PowerToysCommandsProvider : CommandProvider [ new CommandItem(new Pages.PowerToysListPage()) { - Title = "PowerToys", - Subtitle = "PowerToys commands and settings", + Title = Resources.PowerToys_DisplayName, + Subtitle = Resources.PowerToys_Subtitle, } ]; diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/PowerToysExtensionCommandsProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/PowerToysExtensionCommandsProvider.cs index beba6b484a..a6c3dc727e 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/PowerToysExtensionCommandsProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/PowerToysExtensionCommandsProvider.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; using PowerToysExtension.Helpers; +using PowerToysExtension.Properties; namespace PowerToysExtension; @@ -15,13 +16,13 @@ public partial class PowerToysExtensionCommandsProvider : CommandProvider public PowerToysExtensionCommandsProvider() { - DisplayName = "PowerToys"; + DisplayName = Resources.PowerToys_DisplayName; Icon = PowerToysResourcesHelper.IconFromSettingsIcon("PowerToys.png"); _commands = [ new CommandItem(new Pages.PowerToysListPage()) { - Title = "PowerToys", - Subtitle = "PowerToys commands and settings", + Title = Resources.PowerToys_DisplayName, + Subtitle = Resources.PowerToys_Subtitle, }, ]; } diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Properties/Resources.Designer.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Properties/Resources.Designer.cs new file mode 100644 index 0000000000..8b45d1dd2c --- /dev/null +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Properties/Resources.Designer.cs @@ -0,0 +1,1503 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PowerToysExtension.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PowerToysExtension.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Launch the Advanced Paste UI. + /// + internal static string AdvancedPaste_Open_Subtitle { + get { + return ResourceManager.GetString("AdvancedPaste_Open_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Advanced Paste. + /// + internal static string AdvancedPaste_Open_Title { + get { + return ResourceManager.GetString("AdvancedPaste_Open_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Advanced Paste settings. + /// + internal static string AdvancedPaste_Settings_Subtitle { + get { + return ResourceManager.GetString("AdvancedPaste_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Always On Top settings. + /// + internal static string AlwaysOnTop_Settings_Subtitle { + get { + return ResourceManager.GetString("AlwaysOnTop_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Run Awake timed for 1 hour. + /// + internal static string Awake_Keep1Hour_Subtitle { + get { + return ResourceManager.GetString("Awake_Keep1Hour_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake: Keep awake for 1 hour. + /// + internal static string Awake_Keep1Hour_Title { + get { + return ResourceManager.GetString("Awake_Keep1Hour_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Run Awake timed for 2 hours. + /// + internal static string Awake_Keep2Hours_Subtitle { + get { + return ResourceManager.GetString("Awake_Keep2Hours_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake: Keep awake for 2 hours. + /// + internal static string Awake_Keep2Hours_Title { + get { + return ResourceManager.GetString("Awake_Keep2Hours_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Run Awake timed for 30 minutes. + /// + internal static string Awake_Keep30Min_Subtitle { + get { + return ResourceManager.GetString("Awake_Keep30Min_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake: Keep awake for 30 minutes. + /// + internal static string Awake_Keep30Min_Title { + get { + return ResourceManager.GetString("Awake_Keep30Min_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Run Awake in indefinite mode. + /// + internal static string Awake_KeepIndefinite_Subtitle { + get { + return ResourceManager.GetString("Awake_KeepIndefinite_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake: Keep awake indefinitely. + /// + internal static string Awake_KeepIndefinite_Title { + get { + return ResourceManager.GetString("Awake_KeepIndefinite_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake set for 1 hour. + /// + internal static string Awake_Set1Hour_Toast { + get { + return ResourceManager.GetString("Awake_Set1Hour_Toast", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake set for 2 hours. + /// + internal static string Awake_Set2Hours_Toast { + get { + return ResourceManager.GetString("Awake_Set2Hours_Toast", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake set for 30 minutes. + /// + internal static string Awake_Set30Min_Toast { + get { + return ResourceManager.GetString("Awake_Set30Min_Toast", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake set to indefinite. + /// + internal static string Awake_SetIndefinite_Toast { + get { + return ResourceManager.GetString("Awake_SetIndefinite_Toast", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Awake settings. + /// + internal static string Awake_Settings_Subtitle { + get { + return ResourceManager.GetString("Awake_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake: Current status. + /// + internal static string Awake_Status_Title { + get { + return ResourceManager.GetString("Awake_Status_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch Awake back to Off. + /// + internal static string Awake_TurnOff_Subtitle { + get { + return ResourceManager.GetString("Awake_TurnOff_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Awake: Turn off. + /// + internal static string Awake_TurnOff_Title { + get { + return ResourceManager.GetString("Awake_TurnOff_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No saved colors matching '{0}'. + /// + internal static string ColorPicker_NoMatchingSavedColors_Subtitle { + get { + return ResourceManager.GetString("ColorPicker_NoMatchingSavedColors_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pick a color first, then try again.. + /// + internal static string ColorPicker_NoSavedColors_Subtitle { + get { + return ResourceManager.GetString("ColorPicker_NoSavedColors_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No saved colors. + /// + internal static string ColorPicker_NoSavedColors_Title { + get { + return ResourceManager.GetString("ColorPicker_NoSavedColors_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start a color pick session. + /// + internal static string ColorPicker_Open_Subtitle { + get { + return ResourceManager.GetString("ColorPicker_Open_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Color Picker. + /// + internal static string ColorPicker_Open_Title { + get { + return ResourceManager.GetString("ColorPicker_Open_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Browse and copy saved colors. + /// + internal static string ColorPicker_SavedColors_Subtitle { + get { + return ResourceManager.GetString("ColorPicker_SavedColors_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Saved colors. + /// + internal static string ColorPicker_SavedColors_Title { + get { + return ResourceManager.GetString("ColorPicker_SavedColors_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Color Picker settings. + /// + internal static string ColorPicker_Settings_Subtitle { + get { + return ResourceManager.GetString("ColorPicker_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Command Not Found settings. + /// + internal static string CommandNotFound_Settings_Subtitle { + get { + return ResourceManager.GetString("CommandNotFound_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to n/a. + /// + internal static string Common_NotAvailable { + get { + return ResourceManager.GetString("Common_NotAvailable", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create a cropped reparented window. + /// + internal static string CropAndLock_Reparent_Subtitle { + get { + return ResourceManager.GetString("CropAndLock_Reparent_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Crop and Lock (Reparent). + /// + internal static string CropAndLock_Reparent_Title { + get { + return ResourceManager.GetString("CropAndLock_Reparent_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Crop and Lock settings. + /// + internal static string CropAndLock_Settings_Subtitle { + get { + return ResourceManager.GetString("CropAndLock_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create a cropped thumbnail window. + /// + internal static string CropAndLock_Thumbnail_Subtitle { + get { + return ResourceManager.GetString("CropAndLock_Thumbnail_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Crop and Lock (Thumbnail). + /// + internal static string CropAndLock_Thumbnail_Title { + get { + return ResourceManager.GetString("CropAndLock_Thumbnail_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launch Environment Variables editor. + /// + internal static string EnvironmentVariables_Open_Subtitle { + get { + return ResourceManager.GetString("EnvironmentVariables_Open_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Environment Variables. + /// + internal static string EnvironmentVariables_Open_Title { + get { + return ResourceManager.GetString("EnvironmentVariables_Open_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launch Environment Variables editor as admin. + /// + internal static string EnvironmentVariables_OpenAdmin_Subtitle { + get { + return ResourceManager.GetString("EnvironmentVariables_OpenAdmin_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Environment Variables (Admin). + /// + internal static string EnvironmentVariables_OpenAdmin_Title { + get { + return ResourceManager.GetString("EnvironmentVariables_OpenAdmin_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Environment Variables settings. + /// + internal static string EnvironmentVariables_Settings_Subtitle { + get { + return ResourceManager.GetString("EnvironmentVariables_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Apply to {0}. + /// + internal static string FancyZones_ApplyTo_Format { + get { + return ResourceManager.GetString("FancyZones_ApplyTo_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current layout: {0}. + /// + internal static string FancyZones_CurrentLayout_Format { + get { + return ResourceManager.GetString("FancyZones_CurrentLayout_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current layout: unknown. + /// + internal static string FancyZones_CurrentLayout_Unknown { + get { + return ResourceManager.GetString("FancyZones_CurrentLayout_Unknown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Custom • {0} zones. + /// + internal static string FancyZones_Custom_Zones_Format { + get { + return ResourceManager.GetString("FancyZones_Custom_Zones_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Custom canvas • {0} zones. + /// + internal static string FancyZones_CustomCanvas_Zones_Format { + get { + return ResourceManager.GetString("FancyZones_CustomCanvas_Zones_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Custom grid • {0} zones. + /// + internal static string FancyZones_CustomGrid_Zones_Format { + get { + return ResourceManager.GetString("FancyZones_CustomGrid_Zones_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to DPI. + /// + internal static string FancyZones_DPI { + get { + return ResourceManager.GetString("FancyZones_DPI", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Instance. + /// + internal static string FancyZones_Instance { + get { + return ResourceManager.GetString("FancyZones_Instance", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Layout applied.. + /// + internal static string FancyZones_LayoutApplied { + get { + return ResourceManager.GetString("FancyZones_LayoutApplied", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Layout applied, but FancyZones could not be notified: {0}. + /// + internal static string FancyZones_LayoutAppliedNotifyFailed_Format { + get { + return ResourceManager.GetString("FancyZones_LayoutAppliedNotifyFailed_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Apply a layout to all monitors or a specific monitor. + /// + internal static string FancyZones_Layouts_Subtitle { + get { + return ResourceManager.GetString("FancyZones_Layouts_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FancyZones: Layouts. + /// + internal static string FancyZones_Layouts_Title { + get { + return ResourceManager.GetString("FancyZones_Layouts_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FancyZones Layouts. + /// + internal static string FancyZones_LayoutsPage_Title { + get { + return ResourceManager.GetString("FancyZones_LayoutsPage_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Monitor. + /// + internal static string FancyZones_Monitor { + get { + return ResourceManager.GetString("FancyZones_Monitor", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FancyZones monitor data not found. Open FancyZones Editor once to initialize.. + /// + internal static string FancyZones_MonitorDataNotFound { + get { + return ResourceManager.GetString("FancyZones_MonitorDataNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Identify monitors and apply layouts. + /// + internal static string FancyZones_Monitors_Subtitle { + get { + return ResourceManager.GetString("FancyZones_Monitors_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FancyZones: Monitors. + /// + internal static string FancyZones_Monitors_Title { + get { + return ResourceManager.GetString("FancyZones_Monitors_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FancyZones Monitors. + /// + internal static string FancyZones_MonitorsPage_Title { + get { + return ResourceManager.GetString("FancyZones_MonitorsPage_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No FancyZones monitors found.. + /// + internal static string FancyZones_NoFancyZonesMonitorsFound { + get { + return ResourceManager.GetString("FancyZones_NoFancyZonesMonitorsFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open FancyZones Editor once to initialize layouts.. + /// + internal static string FancyZones_NoLayoutsFound_Subtitle { + get { + return ResourceManager.GetString("FancyZones_NoLayoutsFound_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No layouts found. + /// + internal static string FancyZones_NoLayoutsFound_Title { + get { + return ResourceManager.GetString("FancyZones_NoLayoutsFound_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open FancyZones Editor once to initialize monitor data.. + /// + internal static string FancyZones_NoMonitorsFound_Subtitle { + get { + return ResourceManager.GetString("FancyZones_NoMonitorsFound_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No monitors found. + /// + internal static string FancyZones_NoMonitorsFound_Title { + get { + return ResourceManager.GetString("FancyZones_NoMonitorsFound_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Number. + /// + internal static string FancyZones_Number { + get { + return ResourceManager.GetString("FancyZones_Number", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launch layout editor. + /// + internal static string FancyZones_OpenEditor_Subtitle { + get { + return ResourceManager.GetString("FancyZones_OpenEditor_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open FancyZones Editor. + /// + internal static string FancyZones_OpenEditor_Title { + get { + return ResourceManager.GetString("FancyZones_OpenEditor_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pick a layout for this monitor. + /// + internal static string FancyZones_PickLayoutForMonitor { + get { + return ResourceManager.GetString("FancyZones_PickLayoutForMonitor", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to read FancyZones monitor data: {0}. + /// + internal static string FancyZones_ReadMonitorDataFailed_Format { + get { + return ResourceManager.GetString("FancyZones_ReadMonitorDataFailed_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resolution. + /// + internal static string FancyZones_Resolution { + get { + return ResourceManager.GetString("FancyZones_Resolution", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Serial. + /// + internal static string FancyZones_Serial { + get { + return ResourceManager.GetString("FancyZones_Serial", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set active layout. + /// + internal static string FancyZones_SetActiveLayout { + get { + return ResourceManager.GetString("FancyZones_SetActiveLayout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set active layout for {0}. + /// + internal static string FancyZones_SetActiveLayoutFor_Format { + get { + return ResourceManager.GetString("FancyZones_SetActiveLayoutFor_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open FancyZones settings. + /// + internal static string FancyZones_Settings_Subtitle { + get { + return ResourceManager.GetString("FancyZones_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Template: {0}. + /// + internal static string FancyZones_Template_Format { + get { + return ResourceManager.GetString("FancyZones_Template_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Virtual desktop. + /// + internal static string FancyZones_VirtualDesktop { + get { + return ResourceManager.GetString("FancyZones_VirtualDesktop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Work area. + /// + internal static string FancyZones_WorkArea { + get { + return ResourceManager.GetString("FancyZones_WorkArea", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to write applied layouts: {0}. + /// + internal static string FancyZones_WriteAppliedLayoutsFailed_Format { + get { + return ResourceManager.GetString("FancyZones_WriteAppliedLayoutsFailed_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} zones. + /// + internal static string FancyZones_Zones_Format { + get { + return ResourceManager.GetString("FancyZones_Zones_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open File Explorer add-ons settings. + /// + internal static string FileExplorerAddons_Settings_Subtitle { + get { + return ResourceManager.GetString("FileExplorerAddons_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open File Locksmith settings. + /// + internal static string FileLocksmith_Settings_Subtitle { + get { + return ResourceManager.GetString("FileLocksmith_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launch Hosts File Editor. + /// + internal static string Hosts_Open_Subtitle { + get { + return ResourceManager.GetString("Hosts_Open_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Hosts File Editor. + /// + internal static string Hosts_Open_Title { + get { + return ResourceManager.GetString("Hosts_Open_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launch Hosts File Editor as admin. + /// + internal static string Hosts_OpenAdmin_Subtitle { + get { + return ResourceManager.GetString("Hosts_OpenAdmin_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Hosts File Editor (Admin). + /// + internal static string Hosts_OpenAdmin_Title { + get { + return ResourceManager.GetString("Hosts_OpenAdmin_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Hosts File Editor settings. + /// + internal static string Hosts_Settings_Subtitle { + get { + return ResourceManager.GetString("Hosts_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Image Resizer settings. + /// + internal static string ImageResizer_Settings_Subtitle { + get { + return ResourceManager.GetString("ImageResizer_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Keyboard Manager settings. + /// + internal static string KeyboardManager_Settings_Subtitle { + get { + return ResourceManager.GetString("KeyboardManager_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Light Switch settings. + /// + internal static string LightSwitch_Settings_Subtitle { + get { + return ResourceManager.GetString("LightSwitch_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle system/apps theme immediately. + /// + internal static string LightSwitch_Toggle_Subtitle { + get { + return ResourceManager.GetString("LightSwitch_Toggle_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Light Switch: Toggle theme. + /// + internal static string LightSwitch_Toggle_Title { + get { + return ResourceManager.GetString("LightSwitch_Toggle_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable or disable pointer crosshairs. + /// + internal static string MouseUtils_Crosshairs_Subtitle { + get { + return ResourceManager.GetString("MouseUtils_Crosshairs_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle Mouse Crosshairs. + /// + internal static string MouseUtils_Crosshairs_Title { + get { + return ResourceManager.GetString("MouseUtils_Crosshairs_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Wrap the cursor across monitor edges. + /// + internal static string MouseUtils_CursorWrap_Subtitle { + get { + return ResourceManager.GetString("MouseUtils_CursorWrap_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle Cursor Wrap. + /// + internal static string MouseUtils_CursorWrap_Title { + get { + return ResourceManager.GetString("MouseUtils_CursorWrap_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Focus the mouse pointer. + /// + internal static string MouseUtils_FindMyMouse_Subtitle { + get { + return ResourceManager.GetString("MouseUtils_FindMyMouse_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Trigger Find My Mouse. + /// + internal static string MouseUtils_FindMyMouse_Title { + get { + return ResourceManager.GetString("MouseUtils_FindMyMouse_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Highlight mouse clicks. + /// + internal static string MouseUtils_Highlighter_Subtitle { + get { + return ResourceManager.GetString("MouseUtils_Highlighter_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle Mouse Highlighter. + /// + internal static string MouseUtils_Highlighter_Title { + get { + return ResourceManager.GetString("MouseUtils_Highlighter_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Jump the pointer to a target. + /// + internal static string MouseUtils_MouseJump_Subtitle { + get { + return ResourceManager.GetString("MouseUtils_MouseJump_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show Mouse Jump Preview. + /// + internal static string MouseUtils_MouseJump_Title { + get { + return ResourceManager.GetString("MouseUtils_MouseJump_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Mouse Utilities settings. + /// + internal static string MouseUtils_Settings_Subtitle { + get { + return ResourceManager.GetString("MouseUtils_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Mouse Without Borders settings. + /// + internal static string MouseWithoutBorders_Settings_Subtitle { + get { + return ResourceManager.GetString("MouseWithoutBorders_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open New+ settings. + /// + internal static string NewPlus_Settings_Subtitle { + get { + return ResourceManager.GetString("NewPlus_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Peek settings. + /// + internal static string Peek_Settings_Subtitle { + get { + return ResourceManager.GetString("Peek_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open PowerRename settings. + /// + internal static string PowerRename_Settings_Subtitle { + get { + return ResourceManager.GetString("PowerRename_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PowerToys. + /// + internal static string PowerToys_DisplayName { + get { + return ResourceManager.GetString("PowerToys_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No matching module found. + /// + internal static string PowerToys_NoMatchingModule { + get { + return ResourceManager.GetString("PowerToys_NoMatchingModule", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PowerToys commands and settings. + /// + internal static string PowerToys_Subtitle { + get { + return ResourceManager.GetString("PowerToys_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PowerToys commands. + /// + internal static string PowerToysExtension_CommandsName { + get { + return ResourceManager.GetString("PowerToysExtension_CommandsName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launch the PowerToys shell. + /// + internal static string PowerToysExtension_OpenPowerToys_Subtitle { + get { + return ResourceManager.GetString("PowerToysExtension_OpenPowerToys_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open PowerToys. + /// + internal static string PowerToysExtension_OpenPowerToys_Title { + get { + return ResourceManager.GetString("PowerToysExtension_OpenPowerToys_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open the main PowerToys settings window. + /// + internal static string PowerToysExtension_OpenSettings_Subtitle { + get { + return ResourceManager.GetString("PowerToysExtension_OpenSettings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open PowerToys settings. + /// + internal static string PowerToysExtension_OpenSettings_Title { + get { + return ResourceManager.GetString("PowerToysExtension_OpenSettings_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launch the Workspaces editor. + /// + internal static string PowerToysExtension_OpenWorkspacesEditor_Subtitle { + get { + return ResourceManager.GetString("PowerToysExtension_OpenWorkspacesEditor_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Workspaces editor. + /// + internal static string PowerToysExtension_OpenWorkspacesEditor_Title { + get { + return ResourceManager.GetString("PowerToysExtension_OpenWorkspacesEditor_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Jump directly to Workspaces settings. + /// + internal static string PowerToysExtension_OpenWorkspacesSettings_Subtitle { + get { + return ResourceManager.GetString("PowerToysExtension_OpenWorkspacesSettings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Workspaces settings. + /// + internal static string PowerToysExtension_OpenWorkspacesSettings_Title { + get { + return ResourceManager.GetString("PowerToysExtension_OpenWorkspacesSettings_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open PowerToys Run settings. + /// + internal static string PowerToysRun_Settings_Subtitle { + get { + return ResourceManager.GetString("PowerToysRun_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Quick Accent settings. + /// + internal static string QuickAccent_Settings_Subtitle { + get { + return ResourceManager.GetString("QuickAccent_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launch Registry Preview. + /// + internal static string RegistryPreview_Open_Subtitle { + get { + return ResourceManager.GetString("RegistryPreview_Open_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Registry Preview. + /// + internal static string RegistryPreview_Open_Title { + get { + return ResourceManager.GetString("RegistryPreview_Open_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Registry Preview settings. + /// + internal static string RegistryPreview_Settings_Subtitle { + get { + return ResourceManager.GetString("RegistryPreview_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Screen Ruler settings. + /// + internal static string ScreenRuler_Settings_Subtitle { + get { + return ResourceManager.GetString("ScreenRuler_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start or close Screen Ruler. + /// + internal static string ScreenRuler_Toggle_Subtitle { + get { + return ResourceManager.GetString("ScreenRuler_Toggle_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle Screen Ruler. + /// + internal static string ScreenRuler_Toggle_Title { + get { + return ResourceManager.GetString("ScreenRuler_Toggle_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Shortcut Guide settings. + /// + internal static string ShortcutGuide_Settings_Subtitle { + get { + return ResourceManager.GetString("ShortcutGuide_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show or hide Shortcut Guide. + /// + internal static string ShortcutGuide_Toggle_Subtitle { + get { + return ResourceManager.GetString("ShortcutGuide_Toggle_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle Shortcut Guide. + /// + internal static string ShortcutGuide_Toggle_Title { + get { + return ResourceManager.GetString("ShortcutGuide_Toggle_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Text Extractor settings. + /// + internal static string TextExtractor_Settings_Subtitle { + get { + return ResourceManager.GetString("TextExtractor_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start or close Text Extractor. + /// + internal static string TextExtractor_Toggle_Subtitle { + get { + return ResourceManager.GetString("TextExtractor_Toggle_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle Text Extractor. + /// + internal static string TextExtractor_Toggle_Title { + get { + return ResourceManager.GetString("TextExtractor_Toggle_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to App. + /// + internal static string Workspaces_App { + get { + return ResourceManager.GetString("Workspaces_App", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} applications. + /// + internal static string Workspaces_Applications_Format { + get { + return ResourceManager.GetString("Workspaces_Applications_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} applications. + /// + internal static string Workspaces_ApplicationsCount_Format { + get { + return ResourceManager.GetString("Workspaces_ApplicationsCount_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} days ago. + /// + internal static string Workspaces_DaysAgo_Format { + get { + return ResourceManager.GetString("Workspaces_DaysAgo_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} hr ago. + /// + internal static string Workspaces_HrAgo_Format { + get { + return ResourceManager.GetString("Workspaces_HrAgo_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to just now. + /// + internal static string Workspaces_JustNow { + get { + return ResourceManager.GetString("Workspaces_JustNow", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Last launched {0}. + /// + internal static string Workspaces_LastLaunched_Format { + get { + return ResourceManager.GetString("Workspaces_LastLaunched_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} min ago. + /// + internal static string Workspaces_MinAgo_Format { + get { + return ResourceManager.GetString("Workspaces_MinAgo_Format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Never launched. + /// + internal static string Workspaces_NeverLaunched { + get { + return ResourceManager.GetString("Workspaces_NeverLaunched", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No applications. + /// + internal static string Workspaces_NoApplications { + get { + return ResourceManager.GetString("Workspaces_NoApplications", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No applications in this workspace. + /// + internal static string Workspaces_NoApplicationsInWorkspace { + get { + return ResourceManager.GetString("Workspaces_NoApplicationsInWorkspace", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1 application. + /// + internal static string Workspaces_OneApplication { + get { + return ResourceManager.GetString("Workspaces_OneApplication", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Create or edit workspaces. + /// + internal static string Workspaces_OpenEditor_Subtitle { + get { + return ResourceManager.GetString("Workspaces_OpenEditor_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Workspaces: Open editor. + /// + internal static string Workspaces_OpenEditor_Title { + get { + return ResourceManager.GetString("Workspaces_OpenEditor_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Workspaces settings. + /// + internal static string Workspaces_Settings_Subtitle { + get { + return ResourceManager.GetString("Workspaces_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Workspace. + /// + internal static string Workspaces_Workspace { + get { + return ResourceManager.GetString("Workspaces_Workspace", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enter break timer. + /// + internal static string ZoomIt_Break_Subtitle { + get { + return ResourceManager.GetString("ZoomIt_Break_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ZoomIt: Break. + /// + internal static string ZoomIt_Break_Title { + get { + return ResourceManager.GetString("ZoomIt_Break_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enter drawing mode. + /// + internal static string ZoomIt_Draw_Subtitle { + get { + return ResourceManager.GetString("ZoomIt_Draw_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ZoomIt: Draw. + /// + internal static string ZoomIt_Draw_Title { + get { + return ResourceManager.GetString("ZoomIt_Draw_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle live zoom. + /// + internal static string ZoomIt_LiveZoom_Subtitle { + get { + return ResourceManager.GetString("ZoomIt_LiveZoom_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ZoomIt: Live Zoom. + /// + internal static string ZoomIt_LiveZoom_Title { + get { + return ResourceManager.GetString("ZoomIt_LiveZoom_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start recording. + /// + internal static string ZoomIt_Record_Subtitle { + get { + return ResourceManager.GetString("ZoomIt_Record_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ZoomIt: Record. + /// + internal static string ZoomIt_Record_Title { + get { + return ResourceManager.GetString("ZoomIt_Record_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open ZoomIt settings. + /// + internal static string ZoomIt_Settings_Subtitle { + get { + return ResourceManager.GetString("ZoomIt_Settings_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enter snip mode. + /// + internal static string ZoomIt_Snip_Subtitle { + get { + return ResourceManager.GetString("ZoomIt_Snip_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ZoomIt: Snip. + /// + internal static string ZoomIt_Snip_Title { + get { + return ResourceManager.GetString("ZoomIt_Snip_Title", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enter zoom mode. + /// + internal static string ZoomIt_Zoom_Subtitle { + get { + return ResourceManager.GetString("ZoomIt_Zoom_Subtitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ZoomIt: Zoom. + /// + internal static string ZoomIt_Zoom_Title { + get { + return ResourceManager.GetString("ZoomIt_Zoom_Title", resourceCulture); + } + } + } +} diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Properties/Resources.resx b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Properties/Resources.resx new file mode 100644 index 0000000000..4a70840dfa --- /dev/null +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PowerToys/Properties/Resources.resx @@ -0,0 +1,630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + PowerToys + + + PowerToys commands and settings + + + No matching module found + + + + PowerToys commands + + + Open PowerToys + + + Launch the PowerToys shell + + + Open PowerToys settings + + + Open the main PowerToys settings window + + + Open Workspaces settings + + + Jump directly to Workspaces settings + + + Open Workspaces editor + + + Launch the Workspaces editor + + + + Open Advanced Paste + + + Launch the Advanced Paste UI + + + Open Advanced Paste settings + + + + Open Always On Top settings + + + + Open Awake settings + + + Awake: Current status + + + Awake: Keep awake indefinitely + + + Run Awake in indefinite mode + + + Awake: Keep awake for 30 minutes + + + Run Awake timed for 30 minutes + + + Awake: Keep awake for 1 hour + + + Run Awake timed for 1 hour + + + Awake: Keep awake for 2 hours + + + Run Awake timed for 2 hours + + + Awake: Turn off + + + Switch Awake back to Off + + + Awake set to indefinite + + + Awake set for 30 minutes + + + Awake set for 1 hour + + + Awake set for 2 hours + + + + Open Color Picker settings + + + Open Color Picker + + + Start a color pick session + + + Saved colors + + + Browse and copy saved colors + + + No saved colors + + + Pick a color first, then try again. + + + No saved colors matching '{0}' + + + + Open Command Not Found settings + + + + Crop and Lock (Reparent) + + + Create a cropped reparented window + + + Crop and Lock (Thumbnail) + + + Create a cropped thumbnail window + + + Open Crop and Lock settings + + + + Open Environment Variables + + + Launch Environment Variables editor + + + Open Environment Variables (Admin) + + + Launch Environment Variables editor as admin + + + Open Environment Variables settings + + + + FancyZones: Layouts + + + Apply a layout to all monitors or a specific monitor + + + FancyZones: Monitors + + + Identify monitors and apply layouts + + + Open FancyZones Editor + + + Launch layout editor + + + Open FancyZones settings + + + FancyZones Layouts + + + No layouts found + + + Open FancyZones Editor once to initialize layouts. + + + Apply to {0} + + + FancyZones Monitors + + + No monitors found + + + Open FancyZones Editor once to initialize monitor data. + + + Set active layout + + + Pick a layout for this monitor + + + Set active layout for {0} + + + Current layout: {0} + + + Current layout: unknown + + + Template: {0} + + + {0} zones + + + Custom grid • {0} zones + + + Custom canvas • {0} zones + + + Custom • {0} zones + + + Layout applied. + + + Layout applied, but FancyZones could not be notified: {0} + + + Failed to write applied layouts: {0} + + + FancyZones monitor data not found. Open FancyZones Editor once to initialize. + + + No FancyZones monitors found. + + + Failed to read FancyZones monitor data: {0} + + + + Open File Explorer add-ons settings + + + + Open File Locksmith settings + + + + Open Hosts File Editor + + + Launch Hosts File Editor + + + Open Hosts File Editor (Admin) + + + Launch Hosts File Editor as admin + + + Open Hosts File Editor settings + + + + Open Image Resizer settings + + + + Open Keyboard Manager settings + + + + Light Switch: Toggle theme + + + Toggle system/apps theme immediately + + + Open Light Switch settings + + + + Trigger Find My Mouse + + + Focus the mouse pointer + + + Toggle Mouse Highlighter + + + Highlight mouse clicks + + + Toggle Mouse Crosshairs + + + Enable or disable pointer crosshairs + + + Toggle Cursor Wrap + + + Wrap the cursor across monitor edges + + + Show Mouse Jump Preview + + + Jump the pointer to a target + + + Open Mouse Utilities settings + + + + Open Mouse Without Borders settings + + + + Open New+ settings + + + + Open Peek settings + + + + Open PowerRename settings + + + + Open PowerToys Run settings + + + + Open Quick Accent settings + + + + Open Registry Preview + + + Launch Registry Preview + + + Open Registry Preview settings + + + + Toggle Screen Ruler + + + Start or close Screen Ruler + + + Open Screen Ruler settings + + + + Toggle Shortcut Guide + + + Show or hide Shortcut Guide + + + Open Shortcut Guide settings + + + + Toggle Text Extractor + + + Start or close Text Extractor + + + Open Text Extractor settings + + + + Open Workspaces settings + + + Workspaces: Open editor + + + Create or edit workspaces + + + No applications + + + {0} applications + + + Last launched {0} + + + Never launched + + + No applications in this workspace + + + 1 application + + + {0} applications + + + Workspace + + + App + + + just now + + + {0} min ago + + + {0} hr ago + + + {0} days ago + + + + ZoomIt: Zoom + + + Enter zoom mode + + + ZoomIt: Draw + + + Enter drawing mode + + + ZoomIt: Break + + + Enter break timer + + + ZoomIt: Live Zoom + + + Toggle live zoom + + + ZoomIt: Snip + + + Enter snip mode + + + ZoomIt: Record + + + Start recording + + + Open ZoomIt settings + + + + Monitor + + + Instance + + + Serial + + + Number + + + Virtual desktop + + + Work area + + + Resolution + + + DPI + + + N/A + + From 78b0139bc3b2abb3038fff1fbdd66c3babdbd1e8 Mon Sep 17 00:00:00 2001 From: safocl Date: Sun, 4 Jan 2026 15:33:16 +0400 Subject: [PATCH 04/23] powerrename: fix union usage (#42845) ## Summary of the Pull Request ## PR Checklist - [x] Closes: #42843 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass ## Detailed Description of the Pull Request / Additional comments fix undefined behavior when using union in the `IFACEMETHODIMP CPowerRenameRegEx::PutFileTime(_In_ SYSTEMTIME fileTime)` function https://github.com/microsoft/PowerToys/blob/a69f7fa806539e0de6e9e901b4f651c512fdd54f/src/modules/powerrename/lib/PowerRenameRegEx.cpp#L299 ## Validation Steps Performed --- src/modules/powerrename/lib/PowerRenameRegEx.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/modules/powerrename/lib/PowerRenameRegEx.cpp b/src/modules/powerrename/lib/PowerRenameRegEx.cpp index aabf838a7a..e9ce4fa62a 100644 --- a/src/modules/powerrename/lib/PowerRenameRegEx.cpp +++ b/src/modules/powerrename/lib/PowerRenameRegEx.cpp @@ -344,19 +344,13 @@ IFACEMETHODIMP CPowerRenameRegEx::PutFlags(_In_ DWORD flags) IFACEMETHODIMP CPowerRenameRegEx::PutFileTime(_In_ SYSTEMTIME fileTime) { - union timeunion - { - FILETIME fileTime; - ULARGE_INTEGER ul; - }; + FILETIME ft1; + FILETIME ft2; - timeunion ft1; - timeunion ft2; + SystemTimeToFileTime(&m_fileTime, &ft1); + SystemTimeToFileTime(&fileTime, &ft2); - SystemTimeToFileTime(&m_fileTime, &ft1.fileTime); - SystemTimeToFileTime(&fileTime, &ft2.fileTime); - - if (ft2.ul.QuadPart != ft1.ul.QuadPart) + if (ft2.dwLowDateTime != ft1.dwLowDateTime || ft2.dwHighDateTime != ft1.dwHighDateTime) { m_fileTime = fileTime; m_useFileTime = true; From 1b6b446915a3dbe7e3240ab1ba2afa48ceca58cd Mon Sep 17 00:00:00 2001 From: Kazeem Quadri Date: Mon, 5 Jan 2026 01:30:02 +0000 Subject: [PATCH 05/23] Add Drag and Drop For Environment Variables (#40105) ## Summary of the Pull Request This PR introduces drag-and-drop functionality for environment variables, allowing users to easily update the order of variables based on their preferences. Users can now rearrange variables directly in the UI by dragging and dropping, making it more intuitive and efficient to customise the order without manual editing. ## PR Checklist - [X] **Closes:** #33554 33554 - [X] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments Updated `EnvironmentVariablesMainPage.xaml` to use a `ListView` instead of an `ItemsControl`, enabling item dragging and reordering. The new `ListView` features a grid layout with a `FontIcon`, `TextBox`, and `Button`, while maintaining visibility control through data binding. Added `EditVariableValuesList_DragItemsCompleted` method in `EnvironmentVariablesMainPage.xaml.cs` to update the text box with the new order of items after drag-and-drop operations, ensuring consistency with the underlying data model. ## Validation Steps Performed - Manually tested the affected functionality. - Change was minimal and did not impact existing automated tests. - Verified that the new/modified feature works as expected and did not cause regressions in related areas. --------- Co-authored-by: Leilei Zhang --- .../EnvironmentVariablesMainPage.xaml | 22 ++++++++++++---- .../EnvironmentVariablesMainPage.xaml.cs | 25 ++++++++++++++----- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/modules/EnvironmentVariables/EnvironmentVariablesUILib/EnvironmentVariablesMainPage.xaml b/src/modules/EnvironmentVariables/EnvironmentVariablesUILib/EnvironmentVariablesMainPage.xaml index f2628cf375..baa2447cd1 100644 --- a/src/modules/EnvironmentVariables/EnvironmentVariablesUILib/EnvironmentVariablesMainPage.xaml +++ b/src/modules/EnvironmentVariables/EnvironmentVariablesUILib/EnvironmentVariablesMainPage.xaml @@ -466,27 +466,39 @@ TextChanged="EditVariableDialogValueTxtBox_TextChanged" TextWrapping="Wrap" /> - - + + +