Skip to content

Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13982412#13656

Closed
dotnet-bot wants to merge 3 commits into
vs18.7from
locfiles/89136df7-3df1-4ce4-923a-0e73dfe575e7
Closed

Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13982412#13656
dotnet-bot wants to merge 3 commits into
vs18.7from
locfiles/89136df7-3df1-4ce4-923a-0e73dfe575e7

Conversation

@dotnet-bot

Copy link
Copy Markdown
Contributor

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.

@github-actions github-actions Bot 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.

Localization PR Review — OneLocBuild #13980159

✅ Structural Integrity

  • All 91 changed files are .xlf localization files — no unexpected file types.
  • No <source> elements or <note> elements were modified.
  • No trans-units were added or removed.
  • XML structure is well-formed across all files.

✅ Format Specifiers

All format specifiers ({0}, {1}, etc.) are preserved correctly in all translated strings. No mismatches between source and target placeholders.

✅ Positive Changes

4 French translations (MissingGetItemError, MissingGetPropertyError, MissingGetTargetResultError, SolutionBuildInvalidForCommandLineEvaluation) are correctly going from state="new" to state="translated" with proper French text. 👍


⚠️ Issue 1: Missing spaces after format specifiers in Czech (2 strings)

In src/Build/Resources/xlf/Strings.cs.xlf:

  1. BuildCheck_BC0301_MessageFmt: Umístění {0}nemůže — missing space between {0} and nemůže. At runtime the substituted value will run directly into the next word.
  2. UnknownLoggingType: není pro {1}srozumitelný — missing space between {1} and srozumitelný.

These will produce garbled output like C:\Downloadsnemůže být plně důvěryhodné.

⚠️ Issue 2: 416 translation state regressions (translatednew)

This is the most significant concern. 32 unique trans-unit IDs across all 13 languages are having their translations reverted to English source text with state="new". This means users will see English instead of their localized language for these strings.

Affected trans-unit IDs (32):
BuildEngineCallbacksInTaskHostUnsupported, CannotConvertStringToBool, CollectionIsReadOnly, ConflictingTaskAssembly, CouldNotGenerateReferenceAssemblyDirectory, DebugPathTooLong, DotnetHostPathNotSet, Exec.CommandExitedZeroWithErrors, ExpectedEventToBeSerializable, FailedCreatingTempFile, GenerateResource.STRPropertySkippedInvalidIdentifier, GenerateResource.STRPropertySkippedNameCollision, GenerateResource.STRPropertySkippedReservedName, GenerateResource.STRPropertySkippedVoidType, GlobExpansionFailed, InvalidAttributeMetadata, InvalidFilespecForTransform, InvalidGetPathOfFileAboveParameter, ModifyingTaskHostEnvironmentHeader, ModifyingTaskHostEnvironmentVariable, PathTooLong, Shared.CannotChangeItemSpecModifiers, Shared.InvalidFilespecForTransform, Shared.ParameterCannotBeNull, Shared.ParameterCannotHaveZeroLength, Shared.PathTooLong, TaskNotMarshalByRef, ToolTask.ToolCommandExitedZeroWithErrors, UnsupportedFrameworkVersion, UnsupportedFrameworkVersionForWindowsSdk, UnsupportedVisualStudioVersion, Xaml.CommandExitedZeroWithErrors

Affected file areas:

  • src/Framework/Resources/xlf/SR.*.xlf — 13 files
  • src/MSBuildTaskHost/Resources/xlf/SR.*.xlf — 13 files
  • src/Tasks/Resources/xlf/Strings.*.xlf — 10 files
  • src/Build/Resources/xlf/Strings.*.xlf — 13 files
  • src/Utilities/Resources/xlf/Strings.*.xlf — 11 files
  • src/Shared/Resources/xlf/Strings.shared.zh-Hant.xlf — 1 file

This is a known pattern with OneLocBuild when source strings are modified — the localization pipeline resets affected strings to state="new" until they are re-translated downstream. If that's the case here, this is expected and the strings will be translated in a subsequent localization PR. However, if these source strings have not actually changed, this would indicate a pipeline issue worth investigating.

Summary

The translation quality improvements in this PR are good, but the 2 Czech spacing bugs should be filed for correction, and the 416 state regressions should be confirmed as intentional (source string changes awaiting re-translation) rather than accidental translation loss.

Generated by Expert Code Review (on open) for issue #13656 · ● 4.7M

<trans-unit id="BuildCheck_BC0301_MessageFmt">
<source>Location: '{0}' cannot be fully trusted, place your projects outside of that folder (Project: {1}).</source>
<target state="translated">Umístění: '{0}' nelze plně považovat za důvěryhodné, umístěte projekty mimo danou složku (Projekt: {1}).</target>
<target state="translated">Umístění {0}nemůže být plně důvěryhodné. Umístěte projekty mimo danou složku (projekt: {1}).</target>

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.

Bug: Missing space after format specifier {0}

The translated string has {0}nemůže — the format placeholder {0} is directly followed by the word nemůže with no space. At runtime, when {0} is replaced (e.g. with a path like C:\Downloads), the output will be C:\Downloadsnemůže být plně důvěryhodné. — the path runs directly into the Czech word.

Previous translation correctly had a colon and quotes: Umístění: '{0}' nelze plně považovat za důvěryhodné

Should be: Umístění {0} nemůže být plně důvěryhodné. (with a space before nemůže).

<trans-unit id="UnknownLoggingType">
<source>Logging type {0} is not understood by {1}.</source>
<target state="translated">{1} nerozumí {0} typu protokolování.</target>
<target state="translated">Typ protokolování {0} není pro {1}srozumitelný.</target>

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.

Bug: Missing space after format specifier {1}

The translated string has {1}srozumitelný — the format placeholder {1} runs directly into the word srozumitelný. At runtime, when {1} is replaced, the output will have no space between the substituted value and the following word.

Should be: ...není pro {1} srozumitelný. (with a space before srozumitelný).

<trans-unit id="DotnetHostPathNotSet">
<source>DOTNET_HOST_PATH is not set. Cannot determine runtime location for app host bootstrap. This should always be set when running under the .NET SDK.</source>
<target state="translated">DOTNET_HOST_PATH není nastaven. Nelze určit umístění modulu runtime pro spuštění hostitele aplikace. Tato možnost by se měla nastavit vždy při spuštění v sadě .NET SDK.</target>
<target state="new">DOTNET_HOST_PATH is not set. Cannot determine runtime location for app host bootstrap. This should always be set when running under the .NET SDK.</target>

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.

Translation regression: state="translated"state="new"

This string (DotnetHostPathNotSet) was previously translated into Czech and is now being reverted to English with state="new". Users will see untranslated English text.

This same regression pattern affects 416 strings total across all 13 languages (32 unique trans-unit IDs). See the overall review summary for the full list.

@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13980159 Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13980894 Apr 30, 2026
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13980894 Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13980898 Apr 30, 2026
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13980898 Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13980927 Apr 30, 2026
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13980927 Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13981114 Apr 30, 2026
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13981114 Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13981868 Apr 30, 2026
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13981868 Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13982355 Apr 30, 2026
@dotnet-bot dotnet-bot changed the title Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13982355 Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 13982412 Apr 30, 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.

2 participants