Skip to content

Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 3033187 - #10268

Merged
github-actions[bot] merged 16 commits into
mainfrom
locfiles/24a48448-8b2d-4b36-bd2b-3613a213bf62
Jul 28, 2026
Merged

Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 3033187#10268
github-actions[bot] merged 16 commits into
mainfrom
locfiles/24a48448-8b2d-4b36-bd2b-3613a213bf62

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 July 27, 2026 16:43
@github-actions
github-actions Bot enabled auto-merge (squash) July 27, 2026 16:44

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

Updates localized XLF resources generated by OneLocBuild for MTP, MSTest adapters, extensions, and analyzers.

Changes:

  • Adds translations for coverage labels, CLI guidance, and diagnostics.
  • Updates extension and packaged-app messages.
  • Normalizes XLF files with UTF-8 BOMs.

Reviewed changes

Copilot reviewed 39 out of 39 changed files in this pull request and generated 45 comments.

Show a summary per file
File Description
PlatformResources.zh-Hans.xlf Localizes artifact validation.
PlatformResources.tr.xlf Localizes HTTP endpoint validation.
PlatformResources.ru.xlf Localizes FileLogger diagnostics.
PlatformResources.ko.xlf Localizes log-flush timeout.
PlatformResources.it.xlf Localizes log-flush timeout.
PlatformResources.fr.xlf Localizes transport and logging messages.
PlatformResources.de.xlf Updates named-pipe guidance.
TerminalResources.zh-Hant.xlf Localizes coverage metrics.
TerminalResources.zh-Hans.xlf Localizes block coverage.
TerminalResources.tr.xlf Updates coverage and slow-test text.
TerminalResources.ru.xlf Localizes coverage results.
TerminalResources.pt-BR.xlf Localizes block coverage.
TerminalResources.pl.xlf Updates coverage and slow-test text.
TerminalResources.ko.xlf Localizes coverage aggregation and lines.
TerminalResources.ja.xlf Localizes coverage aggregation.
TerminalResources.it.xlf Localizes block coverage.
TerminalResources.fr.xlf Localizes block coverage.
TerminalResources.es.xlf Localizes coverage labels and thresholds.
TerminalResources.de.xlf Localizes block and line coverage.
TerminalResources.cs.xlf Localizes block and line coverage.
VSTestBridge/ExtensionResources.ru.xlf Localizes browser runsettings guidance.
VSTestBridge/ExtensionResources.ko.xlf Localizes browser runsettings guidance.
VSTestBridge/ExtensionResources.de.xlf Localizes browser runsettings guidance.
TrxReport/ExtensionResources.zh-Hans.xlf Localizes TRX merge validation.
TrxReport/ExtensionResources.fr.xlf Localizes builder validation.
PackagedApp/ExtensionResources.pl.xlf Localizes packaged-app description.
PackagedApp/ExtensionResources.fr.xlf Localizes packaged-app diagnostics.
PackagedApp/ExtensionResources.es.xlf Localizes manifest diagnostics.
PackagedApp/ExtensionResources.de.xlf Localizes activation diagnostics.
PackagedApp/ExtensionResources.cs.xlf Localizes packaged-app description.
GitHubActionsResources.ru.xlf Updates slow-test notices.
GitHubActionsResources.ko.xlf Localizes process exit reason.
CrashDumpResources.ru.xlf Localizes sequence-file failure.
CrashDumpResources.fr.xlf Localizes sequence-file failure.
MSTest.Analyzers/Resources.ja.xlf Localizes Native AOT guidance.
MSTest.Analyzers/Resources.fr.xlf Updates fixture analyzer description.
PlatformServices/Resource.de.xlf Localizes cleanup cancellation.
PlatformAdapterResources.ko.xlf Localizes browser runsettings guidance.
PlatformAdapterResources.de.xlf Localizes browser runsettings guidance.
Comments suppressed due to low confidence (2)

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:167

  • This passed-policy message translates “coverable” as “to hide” (do ukrycia) and “passed” as data being transferred. It should describe the absence of measurable coverage data and a policy pass.
        <target state="translated">Brak danych do ukrycia (przekazanych przez zasady)</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.fr.xlf:27

  • The final sentence remains in English in an otherwise French error message, leaving this localized guidance only partially translated.
        <target state="translated">Nous ne pouvons pas lancer l’application Windows packagée « {0} » (détectée « {1} »). L’inscription et l’activation d’une application empaquetée (MSIX) nécessitent la version Windows de cette extension, fournie pour net8.0-windows10.0.19041.0 et les versions ultérieures. Ciblez 'net8.0-windows10.0.19041.0' (ou un moniker de framework cible net*-windows ultérieur avec une version de plateforme 10.0.19041.0 ou supérieure) pour que NuGet sélectionne cet élément. La build actuelle lance uniquement des hôtes de test non empaquetés (disposition libre). See https://github.com/microsoft/testfx/issues/9933.</target>

Comment thread src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.ko.xlf Outdated
Comment thread src/Analyzers/MSTest.Analyzers/xlf/Resources.fr.xlf
Comment thread src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.de.xlf Outdated
Comment thread src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.fr.xlf Outdated
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 3032606 Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 3033069 Jul 28, 2026
Copilot AI review requested due to automatic review settings July 28, 2026 03:22

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

Copilot reviewed 45 out of 45 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (33)

src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.ko.xlf:1065

  • The placeholders are reversed: callers pass the log path as {0} and timeout seconds as {1}, so Korean output currently renders the path as a number of seconds and the timeout as the file name. Preserve those argument roles.
    src/Platform/Microsoft.Testing.Extensions.GitHubActionsReport/Resources/xlf/GitHubActionsResources.ru.xlf:162
  • This translation uses {0} twice and drops {1}. The runtime passes the test name as {0} and elapsed seconds as {1}, so the message currently prints the test name where the duration should appear.
        <target state="translated">{0} все еще выполняется через {1} с</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:157

  • The added leading percent sign makes a failed threshold render with two percent signs around the actual value (for example, %70.0%). Keep the same {0}% format as the source.
        <target state="translated">%{0}% &lt; {1}% umbral</target>

src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.de.xlf:509

  • The translated remediation now says to set the environment variable for fallback, but the fallback only occurs when the variable is unset. This directs German users to an action that will not resolve the error.
    src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.es.xlf:32
  • Application is the literal AppX manifest element name, but the translation changes it to <Aplicación>, which does not exist. The malformed quote before {1} also obscures the manifest path. Keep the XML identifier untranslated and balance the quotes.
        <target state="translated">No se puede activar la aplicación empaquetada de Windows "{0}" (se encontró ''{1}"): su manifiesto no declara ningún &lt;Aplicación&gt;, por lo que no hay ningún identificador de modelo de usuario de aplicación para activar.</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.de.xlf:32

  • Application is the literal AppX manifest element name. Translating it to <Anwendung> tells users to look for an element that cannot occur in the manifest; keep the identifier unchanged.
        <target state="translated">Die verpackte Windows-App "{0}" (gefunden "{1}") kann nicht aktiviert werden: Ihr Manifest deklariert keine &lt;Anwendung&gt;, sodass keine Anwendungsbenutzermodell-ID zum Aktivieren vorhanden ist.</target>

src/Platform/Microsoft.Testing.Extensions.GitHubActionsReport/Resources/xlf/GitHubActionsResources.ko.xlf:47

  • This changes “dependent process” to “tuning process,” so the localized exit reason identifies the wrong process category.
        <target state="translated">튜닝 프로세스가 예기치 않게 종료되었습니다.</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.cs.xlf:17

  • UWP is misspelled as UPW, changing the name of the supported platform technology.
        <target state="translated">Nasadí nezabaleného hostitele testů Windows s volným rozložením souborů (například nezabalené WinUI) do izolovaného adresáře a spustí ho odtud a – v sestavení Windows – zaregistruje zabaleného desktopového hostitele testů MSIX s plnou důvěryhodností a aktivuje ho pomocí Application User Model ID. Skuteční hostitelé UPW/AppContainer nejsou podporováni. Viz https://github.com/microsoft/testfx/issues/9933.</target>

src/Adapter/MSTestAdapter.PlatformServices/Resources/xlf/Resource.de.xlf:243

  • globae is a typo in the localized error message.
        <target state="translated">Die globae Testbereinigungsmethode „{0}.{1}“ wurde abgebrochen</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.ja.xlf:52

  • The duplicated particle in メソッドをを is a grammatical typo.
        <target state="translated">[AssemblyFixtureProvider] の検出は、ランタイム アセンブリ参照グラフの走査に依存しています。これは、ランタイムが動的コードを生成できない場合 (例: Native AOT または Blazor WebAssembly AOT の場合) はサポートされません。このようなビルドではこの属性は無視されるため、提供されたアセンブリの初期化メソッドとクリーンアップ メソッドは実行されません。代わりに、'[AssemblyInitialize]' メソッドと '[AssemblyCleanup]' メソッドををテスト アセンブリ内で直接宣言してください。</target>

src/Platform/Microsoft.Testing.Extensions.TrxReport/Resources/xlf/ExtensionResources.fr.xlf:7

  • traitement is singular, so ultérieurs has the wrong number and should be singular.
        <target state="translated">Les outils de génération et de fusion de rapports TRX nécessitent un générateur d’application de test qui prend en charge le traitement ultérieurs des artefacts</target>

src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.tr.xlf:631

  • gerekiriyor is not the correct Turkish verb form here; the endpoint option “requires” such a URL, so this should use gerektirir.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:62
  • This is a code-coverage metric label, but 封鎖 means blocking/prevention rather than a code block. Use the noun for a code block so the summary does not read like an action.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hans.xlf:62
  • This is a code-coverage metric label, but 阻止 means “prevent” rather than a code block. Use the code-block noun indicated by the resource note.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.tr.xlf:62
  • Engelle is an imperative (“block it”), while this resource names the block code-coverage metric. Use the noun instead.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ru.xlf:62
  • Блокировка denotes blocking/locking, not a block of code. This resource is rendered as the name of the block coverage metric, so it should use the code-block noun.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pt-BR.xlf:62
  • Bloquear is a verb, but this resource is a noun label for block code coverage. Use the metric noun.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:62
  • Blokuj is an imperative, but this resource is the noun label for block code coverage. Use the metric noun.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.it.xlf:62
  • Blocca is a verb, but this resource is the noun label for block code coverage. Use the code-block noun.
        <target state="translated">Blocca</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.fr.xlf:62

  • Bloquer is a verb, but this resource is the noun label for block code coverage. Use the code-block noun.
        <target state="translated">Bloquer</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:62

  • Bloquear is a verb, but this resource is the noun label for block code coverage. Use the metric noun.
        <target state="translated">Bloquear</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.de.xlf:62

  • Blockieren is a verb, but this resource is rendered as the noun label for block code coverage. Use the code-block noun.
        <target state="translated">Blockieren</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.cs.xlf:62

  • Blokovat is a verb, but this resource is rendered as the noun label for block code coverage. Use the code-block noun.
        <target state="translated">Blokovat</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ja.xlf:52

  • The source is an aggregation label such as “Minimum over Module,” but this translation says that {1} exceeds {0}, turning the label into a comparison and reversing the operands. Preserve {0} as the aggregation and {1} as its population scope.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:92
  • In source-code coverage, Instruction is the executable instruction metric; 指示 means a direction/indication. Use the established computing term so the metric is not mislabeled.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:97
  • denotes a physical/geometric line, while this resource labels line code coverage. Use the source-code line term.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ko.xlf:97
  • denotes a geometric line, while this resource labels a line of source code in the coverage summary. Use the source-code line term.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.de.xlf:97
  • Linie denotes a geometric line, while this resource labels a source-code line coverage metric. Use Zeile, the source-code line term.
        <target state="translated">Linie</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.cs.xlf:97

  • Linka denotes a physical/production line, while this resource labels a line of source code in the coverage summary. Use the source-code line term.
        <target state="translated">Linka</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:112

  • Afirmación means an assertion, but this resource labels statement code coverage. That conflates a statement metric with test assertions; use the programming-language term for statement.
        <target state="translated">Afirmación</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:162

  • coverable data is translated as data that can be hidden, which changes the coverage-policy result's meaning. Use the code-coverage term for data eligible for coverage.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:167
  • coverable data is translated as data to hide, which changes the coverage-policy result's meaning. Use the code-coverage term for data eligible for coverage.
    src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.pl.xlf:17
  • “True UWP/AppContainer hosts” is mistranslated as hosts “with a true value,” changing a platform limitation into an unexplained boolean property. Translate “true” in the sense of actual/genuine hosts.
        <target state="translated">Wdraża niepakowany (z luźnym układem) host testowy systemu Windows (na przykład rozpakowany winUI) w izolowanym katalogu i uruchamia go z tego miejsca, a w kompilacji systemu Windows rejestruje spakowanego, w pełni zaufanego hosta testów pulpitu MSIX i aktywuje go za pomocą identyfikatora modelu użytkownika aplikacji. Hosty platformy UWP/AppContainer o wartości true nie są obsługiwane. Zobacz stronę https://github.com/microsoft/testfx/issues/9933.</target>

Comment thread src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.ru.xlf Outdated
Copilot AI review requested due to automatic review settings July 28, 2026 03:26

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

Copilot reviewed 50 out of 50 changed files in this pull request and generated 8 comments.

Comments suppressed due to low confidence (44)

src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.ko.xlf:1065

  • The placeholders are reversed: the note defines {0} as the log file path and {1} as the timeout, but this translation renders {0} as seconds and {1} as the file. Korean users will receive a misleading diagnostic.
    src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.de.xlf:509
  • This now tells users to set the environment variable for fallback, whereas the source explicitly says to unset it. That instruction cannot lead to the default temporary directory while the variable remains set.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:157
  • The translated format adds an extra % before {0}, so a value such as 75 is displayed as %75%. Preserve the source placeholder format with exactly one percent sign after each value.
        <target state="translated">%{0}% &lt; {1}% umbral</target>

src/Platform/Microsoft.Testing.Extensions.GitHubActionsReport/Resources/xlf/GitHubActionsResources.ko.xlf:47

  • The source says a dependent process exited, but 튜닝 프로세스 means a tuning process. This changes the reported exit reason and will misdiagnose the failure for Korean users.
        <target state="translated">튜닝 프로세스가 예기치 않게 종료되었습니다.</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.es.xlf:32

  • <Application> is the literal manifest element users must inspect, but the translation changes it to the nonexistent <Aplicación> element and also introduces mismatched quotes around {1}. Keep the XML identifier unchanged.
        <target state="translated">No se puede activar la aplicación empaquetada de Windows "{0}" (se encontró ''{1}"): su manifiesto no declara ninguna &lt;Aplicación&gt;, por lo que no hay ningún identificador de modelo de usuario de aplicación para activar.</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.de.xlf:32

  • <Application> is the literal manifest element users must inspect, but the translation changes it to the nonexistent <Anwendung> element. Preserve the technical identifier so the diagnostic points to valid manifest syntax.
        <target state="translated">Die verpackte Windows-App "{0}" (gefunden "{1}") kann nicht aktiviert werden: Ihr Manifest deklariert keine &lt;Anwendung&gt;, sodass keine Anwendungsbenutzermodell-ID zum Aktivieren vorhanden ist.</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ko.xlf:52

  • This changes “{0} over {1}” into “{0} exceeding {1}”, which describes a threshold comparison rather than aggregation over a population scope. The note identifies {0} as the aggregation and {1} as its scope.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ja.xlf:52
  • This renders “{1} exceeds {0}”, reversing the placeholders and changing an aggregation-over-scope label into a threshold comparison. The note identifies {0} as the aggregation and {1} as the scope.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:62
  • This is a code-coverage metric label, but 封鎖 means blocking rather than a code block. Use the noun for a code block so the summary names the measured metric correctly.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hans.xlf:62
  • This is a code-coverage metric label, but 阻止 is the verb “prevent/block.” Use the noun for a code block so the summary names the measured metric correctly.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.tr.xlf:62
  • This is a code-coverage metric label, but Engelle is an imperative verb (“Block it”). Use the noun Blok for the measured code block metric.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ru.xlf:62
  • This is a code-coverage metric label, but Блокировка denotes blocking/locking rather than a code block. Use Блок so the summary names the measured metric correctly.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pt-BR.xlf:62
  • This is a code-coverage metric label, but Bloquear is the verb “to block.” Use the noun Bloco for the measured code block metric.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:62
  • This is a code-coverage metric label, but Blokuj is the imperative verb “Block.” Use the noun Blok for the measured code block metric.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.it.xlf:62
  • This is a code-coverage metric label, but Blocca is the verb “Block.” Use the noun Blocco for the measured code block metric.
        <target state="translated">Blocca</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.fr.xlf:62

  • This is a code-coverage metric label, but Bloquer is the verb “to block.” Use the noun Bloc for the measured code block metric.
        <target state="translated">Bloquer</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:62

  • This is a code-coverage metric label, but Bloquear is the verb “to block.” Use the noun Bloque for the measured code block metric.
        <target state="translated">Bloquear</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.de.xlf:62

  • This is a code-coverage metric label, but Blockieren is the verb “to block.” Use the noun Block for the measured code block metric.
        <target state="translated">Blockieren</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.cs.xlf:62

  • This is a code-coverage metric label, but Blokovat is the verb “to block.” Use the noun Blok for the measured code block metric.
        <target state="translated">Blokovat</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:97

  • For code coverage, “Line” means a line of code; denotes a geometric line/wire. Use the code-line term so the metric is not mislabeled.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ko.xlf:97
  • For code coverage, “Line” means a line of code; denotes a geometric line. Use so the metric is not mislabeled.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.de.xlf:97
  • For code coverage, “Line” means a source-code line; Linie denotes a geometric line. Use Zeile so the metric is not mislabeled.
        <target state="translated">Linie</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.cs.xlf:97

  • For code coverage, “Line” means a source-code line; Linka denotes a line/service rather than a line of code. Use Řádek so the metric is not mislabeled.
        <target state="translated">Linka</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:112

  • In code coverage, “Statement” means a program statement, but Afirmación means an assertion/claim. Use Sentencia so this metric is not confused with test assertions.
        <target state="translated">Afirmación</target>

src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.zh-Hans.xlf:37

  • The final noun translates “input artifact” as 输入项目 (“input item/project”), while the same sentence correctly uses 工件 for artifact. This obscures which files cannot be overwritten.
    src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.tr.xlf:631
  • gerekiriyor is misspelled; the option “requires” a URL, so the verb should be gerektirir.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ru.xlf:162
  • подлежащих защите means data subject to protection, not data that can be covered by code coverage. This gives the policy result a different meaning.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:162
  • danych, które można ukryć means data that can be hidden, not data that can be covered by code coverage. This misstates the policy result.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:167
  • danych do ukrycia means data to hide, and przekazanych means transferred rather than passed. The translation therefore does not describe a no-coverable-data result that passed policy.
    src/Platform/Microsoft.Testing.Extensions.VSTestBridge/Resources/xlf/ExtensionResources.de.xlf:12
  • The final sentence means “remove the section that should run on browser-wasm,” not “remove the section in order to run on browser-wasm.” This makes the corrective action ambiguous.
        <target state="translated">Der runsettings-Abschnitt „EnvironmentVariables“ wird auf Browser-/WebAssembly-Plattformen nicht unterstützt, da für die Anwendung ein Neustart des Testhostprozesses erforderlich ist. Entfernen Sie den Abschnitt, der auf browser-wasm ausgeführt werden soll.</target>

src/Adapter/MSTest.TestAdapter/Resources/xlf/PlatformAdapterResources.de.xlf:12

  • The final sentence means “remove the section that should run on browser-wasm,” not “remove the section in order to run on browser-wasm.” This makes the corrective action ambiguous.
        <target state="translated">Der runsettings-Abschnitt „EnvironmentVariables“ wird auf Browser-/WebAssembly-Plattformen nicht unterstützt, da für die Anwendung ein Neustart des Testhostprozesses erforderlich ist. Entfernen Sie den Abschnitt, der auf browser-wasm ausgeführt werden soll.</target>

src/Platform/Microsoft.Testing.Extensions.TrxReport/Resources/xlf/ExtensionResources.fr.xlf:7

  • traitement ultérieurs has incorrect number agreement; singular traitement requires singular ultérieur.
        <target state="translated">Les outils de génération et de fusion de rapports TRX nécessitent un générateur d’application de test qui prend en charge le traitement ultérieurs des artefacts</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.fr.xlf:17

  • The target is marked translated but leaves See in English.
        <target state="translated">Déploie un hôte de test Windows non empaqueté (par exemple, WinUI décompressé) dans un répertoire isolé et le lance depuis celui-ci, et – dans la build Windows – inscrit un hôte de test de bureau MSIX empaqueté en confiance totale et l’active par ID de modèle utilisateur d’application. Les véritables hôtes UWP / AppContainer ne sont pas pris en charge. See https://github.com/microsoft/testfx/issues/9933.</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.fr.xlf:27

  • The target is marked translated but leaves See in English.
        <target state="translated">Nous ne pouvons pas lancer l’application Windows packagée « {0} » (détectée « {1} »). L’inscription et l’activation d’une application empaquetée (MSIX) nécessitent la version Windows de cette extension, fournie pour net8.0-windows10.0.19041.0 et les versions ultérieures. Ciblez 'net8.0-windows10.0.19041.0' (ou un moniker de framework cible net*-windows ultérieur avec une version de plateforme 10.0.19041.0 ou supérieure) pour que NuGet sélectionne cet élément. La build actuelle lance uniquement des hôtes de test non empaquetés (disposition libre). See https://github.com/microsoft/testfx/issues/9933.</target>

src/Platform/Microsoft.Testing.Extensions.CrashDump/Resources/xlf/CrashDumpResources.fr.xlf:89

  • le du fichier contains two competing articles and is ungrammatical.
        <target state="translated">Nous n’avons pas pu initialiser le du fichier de séquence d’incidents « {0} » : {1}. Les informations sur la séquence de test ne seront pas disponibles si l’hôte de test se bloque.</target>

src/Adapter/MSTestAdapter.PlatformServices/Resources/xlf/Resource.de.xlf:243

  • globae is a typo in the localized error message.
        <target state="translated">Die globae Testbereinigungsmethode „{0}.{1}“ wurde abgebrochen</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.ja.xlf:52

  • The phrase duplicates the object particle (メソッドをを).
        <target state="translated">[AssemblyFixtureProvider] の検出は、ランタイム アセンブリ参照グラフの走査に依存しています。これは、ランタイムが動的コードを生成できない場合 (例: Native AOT または Blazor WebAssembly AOT の場合) はサポートされません。このようなビルドではこの属性は無視されるため、提供されたアセンブリの初期化メソッドとクリーンアップ メソッドは実行されません。代わりに、'[AssemblyInitialize]' メソッドと '[AssemblyCleanup]' メソッドををテスト アセンブリ内で直接宣言してください。</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.tr.xlf:411

  • The added space before the closing parenthesis is incorrect Turkish punctuation and is a regression from the previous translation.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:411
  • The sentence now starts with lowercase pokaż, regressing the capitalization of the existing translation.
    src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.fr.xlf:1126
  • A space is missing before the opening French guillemet in d’écriture«.
    src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.fr.xlf:12
  • valide ... élément repeats “element” after the literal XML element and produces an ungrammatical diagnostic.
        <target state="translated">Le manifeste de l’application packagée ne déclare pas d’élément valide &lt;Identity Name="..." Publisher="..." /&gt; élément.</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:92

  • 指示 means an indication/directive, but this label denotes machine-instruction coverage. Use 指令 to name the measured metric correctly.
    src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.pl.xlf:17
  • The translation turns “True UWP/AppContainer hosts” into hosts “with a value of true,” which changes the technical meaning. It also changes the locked product casing from WinUI to winUI.
        <target state="translated">Wdraża niepakowany (z luźnym układem) host testowy systemu Windows (na przykład rozpakowany winUI) w izolowanym katalogu i uruchamia go z tego miejsca, a w kompilacji systemu Windows rejestruje spakowanego, w pełni zaufanego hosta testów pulpitu MSIX i aktywuje go za pomocą identyfikatora modelu użytkownika aplikacji. Hosty platformy UWP/AppContainer o wartości true nie są obsługiwane. Zobacz stronę https://github.com/microsoft/testfx/issues/9933.</target>

src/Platform/Microsoft.Testing.Extensions.TrxReport/Resources/xlf/ExtensionResources.zh-Hans.xlf:77

  • The target inserts an invisible U+200C character immediately before the locked --output-trx option. Copying the quoted option can therefore produce a command-line argument that does not match --output-trx; remove the hidden characters around the option.
        <target state="translated">"‌--output-trx"‌ 需要一个 TRX 文件路径</target>

Comment thread src/Analyzers/MSTest.Analyzers/xlf/Resources.es.xlf
Comment thread src/Analyzers/MSTest.Analyzers/xlf/Resources.zh-Hant.xlf
Comment thread src/Analyzers/MSTest.Analyzers/xlf/Resources.de.xlf
Comment thread src/Analyzers/MSTest.Analyzers/xlf/Resources.ru.xlf
Copilot AI review requested due to automatic review settings July 28, 2026 03:31

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

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

Comments suppressed due to low confidence (43)

src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.ko.xlf:1065

  • The placeholders are reversed: {0} is the log-file path and {1} is the timeout, so Korean users will see the path labeled as seconds and the timeout labeled as the file. Preserve their source meanings.
    src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.de.xlf:509
  • This reverses the recovery instruction: the source says to unset the environment variable to use the default directory, while legen Sie sie ... fest tells users to set it. Translate the unset action explicitly.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:157
  • The added leading % makes a value such as 75 render as %75%. Keep the percentage sign only after {0}, as in the source format.
        <target state="translated">%{0}% &lt; {1}% umbral</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.fr.xlf:620

  • {0} does not exist in the source description and this resource is used directly as a LocalizableResourceString, so the analyzer description will expose an unexplained placeholder. Remove it and retain the blank separator line.
{0}

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.es.xlf:32

  • <Application> is the literal XML manifest element name and must not be translated to <Aplicación>. The mismatched quotes around {1} also make the diagnostic malformed.
        <target state="translated">No se puede activar la aplicación empaquetada de Windows "{0}" (se encontró ''{1}"): su manifiesto no declara ninguna &lt;Aplicación&gt;, por lo que no hay ningún identificador de modelo de usuario de aplicación para activar.</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.de.xlf:32

  • <Application> is the literal XML manifest element name. Translating it to <Anwendung> tells users to look for an element that cannot occur in an Appx manifest.
        <target state="translated">Die verpackte Windows-App "{0}" (gefunden "{1}") kann nicht aktiviert werden: Ihr Manifest deklariert keine &lt;Anwendung&gt;, sodass keine Anwendungsbenutzermodell-ID zum Aktivieren vorhanden ist.</target>

src/Platform/Microsoft.Testing.Extensions.GitHubActionsReport/Resources/xlf/GitHubActionsResources.ko.xlf:47

  • 튜닝 프로세스 means a tuning process, not the dependent process represented by this exit code. This would report the wrong failure reason to Korean users.
        <target state="translated">튜닝 프로세스가 예기치 않게 종료되었습니다.</target>

src/Adapter/MSTestAdapter.PlatformServices/Resources/xlf/Resource.de.xlf:243

  • globae is a typo in the newly translated error message.
        <target state="translated">Die globae Testbereinigungsmethode „{0}.{1}“ wurde abgebrochen</target>

src/Platform/Microsoft.Testing.Extensions.CrashDump/Resources/xlf/CrashDumpResources.fr.xlf:89

  • The new translation contains the duplicated construction initialiser le du fichier.
        <target state="translated">Nous n’avons pas pu initialiser le du fichier de séquence d’incidents « {0} » : {1}. Les informations sur la séquence de test ne seront pas disponibles si l’hôte de test se bloque.</target>

src/Platform/Microsoft.Testing.Extensions.TrxReport/Resources/xlf/ExtensionResources.fr.xlf:7

  • The adjective must agree with singular masculine traitement; traitement ultérieurs is grammatically invalid.
        <target state="translated">Les outils de génération et de fusion de rapports TRX nécessitent un générateur d’application de test qui prend en charge le traitement ultérieurs des artefacts</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.ja.xlf:52

  • The translation contains the duplicated particle をを.
        <target state="translated">[AssemblyFixtureProvider] の検出は、ランタイム アセンブリ参照グラフの走査に依存しています。これは、ランタイムが動的コードを生成できない場合 (例: Native AOT または Blazor WebAssembly AOT の場合) はサポートされません。このようなビルドではこの属性は無視されるため、提供されたアセンブリの初期化メソッドとクリーンアップ メソッドは実行されません。代わりに、'[AssemblyInitialize]' メソッドと '[AssemblyCleanup]' メソッドををテスト アセンブリ内で直接宣言してください。</target>

src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.tr.xlf:631

  • gerekiriyor is misspelled in this validation message.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ja.xlf:52
  • The translation describes {1} as exceeding {0}, but this label is formatted as the aggregation {0} over the scope {1} (for example, “Minimum over Assembly”). The current text reverses that relationship.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:62
  • In code coverage this is the noun “block,” but 封鎖 means blocking/blockade. Use the code-structure term so the metric is not mislabeled.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hans.xlf:62
  • In code coverage this is the noun “block,” but 阻止 means “prevent.” Use the code-structure term so the metric is not mislabeled.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.tr.xlf:62
  • This metric is the noun “block,” but Engelle is the imperative “block/prevent.” Use the noun label used for a code block.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ru.xlf:62
  • For code coverage this means a code block; Блокировка means blocking/locking and labels the metric incorrectly.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pt-BR.xlf:62
  • This metric is the noun “block,” but Bloquear is the verb “to block.” Use the noun label for a code block.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:62
  • This metric is the noun “block,” but Blokuj is an imperative verb. Use the noun label for a code block.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.it.xlf:62
  • This metric is the noun “block,” but Blocca is a verb. Use the noun label for a code block.
        <target state="translated">Blocca</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.fr.xlf:62

  • This metric is the noun “block,” but Bloquer is the verb “to block.” Use the noun label for a code block.
        <target state="translated">Bloquer</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:62

  • This metric is the noun “block,” but Bloquear is the verb “to block.” Use the noun label for a code block.
        <target state="translated">Bloquear</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.de.xlf:62

  • This metric is the noun “block,” but Blockieren is the verb “to block.” Use the noun label for a code block.
        <target state="translated">Blockieren</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.cs.xlf:62

  • This metric is the noun “block,” but Blokovat is the verb “to block.” Use the noun label for a code block.
        <target state="translated">Blokovat</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:97

  • For source-code coverage, “Line” means a line of code; means a geometric line/wire. Use the source-line term.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.zh-Hant.xlf:92
  • For source-code coverage, “Instruction” means a machine/code instruction; 指示 means guidance or an indication and mislabels the metric.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ko.xlf:97
  • For source-code coverage, “Line” means a line of code; means a geometric line. Use the source-line term.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.de.xlf:97
  • For source-code coverage, “Line” means a source line; Linie means a geometric line. Use the programming term Zeile.
        <target state="translated">Linie</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.cs.xlf:97

  • For source-code coverage, “Line” means a source-code row; Linka means a physical line/route. Use the programming term Řádek.
        <target state="translated">Linka</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.es.xlf:112

  • In code coverage, “Statement” is a programming statement; Afirmación means an assertion/claim and mislabels the metric.
        <target state="translated">Afirmación</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.ru.xlf:162

  • подлежащих защите means data subject to protection, not data that can be covered by code coverage. This reports the wrong reason for the threshold result.
    src/Platform/Microsoft.Testing.Extensions.VSTestBridge/Resources/xlf/ExtensionResources.de.xlf:12
  • The source instructs users to remove this section in order to run on browser-wasm. The translation instead says to remove the section that is to be executed there, obscuring the required remediation.
        <target state="translated">Der runsettings-Abschnitt „EnvironmentVariables“ wird auf Browser-/WebAssembly-Plattformen nicht unterstützt, da für die Anwendung ein Neustart des Testhostprozesses erforderlich ist. Entfernen Sie den Abschnitt, der auf browser-wasm ausgeführt werden soll.</target>

src/Platform/Microsoft.Testing.Extensions.VSTestBridge/Resources/xlf/ExtensionResources.ru.xlf:12

  • The source instructs users to remove the section in order to run on browser-wasm. This Russian text instead says to remove a section “which will run” there, changing the remediation.
        <target state="translated">Раздел runsettings "EnvironmentVariables" не поддерживается на платформах браузеров/WebAssembly, поскольку для его применения требуется перезапуск процесса тестового узла. Удалите раздел, который будет запускаться в browser-wasm.</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.fr.xlf:12

  • The translation says “valid <Identity ... /> element element,” repeating élément and making the validation message ungrammatical.
        <target state="translated">Le manifeste de l’application packagée ne déclare pas d’élément valide &lt;Identity Name="..." Publisher="..." /&gt; élément.</target>

src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.tr.xlf:411

  • This change introduces an extra space before the closing parenthesis in süresine göre ).
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:411
  • This sentence begins a CLI option description, so changing Pokaż to lowercase pokaż introduces an incorrect sentence start.
    src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/TerminalResources.pl.xlf:162
  • które można ukryć means data that can be hidden, not code that can be covered. This threshold result needs the code-coverage meaning of “coverable.”
    src/Platform/Microsoft.Testing.Platform/Resources/xlf/PlatformResources.zh-Hans.xlf:37
  • The source distinguishes the processed artifact from an input artifact. Translating the latter as 输入项目 (“input item/project”) loses that technical meaning; use the same artifact term (工件).
    src/Analyzers/MSTest.Analyzers/xlf/Resources.es.xlf:700
  • sin sistema operativo means “without an operating system” and is unrelated to a bare string literal. This makes the analyzer remediation nonsensical for Spanish users.
        <target state="translated">La clave de recurso "[ResourceLock]" "{0}" es un literal de cadena sin sistema operativo; haga referencia a una constante compartida (como un miembro "WellKnownResources" o su propio "const") para que los errores tipográficos no generen de forma silenciosa una clave diferente y sin compartir</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.de.xlf:697

  • The translation renders “fails open” as an error occurring while opening the literal, which reverses the analyzer's point: a typo is accepted and silently creates a different key. Rephrase this clause to preserve the fail-open behavior.
        <target state="translated">„[ResourceLock]“ gleicht Tests anhand der exakten Zeichenfolge des Ressourcenschlüssels ab. Beim Öffnen eines reinen Zeichenfolgenliterals tritt ein Fehler auf: Ein Tippfehler erzeugt einen anderen Schlüssel, sodass in Konflikt stehende Tests nicht mehr serialisiert werden und im Hintergrund ausgeführt werden, anstatt einen Fehler zu verursachen. Wenn Sie auf eine freigegebene Konstante verweisen, wird der Tippfehler zu einem Kompilierungsfehler, und der Compiler kann erzwingen, dass alle Tests, die um dieselbe Ressource konkurrieren, denselben Schlüssel verwenden.</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.ru.xlf:701

  • The translation renders “fails open” as failures opening the literal, rather than explaining that a typo is accepted and silently creates a different key. This changes the analyzer guidance.
        <target state="translated">"[ResourceLock]" сопоставляет тесты по точному совпадению строки ключа ресурса. Открываются сбои необработанного строкового литерала: опечатка создаст другой ключ, поэтому конфликтующие тесты больше не будут сериализованными и начнут автоматически выполняться в состоянии гонки вместо того, чтобы завершаться с ошибкой. Ссылка на общую константу делает опечатки ошибкой компиляции и позволяет компилятору гарантировать, что каждый тест, конкурирующий за один и тот же ресурс, использует один и тот же ключ.</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.zh-Hant.xlf:695

  • 裸機字串長值 refers to a bare-metal/string-length concept and does not mean a bare string literal. This makes the analyzer explanation misleading.
        <target state="translated">'[ResourceLock]' 依資源金鑰的確切字串相等性來比對測試。無法開啟裸機字串長值: 錯字會產生不同的金鑰,因此有衝突的測試不再序列化並默默地競爭,而不會因錯誤而失敗。參照共用常數會使錯字成為編譯錯誤,並可讓編譯器強制在相同資源上競爭的每一項測試都使用相同的金鑰。</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.pl.xlf:17

  • o wartości true means “with a value of true,” but “True UWP/AppContainer hosts” means genuine UWP/AppContainer hosts. The extension description currently conveys a different technical constraint and also changes the product casing from WinUI to winUI.
        <target state="translated">Wdraża niepakowany (z luźnym układem) host testowy systemu Windows (na przykład rozpakowany winUI) w izolowanym katalogu i uruchamia go z tego miejsca, a w kompilacji systemu Windows rejestruje spakowanego, w pełni zaufanego hosta testów pulpitu MSIX i aktywuje go za pomocą identyfikatora modelu użytkownika aplikacji. Hosty platformy UWP/AppContainer o wartości true nie są obsługiwane. Zobacz stronę https://github.com/microsoft/testfx/issues/9933.</target>

Comment thread src/TestFramework/TestFramework/Resources/xlf/FrameworkMessages.ru.xlf Outdated
Comment thread src/TestFramework/TestFramework/Resources/xlf/FrameworkMessages.pl.xlf Outdated
Comment thread src/TestFramework/TestFramework/Resources/xlf/FrameworkMessages.de.xlf Outdated
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 3033069 Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 3033096 Jul 28, 2026
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 3033096 Localized file check-in by OneLocBuild Task: Build definition ID 1218: Build ID 3033187 Jul 28, 2026
Keep synchronized analyzer, platform, and framework translations while removing all reviewed terminology, grammar, placeholder, and remediation defects.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c475df24-a912-49c8-8f59-18524c91af55
Copilot AI review requested due to automatic review settings July 28, 2026 07:36

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.

Review details

Comments suppressed due to low confidence (3)

src/Platform/Microsoft.Testing.Extensions.TrxReport/Resources/xlf/ExtensionResources.zh-Hans.xlf:77

  • The invisible zero-width non-joiners around the quoted option become part of the argument when users copy the displayed "--output-trx" text, so the command-line parser will not recognize it as --output-trx. Keep the locked option free of these hidden characters.
        <target state="translated">"‌--output-trx"‌ 需要一个 TRX 文件路径</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.fr.xlf:27

  • This target is marked translated, but its final instruction still starts with the English word “See”. Translate that word as well so French users receive a fully localized error message.
        <target state="translated">Nous ne pouvons pas lancer l’application Windows packagée « {0} » (détectée « {1} »). L’inscription et l’activation d’une application empaquetée (MSIX) nécessitent la version Windows de cette extension, fournie pour net8.0-windows10.0.19041.0 et les versions ultérieures. Ciblez 'net8.0-windows10.0.19041.0' (ou un moniker de framework cible net*-windows ultérieur avec une version de plateforme 10.0.19041.0 ou supérieure) pour que NuGet sélectionne cet élément. La build actuelle lance uniquement des hôtes de test non empaquetés (disposition libre). See https://github.com/microsoft/testfx/issues/9933.</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.pl.xlf:695

  • The phrase “Literał ciągu bez znaków otwierających powoduje błąd typu ‘open’” describes a literal without opening characters causing an “open” error. The source instead says a bare literal fails open—no error is reported—which is the key reason the analyzer recommends a constant. Please return this unit for localization correction so the description does not contradict its following sentence.
        <target state="translated">'[ResourceLock]' dopasowuje testy na podstawie dokładnej zgodności ciągu znaków klucza zasobu. Literał ciągu bez znaków otwierających powoduje błąd typu „open”: literówka powoduje powstanie innego klucza, przez co kolidujące testy nie są już wykonywane sekwencyjnie i dochodzi do sytuacji wyścigu, która przebiega bez widocznych komunikatów, zamiast zakończyć się błędem. Odwołanie się do współdzielonej stałej sprawia, że literówki powodują błąd kompilacji, a także pozwala kompilatorowi wymusić, by każdy test ubiegający się o ten sam zasób używał tego samego klucza.</target>
  • Files reviewed: 22/22 changed files
  • Comments generated: 0 new
  • Review effort level: Medium

Copilot AI review requested due to automatic review settings July 28, 2026 07:39

@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.

Filtered at f570f0a7d after merging current main:

  • Preserved 172 synchronized analyzer, platform, TRX, and framework resource-unit updates across 16 files.
  • Removed all 59 reviewed terminology, grammar, placeholder, and remediation defects.
  • Verified every remaining XLF ID/source against its neutral RESX and validated all format-placeholder contracts.
  • Addressed and resolved all review threads.

@github-actions
github-actions Bot merged commit 866ed18 into main Jul 28, 2026
125 checks passed
@github-actions
github-actions Bot deleted the locfiles/24a48448-8b2d-4b36-bd2b-3613a213bf62 branch July 28, 2026 07:40

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

Copilot reviewed 22 out of 22 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (11)

src/Platform/Microsoft.Testing.Extensions.CrashDump/Resources/xlf/CrashDumpResources.fr.xlf:89

  • The phrase “initialiser le du fichier” is ungrammatical; it should read “initialiser le fichier”. Please correct the translation upstream.
        <target state="translated">Nous n’avons pas pu initialiser le du fichier de séquence d’incidents « {0} » : {1}. Les informations sur la séquence de test ne seront pas disponibles si l’hôte de test se bloque.</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.zh-Hant.xlf:695

  • This translation changes “fails open” into “無法開啟” (“cannot open”) and renders “bare string literal” as “裸機字串長值”, so the analyzer description no longer explains that a typo silently creates a different key. Please have the localization corrected to preserve that behavior.
        <target state="translated">'[ResourceLock]' 依資源金鑰的確切字串相等性來比對測試。無法開啟裸機字串長值: 錯字會產生不同的金鑰,因此有衝突的測試不再序列化並默默地競爭,而不會因錯誤而失敗。參照共用常數會使錯字成為編譯錯誤,並可讓編譯器強制在相同資源上競爭的每一項測試都使用相同的金鑰。</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.ru.xlf:701

  • The Russian sentence “Открываются сбои необработанного строкового литерала” does not convey “a bare string literal fails open” and obscures the analyzer’s central warning that typos silently produce distinct keys. Please correct this translation upstream.
        <target state="translated">"[ResourceLock]" сопоставляет тесты по точному совпадению строки ключа ресурса. Открываются сбои необработанного строкового литерала: опечатка создаст другой ключ, поэтому конфликтующие тесты больше не будут сериализованными и начнут автоматически выполняться в состоянии гонки вместо того, чтобы завершаться с ошибкой. Ссылка на общую константу делает опечатки ошибкой компиляции и позволяет компилятору гарантировать, что каждый тест, конкурирующий за один и тот же ресурс, использует один и тот же ключ.</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.ja.xlf:52

  • The Japanese text contains the duplicated particle “メソッドをを”. Please change it to “メソッドを”.
        <target state="translated">[AssemblyFixtureProvider] の検出は、ランタイム アセンブリ参照グラフの走査に依存しています。これは、ランタイムが動的コードを生成できない場合 (例: Native AOT または Blazor WebAssembly AOT の場合) はサポートされません。このようなビルドではこの属性は無視されるため、提供されたアセンブリの初期化メソッドとクリーンアップ メソッドは実行されません。代わりに、'[AssemblyInitialize]' メソッドと '[AssemblyCleanup]' メソッドををテスト アセンブリ内で直接宣言してください。</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.es.xlf:700

  • “literal de cadena sin sistema operativo” means a string literal without an operating system, not a bare string literal. This makes the analyzer diagnostic nonsensical; please use wording such as “literal de cadena escrito directamente” in the localization source.
        <target state="translated">La clave de recurso "[ResourceLock]" "{0}" es un literal de cadena sin sistema operativo; haga referencia a una constante compartida (como un miembro "WellKnownResources" o su propio "const") para que los errores tipográficos no generen de forma silenciosa una clave diferente y sin compartir</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.de.xlf:697

  • “Beim Öffnen eines reinen Zeichenfolgenliterals tritt ein Fehler auf” says that opening the literal causes an error, which is the opposite of “fails open”. The diagnostic must instead explain that a typo silently creates a different key; please correct the German translation upstream.
        <target state="translated">„[ResourceLock]“ gleicht Tests anhand der exakten Zeichenfolge des Ressourcenschlüssels ab. Beim Öffnen eines reinen Zeichenfolgenliterals tritt ein Fehler auf: Ein Tippfehler erzeugt einen anderen Schlüssel, sodass in Konflikt stehende Tests nicht mehr serialisiert werden und im Hintergrund ausgeführt werden, anstatt einen Fehler zu verursachen. Wenn Sie auf eine freigegebene Konstante verweisen, wird der Tippfehler zu einem Kompilierungsfehler, und der Compiler kann erzwingen, dass alle Tests, die um dieselbe Ressource konkurrieren, denselben Schlüssel verwenden.</target>

src/Adapter/MSTestAdapter.PlatformServices/Resources/xlf/Resource.de.xlf:243

  • “globae” is misspelled; the phrase should be “globale Testbereinigungsmethode”.
        <target state="translated">Die globae Testbereinigungsmethode „{0}.{1}“ wurde abgebrochen</target>

src/Adapter/MSTest.TestAdapter/Resources/xlf/PlatformAdapterResources.de.xlf:12

  • The final sentence says to remove the section that is supposed to run on browser-wasm, but the source says to remove the section in order to run there. Please correct it to wording such as “Entfernen Sie den Abschnitt, um die Ausführung auf browser-wasm zu ermöglichen.”
        <target state="translated">Der runsettings-Abschnitt „EnvironmentVariables“ wird auf Browser-/WebAssembly-Plattformen nicht unterstützt, da für die Anwendung ein Neustart des Testhostprozesses erforderlich ist. Entfernen Sie den Abschnitt, der auf browser-wasm ausgeführt werden soll.</target>

src/Platform/Microsoft.Testing.Extensions.TrxReport/Resources/xlf/ExtensionResources.zh-Hans.xlf:77

  • The target contains zero-width non-joiner characters around --output-trx. Copying the displayed option can therefore produce an invalid CLI argument. Please remove the invisible characters in the localization source while preserving the locked option text exactly.
        <target state="translated">"‌--output-trx"‌ 需要一个 TRX 文件路径</target>

src/Platform/Microsoft.Testing.Extensions.PackagedApp/Resources/xlf/ExtensionResources.fr.xlf:27

  • The French error message ends with the untranslated English word “See”. Please localize it (for example, “Consultez”) through the localization pipeline so the entire message is French.
        <target state="translated">Nous ne pouvons pas lancer l’application Windows packagée « {0} » (détectée « {1} »). L’inscription et l’activation d’une application empaquetée (MSIX) nécessitent la version Windows de cette extension, fournie pour net8.0-windows10.0.19041.0 et les versions ultérieures. Ciblez 'net8.0-windows10.0.19041.0' (ou un moniker de framework cible net*-windows ultérieur avec une version de plateforme 10.0.19041.0 ou supérieure) pour que NuGet sélectionne cet élément. La build actuelle lance uniquement des hôtes de test non empaquetés (disposition libre). See https://github.com/microsoft/testfx/issues/9933.</target>

src/Analyzers/MSTest.Analyzers/xlf/Resources.pl.xlf:695

  • The phrase “Literał ciągu bez znaków otwierających powoduje błąd typu ‘open’” mistranslates “a bare string literal fails open” as a literal missing opening characters that causes an error. This reverses the warning’s meaning; please correct it through the localization pipeline.
        <target state="translated">'[ResourceLock]' dopasowuje testy na podstawie dokładnej zgodności ciągu znaków klucza zasobu. Literał ciągu bez znaków otwierających powoduje błąd typu „open”: literówka powoduje powstanie innego klucza, przez co kolidujące testy nie są już wykonywane sekwencyjnie i dochodzi do sytuacji wyścigu, która przebiega bez widocznych komunikatów, zamiast zakończyć się błędem. Odwołanie się do współdzielonej stałej sprawia, że literówki powodują błąd kompilacji, a także pozwala kompilatorowi wymusić, by każdy test ubiegający się o ten sam zasób używał tego samego klucza.</target>

Evangelink added a commit that referenced this pull request Jul 28, 2026
Copilot-Session: c475df24-a912-49c8-8f59-18524c91af55
Evangelink added a commit that referenced this pull request Jul 28, 2026
The OneLocBuild localized file check-in (866ed18, #10268) replaced a blank line
inside the GlobalTestFixtureShouldBeValidDescription French target with a literal
'{0}' placeholder. XliffTasks 11.0.0-beta.26377.3 flags the unit as out-of-date
with Resources.resx, failing every build leg:

  'xlf/Resources.fr.xlf' is out-of-date with 'Resources.resx'

This branch inherited the failure when main was merged in. Restoring the blank
line clears the check while preserving the French translation. Running
/t:UpdateXlf instead would also fix the build, but destructively: it resets the
unit to state='new' with the English source text, discarding the translation.

Verified locally: with the corrupted file, a CI-mode build
(/p:UpdateXlfOnBuild=false) reproduces the exact error; with this fix a full
solution build in the same mode succeeds, and no other xlf file is stale.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 7a096980-cbb4-4078-9880-ad61c1a84e23
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