Fix FilenamesToAddToCache yielding duplicates when UseLanguageCodeFolders=true#145
Merged
Conversation
…ders=true (#140) The UseLanguageCodeFolders branch for the installed folder was missing the !langIdsOfCustomizedLocales.Contains(langId) guard that the non-UseLanguageCodeFolders branch already applies. Without it, both the custom and installed XLIFF for the same language were yielded, and whichever loaded last silently overwrote the other in the cache.
…anguageCodeFolders (#140) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
a882e18 to
cbb9546
Compare
TearDown already resets UseLanguageCodeFolders to false, making the finally clauses in GetUiLanguages_FindsAllWithFolders, GetDynamicStringInEnglish_NoDefault_FindsEnglishWithFolders, and CustomTranslation_TakesPrecedenceOverInstalled_WithLanguageCodeFolders redundant. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
andrew-polk
approved these changes
Jun 15, 2026
andrew-polk
left a comment
Contributor
There was a problem hiding this comment.
@andrew-polk reviewed 3 files and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on imnasnainaec).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #140 (part of #135)
When
UseLanguageCodeFoldersistrue, the loop over the installed XLIFF folder was missing the!langIdsOfCustomizedLocales.Contains(langId)guard that the non-UseLanguageCodeFoldersbranch already applies correctly. The result was that both the custom and installed XLIFF files for the same language were yielded, causing whichever loaded last to silently overwrite the other in the string cache.Also, when adding a regression test to
src/L10NSharp.Tests/LocalizationManagerTestsBase.cs, I removed the try-finally block from 2 existing tests, since they are redundant with the teardown.This change is
Devin review: https://app.devin.ai/review/sillsdev/l10nsharp/pull/145