Skip to content

Comments

[CmdPal] Extension string updates#43269

Merged
michaeljolley merged 8 commits intomainfrom
niels9001/cmdpal-string-updates
Nov 6, 2025
Merged

[CmdPal] Extension string updates#43269
michaeljolley merged 8 commits intomainfrom
niels9001/cmdpal-string-updates

Conversation

@niels9001
Copy link
Collaborator

@niels9001 niels9001 commented Nov 4, 2025

Summary of the Pull Request

Feedback from the design team:

  • Reduce any redundant or long text strings for better readability and localization
  • Verb + noun for most extensions
  • Sentence casing according to the Windows Writing Guidelines

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
  • Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

@michaeljolley michaeljolley added the Product-Command Palette Refers to the Command Palette utility label Nov 5, 2025
@niels9001 niels9001 marked this pull request as ready for review November 5, 2025 09:37
@niels9001 niels9001 added this to the PowerToys 0.96 milestone Nov 5, 2025
@jiripolasek
Copy link
Collaborator

@niels9001 I don't see any changes in the .designer.cs files generated for the .resx file (except the one from a066842). However, the corresponding changes should be committed for every RESX; otherwise, Visual Studio will regenerate them later and force them into other commits.

@niels9001
Copy link
Collaborator Author

@niels9001 I don't see any changes in the .designer.cs files generated for the .resx file (except the one from a066842). However, the corresponding changes should be committed for every RESX; otherwise, Visual Studio will regenerate them later and force them into other commits.

Oops, I was skipping those thinking those would were auto-generated. What's your suggestion I do :)?

@jiripolasek
Copy link
Collaborator

@niels9001 Open the files in big Visual Studio and open each modified .RESX file, or right-click on the file in the Solution Explorer and select "Run Custom Tool" from the context menu.

It can be also done by resgen CLI command, but there's caveat about visibility of the generated class (public vs internal) as resgen needs an explicit switch and I'm not sure if CmdPal is using one consistently.

@michaeljolley
Copy link
Contributor

I like this. Of course, without subtitles the items are smaller (i.e. the screenshot.) If we are cool with the combo of "short" and "tall" list items, I'll approve once the resx's are in sync.

image

@jiripolasek
Copy link
Collaborator

@niels9001 @michaeljolley A small UX guide or a set of recommendations for third-party extension developers would be great to ensure consistency across the board. 😇

For me personally, having a mix of items with subtitles and without feels a bit disruptive :/

@niels9001
Copy link
Collaborator Author

@niels9001 @michaeljolley A small UX guide or a set of recommendations for third-party extension developers would be great to ensure consistency across the board. 😇

For me personally, having a mix of items with subtitles and without feels a bit disruptive :/

Yeah, that'd be great to have in the docs I guess.. and for 1P extensions to actually follow up those guidelines too haha :). Also where to put hints (e.g. the Calculator hint feels weird, and should that be in the searchbox whenever you select the command)?

I think we should aim at keeping things as simple as possible - and only use subtitles when a title would not suffice to explain what the action entails.

@michaeljolley
Copy link
Contributor

Yeah. I agree. Subtitles for things like calculator do seem better in the search box as a hint within the specific extension. The benefit of no subtitles is that more results can be shown at one time. If we leave subtitles, perhaps we "fake" an empty subtitle when it isn't available so we can have standard sizes.

@michaeljolley
Copy link
Contributor

@niels9001, synced the cs/resx for you. Not sure if you can approve this now. Since I was the last to push I definitely can't.

@github-actions

This comment has been minimized.

Fixes the spelling issue it caused.
@github-actions
Copy link

github-actions bot commented Nov 5, 2025

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, or 📝 job summary for details.

❌ Errors, Warnings, and Notices Count
ℹ️ candidate-pattern 1
❌ forbidden-pattern 1
⚠️ ignored-expect-variant 4

See ❌ Event descriptions for more information.

These words are not needed and should be removed cabstr CIBUILD djwsxzxb icf installscopeperuser ksa Olllama rap registryroot regroot rtm suntimes TARGETDIR utm

Pattern suggestions ✂️ (1)

You could add these patterns to .github/actions/spell-check/patterns.txt:

# Automatically suggested patterns

# hit-count: 1 file-count: 1
# Amazon
\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)

Alternatively, if a pattern suggestion doesn't make sense for this project, add a #
to the beginning of the line in the candidates file with the pattern to stop suggesting it.

If the flagged items are 🤯 false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

@michaeljolley michaeljolley merged commit e19520e into main Nov 6, 2025
14 checks passed
@michaeljolley michaeljolley deleted the niels9001/cmdpal-string-updates branch November 6, 2025 01:29
@yeelam-gordon yeelam-gordon requested a review from Copilot November 7, 2025 01:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR standardizes capitalization and wording across user-facing strings in PowerToys Run plugins and Command Palette extensions. The main focus is improving consistency and clarity in descriptions, titles, and command names.

Key Changes

  • Updated capitalization to use lowercase for common nouns (e.g., "UEFI Firmware Settings" → "UEFI firmware settings", "Time and Date" → "Time and date")
  • Improved action-oriented command titles (e.g., "Windows Services" → "Manage Windows services", "Registry" → "Browse the Windows registry")
  • Removed redundant subtitle properties to simplify UI presentation
  • Updated corresponding unit tests and UI tests to match new string values

Reviewed Changes

Copilot reviewed 24 out of 33 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.TimeDate/Properties/Resources.resx Changed plugin description verb from "Provides" to "Shows"
src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.System/Properties/Resources.resx Lowercased "settings" in UEFI-related strings
src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.System/Properties/Resources.Designer.cs Auto-generated changes for resource tool version
src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.System.UnitTests/QueryTests.cs Updated test assertion to match new UEFI string
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsTerminal/Properties/Resources.resx Lowercased "profiles" in command title
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsTerminal/Properties/Resources.Designer.cs Auto-generated Designer.cs update
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsServices/WindowsServicesCommandsProvider.cs Changed to action-oriented title "Manage Windows services", removed subtitle
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowWalker/Properties/Resources.resx Lowercased "responding" and "desktops" in status strings
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowWalker/Properties/Resources.Designer.cs Auto-generated Designer.cs update
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/WinGetExtensionCommandsProvider.cs Removed subtitle property
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/Properties/Resources.resx Updated command titles for clarity, removed subtitle resource
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/Properties/Resources.Designer.cs Auto-generated Designer.cs update removing subtitle property
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.resx Lowercased "date" in plugin name, changed verb to "Show", removed unused conjunction list
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.Designer.cs Auto-generated Designer.cs update
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Helpers/TimeDateCalculator.cs Removed unused conjunction list field
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.System/Properties/Resources.resx Lowercased common nouns, improved punctuation in confirmation message
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.System/Properties/Resources.Designer.cs Auto-generated Designer.cs update
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Shell/Properties/Resources.resx Improved command description clarity
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Shell/Properties/Resources.Designer.cs Auto-generated Designer.cs update
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Registry/RegistryCommandsProvider.cs Changed to descriptive action title, removed subtitle
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Indexer/Properties/Resources.resx Removed subtitle resource
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Indexer/Properties/Resources.Designer.cs Auto-generated Designer.cs update
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Indexer/Pages/IndexerPage.cs Removed subtitle assignment
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Indexer/IndexerCommandsProvider.cs Removed subtitle assignment
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Indexer/FallbackOpenFileItem.cs Removed subtitle assignment
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Apps/Properties/Resources.resx Simplified app search strings, removed subtitle resource
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Apps/Properties/Resources.Designer.cs Auto-generated Designer.cs update
src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Apps/AllAppsCommandProvider.cs Removed subtitle assignment
src/modules/cmdpal/Tests/Microsoft.CmdPal.UITests/BasicTests.cs Updated UI test expectations to match new strings
src/modules/cmdpal/Tests/Microsoft.CmdPal.Ext.TimeDate.UnitTests/TimeDateCommandsProviderTests.cs Updated test assertion for new plugin description
src/modules/cmdpal/Tests/Microsoft.CmdPal.Ext.System.UnitTests/QueryTests.cs Updated test assertions and DataRow values for new UEFI strings
src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Properties/Resources.resx Simplified built-in command strings, removed subtitle resource
src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/BuiltInsCommandProvider.cs Removed subtitle assignment
Files not reviewed (9)
  • src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Apps/Properties/Resources.Designer.cs: Language not supported
  • src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Indexer/Properties/Resources.Designer.cs: Language not supported
  • src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Shell/Properties/Resources.Designer.cs: Language not supported
  • src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.System/Properties/Resources.Designer.cs: Language not supported
  • src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.TimeDate/Properties/Resources.Designer.cs: Language not supported
  • src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WinGet/Properties/Resources.Designer.cs: Language not supported
  • src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowWalker/Properties/Resources.Designer.cs: Language not supported
  • src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.WindowsTerminal/Properties/Resources.Designer.cs: Language not supported
  • src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.System/Properties/Resources.Designer.cs: Language not supported

</data>
<data name="Microsoft_plugin_sys_uefi_description" xml:space="preserve">
<value>Reboot computer into UEFI Firmware Settings (Requires administrative permissions.)</value>
<value>Reboot computer into UEFI firmware Settings (requires administrative permissions.)</value>
Copy link

Copilot AI Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent capitalization: "Settings" should be lowercase "settings" to match the other UEFI-related strings in this file (lines 394, 398).

Suggested change
<value>Reboot computer into UEFI firmware Settings (requires administrative permissions.)</value>
<value>Reboot computer into UEFI firmware settings (requires administrative permissions.)</value>

Copilot uses AI. Check for mistakes.

/// <summary>
/// Looks up a localized string similar to Open System Command.
/// Looks up a localized string similar to Open system command.
Copy link

Copilot AI Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Designer.cs file is out of sync with the .resx file. The corresponding resource string in Resources.resx (line 418) says "Execute system commands" but this Designer.cs comment shows "Open system command". The Designer.cs file needs to be regenerated from the .resx file.

Suggested change
/// Looks up a localized string similar to Open system command.
/// Looks up a localized string similar to Execute system commands.

Copilot uses AI. Check for mistakes.

/// <summary>
/// Looks up a localized string similar to Reboot computer into UEFI Firmware Settings (Requires administrative permissions.).
/// Looks up a localized string similar to Reboot computer into UEFI firmware Settings (requires administrative permissions.).
Copy link

Copilot AI Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Designer.cs file is out of sync with the .resx file. The corresponding resource string in Resources.resx (line 402) says "Reboot computer into UEFI firmware Settings (requires administrative permissions.)" but this Designer.cs comment shows the old text. The Designer.cs file needs to be regenerated from the .resx file.

Copilot uses AI. Check for mistakes.
</data>
<data name="Microsoft_plugin_sys_uefi_confirmation" xml:space="preserve">
<value>You are about to reboot this computer into UEFI Firmware Settings menu, are you sure?</value>
<value>You are about to reboot this computer into UEFI firmware settings menu, are you sure?</value>
Copy link

Copilot AI Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent punctuation and capitalization: Should add a period after "menu" and capitalize "Are" to match the format used in line 330 for the restart confirmation message.

Suggested change
<value>You are about to reboot this computer into UEFI firmware settings menu, are you sure?</value>
<value>You are about to reboot this computer into UEFI firmware settings menu. Are you sure?</value>

Copilot uses AI. Check for mistakes.
</data>
<data name="Microsoft_plugin_sys_uefi_confirmation" xml:space="preserve">
<value>You are about to reboot this computer into UEFI Firmware Settings menu, are you sure?</value>
<value>You are about to reboot this computer into UEFI firmware settings menu, are you sure?</value>
Copy link

Copilot AI Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent punctuation and capitalization: Should add a period after "menu" and capitalize "Are" to match the format used elsewhere in the codebase for confirmation messages (e.g., "You are about to restart this computer. Are you sure?" in the cmdpal extension).

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

In for .96 Product-Command Palette Refers to the Command Palette utility

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants