Skip to content

Fix broken main: sync TerminalResources xlf files with resx#9339

Merged
Evangelink merged 1 commit into
mainfrom
dev/fix-terminalresources-xlf
Jun 22, 2026
Merged

Fix broken main: sync TerminalResources xlf files with resx#9339
Evangelink merged 1 commit into
mainfrom
dev/fix-terminalresources-xlf

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

Main is broken with an XliffTasks out-of-date error:

error : 'OutputDevice\Terminal\xlf\TerminalResources.cs.xlf' is out-of-date with 'OutputDevice\Terminal\TerminalResources.resx'. Run `msbuild /t:UpdateXlf` to update .xlf files...

TerminalResources.resx contains 8 string entries that were never propagated to the .xlf localization files:

  • DiscoveredTestsInAssembly
  • DiscoveredTestsSummary
  • DiscoveredTestsSummarySingular
  • DiscoveringTestsFrom
  • Error
  • Retried
  • RunningTestsFrom
  • Try

These were added by recent terminal source-sharing / orchestrator overload PRs but OneLocBuild/UpdateXlf never picked them up.

Fix

Ran msbuild /t:UpdateXlf on Microsoft.Testing.Platform.csproj, regenerating all 13 locale .xlf files (520 insertions, 0 deletions). New trans-units are added with state="new" so OneLocBuild will localize them later.

Verified dotnet build of the project now succeeds with 0 errors.

The resx had 8 new strings (DiscoveredTestsInAssembly, DiscoveredTestsSummary,
DiscoveredTestsSummarySingular, DiscoveringTestsFrom, Error, Retried,
RunningTestsFrom, Try) that were not reflected in the .xlf files, breaking the
build via XliffTasks' out-of-date check. Regenerated all 13 locale xlf files
with msbuild /t:UpdateXlf.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 22, 2026 12:15
@Evangelink Evangelink added the state/needs-review Awaiting review from the team. label Jun 22, 2026
@Evangelink
Evangelink enabled auto-merge (squash) June 22, 2026 12:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 fixes a build break in Microsoft.Testing.Platform’s terminal reporter localization pipeline by regenerating the TerminalResources .xlf files so they’re back in sync with TerminalResources.resx, resolving the XliffTasks “out-of-date” error on main.

Changes:

  • Regenerated all TerminalResources locale .xlf files via /t:UpdateXlf.
  • Added missing trans-unit entries for recently introduced terminal/orchestrator strings (e.g., discovery summaries, “Running tests from”, retry “try {0}”).
  • Ensured newly added units are marked state="new" for OneLocBuild localization pickup.
Show a summary per file
File Description
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hans.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.tr.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ru.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pt-BR.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ko.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ja.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.it.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.fr.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.de.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.
src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.cs.xlf Adds missing trans-unit entries generated from TerminalResources.resx to fix XLF/RESX sync.

Copilot's findings

  • Files reviewed: 13/13 changed files
  • Comments generated: 13

<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>
<trans-unit id="Try">
<source>try {0}</source>
<target state="new">try {0}</target>
<note>number or tries of the current test assembly when test assembly is being retried. {0} is number that starts at 1</note>

@Evangelink Evangelink left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Note

🤖 Automated review by GitHub Copilot. Posted via a maintainer's GitHub token, so it appears under their account — the account owner did not write or approve this content personally. Generated by the Expert Code Review workflow. To request a follow-up action, reply by tagging @copilot directly.

✅ 22/22 dimensions clean — no findings.


Scope: 13 generated XLIFF locale files under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/. No C# source, no tests, no build scripts, no IPC code.

Dimension coverage:

Dimension Verdict
1. Algorithmic Correctness N/A — no code logic
2. Threading & Concurrency N/A — no code
3. Security & IPC Contract Safety N/A — no code
4. Public API & Binary Compatibility N/A — no API surface
5. Performance & Allocations N/A — no code
6. Cross-TFM Compatibility N/A — no code
7. Resource & IDisposable Management N/A — no code
8. Defensive Coding at Boundaries N/A — no code
9. Localization & Resources ✅ LGTM
10. Test Isolation N/A — no tests changed
11. Assertion Quality N/A — no tests changed
12. Flakiness Patterns N/A — no tests changed
13. Test Completeness & Coverage N/A — no new logic
14. Data-Driven Test Coverage N/A — no tests changed
15. Code Structure & Simplification N/A — no code
16. Naming & Conventions N/A — generated file
17. Documentation Accuracy ✅ LGTM
18. Analyzer & Code Fix Quality N/A — no analyzer changes
19. IPC Wire Compatibility N/A — no serialization
20. Build Infrastructure & Dependencies ✅ LGTM
21. Scope & PR Discipline ✅ LGTM
22. PowerShell Scripting Hygiene N/A — no .ps1 changed

Dimension 9 — Localization & Resources (LGTM):

  • All 8 new trans-unit entries (DiscoveredTestsInAssembly, DiscoveredTestsSummary, DiscoveredTestsSummarySingular, DiscoveringTestsFrom, Error, Retried, RunningTestsFrom, Try) are present in all 13 locale files.
  • Source strings in each XLF exactly match the corresponding <value> in TerminalResources.resx.
  • <note> content matches the <comment> in the resx file verbatim.
  • Format placeholders ({0}, {1}) are identical between <source> and <target> — safe for OneLocBuild to process.
  • All new targets carry state="new" — the correct XLIFF convention for strings awaiting translation.
  • Files were regenerated with msbuild /t:UpdateXlf, not manually edited. This is exactly the process mandated by the repo's localization guidelines ("NEVER manually edit *.xlf files — the build generates them automatically.").

Dimension 17 — Documentation Accuracy (LGTM):

  • Translator notes are descriptive and accurate, providing context about {0}/{1} parameter roles and where each string appears in the UI.

Dimension 20 — Build Infrastructure (LGTM):

  • The PR description confirms dotnet build now succeeds with 0 errors after this change. The correct tool was used.

Dimension 21 — Scope & PR Discipline (LGTM):

  • Single focused concern: sync the 13 XLF files with the resx. No unrelated changes mixed in.

@Evangelink
Evangelink disabled auto-merge June 22, 2026 12:46
@Evangelink
Evangelink merged commit ff9de68 into main Jun 22, 2026
34 checks passed
@Evangelink
Evangelink deleted the dev/fix-terminalresources-xlf branch June 22, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state/needs-review Awaiting review from the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants