Skip to content

Turn on pseudolocalization in the SampleApp - #166

Merged
andrew-polk merged 1 commit into
masterfrom
pseudoloc-in-sample-app
Sep 3, 2026
Merged

Turn on pseudolocalization in the SampleApp#166
andrew-polk merged 1 commit into
masterfrom
pseudoloc-in-sample-app

Conversation

@andrew-polk

@andrew-polk andrew-polk commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Problem

L10nSharp gained qps-ploc pseudolocalization support in #158, but nothing in the repo shows it working. A developer evaluating the feature — or a tester told their app can now run in "Pseudo-English" — has no way to see what it looks like short of wiring it into their own application, and the repo has no end-to-end exercise of the pseudo-locale reaching the parts of a real WinForms app that are easiest to get wrong.

Fix

Turn the feature on in the SampleApp, which exists precisely to demonstrate L10nSharp's features:

  • src/SampleApp/Program.cs sets LocalizationManager.OfferPseudoLocalization = true during localization setup, so "Pseudo-English (qps-ploc)" appears in the app's UI-language combo alongside English.
  • A comment explains what the pseudo-locale is for, and flags one non-obvious consequence: while it is selected, the app's "Get Name Dynamically" demo no longer harvests its string into the English XLIFF (pseudo lookups return before the collection step — intended, and documented in Pseudo/README.md). The sample app is read as documentation, so that belongs where someone trying the demo will see it.
  • The existing pseudolocalization entry in CHANGELOG.md gains a few words pointing at the SampleApp.

No library code changes — the lookup support already worked; only the sample app opts in.

Verified by running the app: selecting the pseudo-locale pseudolocalizes the window title, designer-created controls (labels, buttons, ListView and DataGridView column headers), the format-string label — with its {0}/{1} substitutions correctly passing through untouched — and the GetDynamicString result. The sample now doubles as a quick manual check of the paths most likely to regress.


Devin review


This change is Reviewable

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Test Results

    7 files  ±0  144 suites  ±0   25s ⏱️ -1s
223 tests ±0  218 ✔️ ±0    5 💤 ±0  0 ±0 
858 runs  ±0  843 ✔️ ±0  15 💤 ±0  0 ±0 

Results for commit 70faa69. ± Comparison against base commit c7a56a2.

♻️ This comment has been updated with latest results.

@andrew-polk

Copy link
Copy Markdown
Contributor Author

[Claude Opus 5 (1M context)] Consulted Devin on 2026-09-03 16:31 UTC up to commit 7f7e6489bef49bf7c04b2d0289e7e75d12a852b7. Clean: no Bugs, no Investigate flags, no Informational items. CI green on both Windows and Ubuntu.

L10nSharp gained qps-ploc pseudolocalization support in #158, but
nothing in the repo showed it working. Set
LocalizationManager.OfferPseudoLocalization in the SampleApp so
"Pseudo-English (qps-ploc)" appears in its language combo, and point the
CHANGELOG entry at the sample app.

The comment on the flag explains what the pseudo-locale is for, and
notes one non-obvious consequence: while it is selected, the app's "Get
Name Dynamically" demo no longer harvests its string into the English
XLIFF, because pseudo lookups return before the collection step. That is
intended and documented in Pseudo/README.md, but the sample app is read
as documentation, so it belongs where someone trying the demo will see
it.

No library code changes; only the sample app opts in.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@andrew-polk
andrew-polk force-pushed the pseudoloc-in-sample-app branch from 7f7e648 to 70faa69 Compare September 3, 2026 16:33
@andrew-polk
andrew-polk marked this pull request as ready for review September 3, 2026 16:33

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

@tombogle reviewed 2 files and all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on andrew-polk).

@andrew-polk
andrew-polk merged commit 60c6876 into master Sep 3, 2026
7 checks passed
@andrew-polk
andrew-polk deleted the pseudoloc-in-sample-app branch September 3, 2026 18:19
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