Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

### Added

- [L10NSharp] Added pseudolocalization support: lookups for the standard `qps-ploc` pseudo-locale (`LocalizationManager.PseudoLocalizationLanguageId`) return the English text pseudolocalized at runtime (e.g. `[Tîitlée Mîissîing]`), so testers can spot non-internationalized strings and layout problems. Set `LocalizationManager.OfferPseudoLocalization = true` to include it in the offered UI languages; `LocalizationManager.PseudoLocalize(string)` exposes the transform directly. See `src/L10NSharp/Pseudo/README.md`.
- [L10NSharp] Added pseudolocalization support: lookups for the standard `qps-ploc` pseudo-locale (`LocalizationManager.PseudoLocalizationLanguageId`) return the English text pseudolocalized at runtime (e.g. `[Tîitlée Mîissîing]`), so testers can spot non-internationalized strings and layout problems. Set `LocalizationManager.OfferPseudoLocalization = true` to include it in the offered UI languages; `LocalizationManager.PseudoLocalize(string)` exposes the transform directly. The SampleApp turns this on, so you can see it in action. See `src/L10NSharp/Pseudo/README.md`.

## [10.0.0] - 2026-08-27

Expand Down
11 changes: 11 additions & 0 deletions src/SampleApp/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,17 @@ private static void SetUpLocalization(bool useAdditionalMethodInfo, bool useTmx)
if (useTmx)
throw new NotSupportedException("TMX-based localization is no longer supported.");

// Offer the qps-ploc pseudo-locale ("Pseudo-English") in the language lists.
// No translation files exist for it: lookups derive the text from the live
// English at runtime, doubling every vowel and wrapping the result in
// brackets ("Title Missing" -> "[Tîitlée Mîissîing]"), so a tester can spot
// strings that never went through L10NSharp (still plain English), truncation
// (missing "]") and layout that can't cope with longer translations.
// Note that while the pseudo-locale is selected, the "Get Name Dynamically"
// demo below no longer harvests its string into the English XLIFF: pseudo
// lookups return before the collection step. Exercise that demo in English.
LocalizationManager.OfferPseudoLocalization = true;

// Your installer should have a folder where you place the localization files you're shipping with the program
var directoryOfInstalledLocFiles = "../../../LocalizationFilesFromInstaller";
Directory.CreateDirectory(directoryOfInstalledLocFiles);
Expand Down
Loading