Skip to content

Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 2980844#8463

Merged
Evangelink merged 5 commits into
mainfrom
locfiles/d91d886a-8399-452e-8cc3-5b69edfdbdb8
May 21, 2026
Merged

Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 2980844#8463
Evangelink merged 5 commits into
mainfrom
locfiles/d91d886a-8399-452e-8cc3-5b69edfdbdb8

Conversation

@dotnet-bot

Copy link
Copy Markdown
Collaborator

This is the pull request automatically created by the OneLocBuild task in the build process to check-in localized files generated based upon translation source files (.lcl files) handed-back from the downstream localization pipeline. If there are issues in translations, visit https://aka.ms/icxLocBug and log bugs for fixes. The OneLocBuild wiki is https://aka.ms/onelocbuild and the localization process in general is documented at https://aka.ms/AllAboutLoc.

Copilot AI review requested due to automatic review settings May 21, 2026 11:39
@github-actions github-actions Bot enabled auto-merge (squash) May 21, 2026 11:43

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 updates localization XLIFF (.xlf) files across the MSTest framework, Microsoft.Testing.Platform, and related extensions/analyzers based on the OneLocBuild pipeline output.

Changes:

  • Marked many previously state="new" entries as state="translated" and added translated target strings for multiple locales (tr, pt-BR, it, pl).
  • Updated localized strings for platform CLI/help/validation messages and extension-specific messages.
  • Updated localized strings for MSTest analyzers and code-fix resources.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/TestFramework/TestFramework/Resources/xlf/FrameworkMessages.tr.xlf Adds Turkish translations for common assertion framework messages.
src/TestFramework/TestFramework/Resources/xlf/FrameworkMessages.pt-BR.xlf Adds pt-BR translations for common assertion framework messages.
src/TestFramework/TestFramework/Resources/xlf/FrameworkMessages.it.xlf Adds Italian translations for common assertion framework messages.
src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.pl.xlf Adds Polish translations for platform command-line/validation messages.
src/Platform/Microsoft.Testing.Extensions.Retry/Resources/xlf/ExtensionResources.pl.xlf Adds Polish translations for retry extension option descriptions/errors.
src/Platform/Microsoft.Testing.Extensions.CrashDump/Resources/xlf/CrashDumpResources.tr.xlf Adds Turkish translations for crash dump/report extension messages.
src/Platform/Microsoft.Testing.Extensions.CrashDump/Resources/xlf/CrashDumpResources.pt-BR.xlf Adds pt-BR translations for crash dump/report extension messages.
src/Platform/Microsoft.Testing.Extensions.AzureDevOpsReport/Resources/xlf/AzureDevOpsResources.tr.xlf Adds Turkish translations for Azure DevOps report extension messages/options.
src/Platform/Microsoft.Testing.Extensions.AzureDevOpsReport/Resources/xlf/AzureDevOpsResources.pl.xlf Adds Polish translations for Azure DevOps report extension messages/options.
src/Platform/Microsoft.Testing.Extensions.AzureDevOpsReport/Resources/xlf/AzureDevOpsResources.it.xlf Marks several locked annotation strings as translated (kept identical to source).
src/Analyzers/MSTest.Analyzers/xlf/Resources.tr.xlf Adds Turkish translations for analyzer titles/messages/descriptions.
src/Analyzers/MSTest.Analyzers/xlf/Resources.pl.xlf Adds Polish translations for analyzer titles/messages/descriptions.
src/Analyzers/MSTest.Analyzers/xlf/Resources.it.xlf Adds Italian translations for analyzer titles/messages/descriptions.
src/Analyzers/MSTest.Analyzers.CodeFixes/xlf/CodeFixResources.it.xlf Adds Italian translations for analyzer code-fix titles/messages.

<trans-unit id="PreferAsyncAssertionDescription">
<source>When verifying exceptions from asynchronous code, use the async assertion methods instead of blocking the asynchronous operation with GetAwaiter().GetResult().</source>
<target state="new">When verifying exceptions from asynchronous code, use the async assertion methods instead of blocking the asynchronous operation with GetAwaiter().GetResult().</target>
<target state="translated">Quando si verificano le eccezioni dal codice asincrono, usare i metodi di asserzione asincrona invece di bloccare l'operazione asincrona con GetXhtmliter(). GetResult().</target>
<trans-unit id="PreferAsyncAssertionMessageFormat">
<source>Use 'Assert.{0}' instead of blocking an async call in 'Assert.{1}'</source>
<target state="new">Use 'Assert.{0}' instead of blocking an async call in 'Assert.{1}'</target>
<target state="translated">Usare ''Assert''.{0}invece di bloccare una chiamata asincrona in ''Assert''.{1}</target>
<trans-unit id="PreferAsyncAssertionMessageFormat">
<source>Use 'Assert.{0}' instead of blocking an async call in 'Assert.{1}'</source>
<target state="new">Use 'Assert.{0}' instead of blocking an async call in 'Assert.{1}'</target>
<target state="translated">'Assert.{0}' içinde zaman uyumsuz bir çağrıyı engellemek yerine 'Assert.{1}' kullanın</target>
<trans-unit id="PreferAsyncAssertionMessageFormat">
<source>Use 'Assert.{0}' instead of blocking an async call in 'Assert.{1}'</source>
<target state="new">Use 'Assert.{0}' instead of blocking an async call in 'Assert.{1}'</target>
<target state="translated">Użyj instrukcji „Assert.{0}” zamiast blokować wywołanie asynchroniczne w elemencie „Assert".{1}</target>
<trans-unit id="AvoidUsingAssertsInAsyncVoidContextFix">
<source>Change return type to 'Task'</source>
<target state="new">Change return type to 'Task'</target>
<target state="translated">Cambia tipo restituito in ''Task''</target>
<trans-unit id="AreAllNotNullFailedSummary">
<source>Expected all items in collection to be non-null.</source>
<target state="new">Expected all items in collection to be non-null.</target>
<target state="translated">Ci si aspettava che tutti gli elementi nella raccolta fossero non Null.</target>
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 2980828 Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 2980844 May 21, 2026
@Evangelink

Copy link
Copy Markdown
Member

Localization Review Summary

This PR updates Italian (it), Polish (pl), Turkish (tr), and Portuguese-Brazilian (pt-BR) translations across 14 .xlf resource files, changing state="new" to state="translated" for 318 resource strings.

Automated Process

This is an automated OneLocBuild PR, which is the correct process for updating .xlf files (manual edits to .xlf files are prohibited per repository guidelines).

Critical Translation Issues Found (Italian only)

Three BLOCKING localization defects were identified in the Italian translations only. Polish, Turkish, and Portuguese-Brazilian translations appear correct:

  1. Corrupted API name: GetAwaiter()GetXhtmliter()
  2. Missing space: .{0}invece → should be .{0} invece
  3. Quote formatting: ''Task'' → should be 'Task'

These issues must be corrected in the upstream localization pipeline before merging, as they would ship incorrect/confusing text to Italian-speaking developers.

Recommendation

Request changes from the localization team to fix the Italian translations for:

  • PreferAsyncAssertionDescription (GetAwaiter corruption)
  • PreferAsyncAssertionMessageFormat (missing space, quote issue)
  • AvoidUsingAssertsInAsyncVoidContextFix (quote issue)

Once corrected by the localization pipeline, the automated PR will update with the fixes.

Generated by Expert Code Review (on open) for issue #8463 · ● 12M ·

@Evangelink Evangelink left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

# Dimension Verdict
9 Localization & Resources 🔴 3 BLOCKING

✅ 20/21 dimensions clean (1 dimension with findings, 17 dimensions N/A for localization-only PR).

  • Localization — Italian translations contain corrupted method name (GetAwaiter → GetXhtmliter), missing space, and quote formatting issues

Scope Assessment: This is a documentation-only PR (localization files). The changes are appropriate in scope and generated by the correct automated OneLocBuild process. The issues found are translation quality defects that must be corrected upstream in the localization pipeline before merging.

Generated by Expert Code Review (on open) for issue #8463 · ● 12M

<trans-unit id="PreferAsyncAssertionDescription">
<source>When verifying exceptions from asynchronous code, use the async assertion methods instead of blocking the asynchronous operation with GetAwaiter().GetResult().</source>
<target state="new">When verifying exceptions from asynchronous code, use the async assertion methods instead of blocking the asynchronous operation with GetAwaiter().GetResult().</target>
<target state="translated">Quando si verificano le eccezioni dal codice asincrono, usare i metodi di asserzione asincrona invece di bloccare l'operazione asincrona con GetXhtmliter(). GetResult().</target>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

[BLOCKING] Localization & Resources

The method name GetAwaiter() has been corrupted to GetXhtmliter() in the Italian translation.

Expected: GetAwaiter().GetResult()
Actual: GetXhtmliter(). GetResult()

This is a critical localization error that would confuse Italian-speaking developers, as GetAwaiter is a well-known .NET API method name that should remain consistent across languages or be translated correctly.

Recommendation: Correct the translation to use GetAwaiter() (keeping the English API name, which is standard practice for .NET API documentation in localized text).

<trans-unit id="AvoidUsingAssertsInAsyncVoidContextFix">
<source>Change return type to 'Task'</source>
<target state="new">Change return type to 'Task'</target>
<target state="translated">Cambia tipo restituito in ''Task''</target>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

[BLOCKING] Localization & Resources

Incorrect quote escaping around 'Task' in the Italian translation.

Source: Change return type to 'Task'
Current Italian: Cambia tipo restituito in ''Task''
Expected Italian: Cambia tipo restituito in 'Task'

The double single-quote ''Task'' appears to be over-escaped. While '' is the XLF escape sequence for a literal single quote, the source format shows single quotes 'Task' should render as single quotes in the output. Other properly translated strings in this file use single quotes correctly (e.g., line 44: Usare '{0}').

Recommendation: Change ''Task'' to 'Task' to match the quoting convention used consistently throughout the rest of this file.

<trans-unit id="PreferAsyncAssertionMessageFormat">
<source>Use 'Assert.{0}' instead of blocking an async call in 'Assert.{1}'</source>
<target state="new">Use 'Assert.{0}' instead of blocking an async call in 'Assert.{1}'</target>
<target state="translated">Usare ''Assert''.{0}invece di bloccare una chiamata asincrona in ''Assert''.{1}</target>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

[BLOCKING] Localization & Resources

Missing space before the word "invece" in the Italian translation, and potentially incorrect quote formatting.

Current: Usare ''Assert''.{0}invece di bloccare
Expected: Usare 'Assert.{0}' invece di bloccare

Two issues:

  1. Missing space: .{0}invece should be .{0} invece (space before "invece")
  2. Quote formatting: The use of '' (double single-quote) may be correct XLF escaping, but verify that the rendering will display as intended. The source uses single quotes 'Assert.{0}', and the escaped format should render identically.

Recommendation:

  1. Add space: .{0} invece
  2. Verify quote escaping renders correctly as single quotes in the final output

@Evangelink Evangelink disabled auto-merge May 21, 2026 13:14
@Evangelink Evangelink merged commit 07df337 into main May 21, 2026
64 of 65 checks passed
@Evangelink Evangelink deleted the locfiles/d91d886a-8399-452e-8cc3-5b69edfdbdb8 branch May 21, 2026 14:43
@microsoft-github-policy-service microsoft-github-policy-service Bot removed the needs/author-feedback Waiting on the original author. label May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants