Use emoji in ConsoleActivityLogger summary and localize strings#16084
Use emoji in ConsoleActivityLogger summary and localize strings#16084
Conversation
- Replace text symbols with emoji (via FormatEmojiPrefix/KnownEmojis) in summary line and pipeline result header when color is enabled - Add CheckMarkButton to KnownEmojis - Extract hardcoded user-facing strings to new ConsoleActivityLoggerStrings resource file for localization - Generate xlf translation files for all 13 languages
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 16084Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 16084" |
There was a problem hiding this comment.
Pull request overview
Updates Aspire CLI’s ConsoleActivityLogger to (1) move user-facing strings into localizable resources and (2) switch certain summary/header prefixes from text symbols to emoji (in the color-enabled output path) for more consistent rendering.
Changes:
- Localize hardcoded
ConsoleActivityLoggerstrings into a newConsoleActivityLoggerStringsresource. - Use
ConsoleHelpers.FormatEmojiPrefix+KnownEmojisfor emoji prefixes in the summary counts line and pipeline result header (color-enabled path). - Add new XLF translation files for supported languages and add
CheckMarkButtontoKnownEmojis.
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Aspire.Cli/Utils/ConsoleActivityLogger.cs | Switches summary/header prefixes to emoji (color path) and replaces hardcoded strings with localized resources. |
| src/Aspire.Cli/Interaction/KnownEmojis.cs | Adds CheckMarkButton emoji identifier. |
| src/Aspire.Cli/Resources/ConsoleActivityLoggerStrings.resx | Adds new resource entries for ConsoleActivityLogger UI strings. |
| src/Aspire.Cli/Resources/ConsoleActivityLoggerStrings.Designer.cs | Auto-generated strongly-typed accessor for the new resx resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.cs.xlf | Adds Czech localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.de.xlf | Adds German localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.es.xlf | Adds Spanish localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.fr.xlf | Adds French localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.it.xlf | Adds Italian localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.ja.xlf | Adds Japanese localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.ko.xlf | Adds Korean localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.pl.xlf | Adds Polish localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.pt-BR.xlf | Adds Portuguese (Brazil) localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.ru.xlf | Adds Russian localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.tr.xlf | Adds Turkish localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.zh-Hans.xlf | Adds Simplified Chinese localization scaffold for the new resources. |
| src/Aspire.Cli/Resources/xlf/ConsoleActivityLoggerStrings.zh-Hant.xlf | Adds Traditional Chinese localization scaffold for the new resources. |
Files not reviewed (1)
- src/Aspire.Cli/Resources/ConsoleActivityLoggerStrings.Designer.cs: Language not supported
…ckMarkButton - Move FormatEmojiPrefix calls inside Spectre color markup so text-rendered emoji inherit the color - Replace CheckBoxWithCheck with CheckMarkButton in InitCommand - Remove unused CheckBoxWithCheck from KnownEmojis
|
Re-running the failed jobs in the CI workflow for this pull request because 1 job was identified as retry-safe transient failures in the CI run attempt.
|
|
/deployment-test |
|
🚀 Deployment tests starting on PR #16084... This will deploy to real Azure infrastructure. Results will be posted here when complete. |
|
❌ Deployment E2E Tests failed — 23 passed, 7 failed, 0 cancelled View test results and recordings
|
|
Re-running the failed jobs in the CI workflow for this pull request because 1 job was identified as retry-safe transient failures in the CI run attempt.
|
|
🎬 CLI E2E Test Recordings — 68 recordings uploaded (commit View recordings
📹 Recordings uploaded automatically from CI run #24300630687 |
|
I like the all caps 😢 |
Description
Use emoji in
ConsoleActivityLoggersummary output and localize hardcoded strings.Changes:
ConsoleHelpers.FormatEmojiPrefixandKnownEmojisin the summary counts line and pipeline result header (color-enabled path only). Timeline/step output retains the original text symbols.CheckMarkButtontoKnownEmojis.ConsoleActivityLoggerinto a newConsoleActivityLoggerStringsresource file for localization.Validation: All 1985 CLI tests pass (5 skipped, 0 failures).
My thoughts behind this change:
Emoji look better than text. But an emoji per step would be overwhelming. Keep text on steps and display emoji in summaries.
Before:

After:

Checklist