Skip to content

Localization and translated input — scoped acceptance ​

Frozen candidate: Localization L2, 165 approved source files, 53 own asset packages. Canonical assets remain UE5.6-authored. Game Master design, inventory, and reference assets are excluded. The 63 unchanged core files match the three fresh strict ListTheme hosts; this milestone did not repeat those core builds.

The saved settings Blueprint previews English/Türkçe through public Unreal culture nodes, rolls back owned Cancel/deactivation, commits engine language/locale after successful UI preference Apply, and previews English on Defaults. Original compiled catalogs translate Blueprint text and runtime adapter Text. Enlarged RPG pause identity previously overlapped its navigation cues; standard MenuPublisher → Auto Wrap Text repairs the overlap without shrinking text.

Installed engineEditor buildBlueprint compilationNew Development archive
5.6.1 CL4439499643.12 s30; 0 errors/warnings/failed loads50.12 s
5.7.4 CL5149498243.57 s30; 0 errors/warnings/failed loads45.31 s
5.8.3 CL5821070946.42 s30; 0 errors/warnings/failed loads99.94 s

No native compiler warnings or cook error markers in the accepted logs. Builds/UAT were serialized. Fresh copies Evidence/ExampleChecks/UE56-L2, UE57-L2, and UE58-L2 preserve canonical source and change only copied project association/formatting. Archives are Evidence/Packages/LocalizationL2UE56, LocalizationL2UE57, and LocalizationL2UE58. Exact UAT logs and UFS staging manifests are retained beside each archive.

Actual interactions ​

36 strict locale reports: four source primary flows, four packaged primary flows, and four independent packaged reloads per engine. Both genres run at 1280×720 and 800×600. Primary enlarged cases apply 150% UI/text preferences. Reload cases retain viewport/fixture flags but verify culture persistence, not the intentionally cleaned unique UI profile's scale.

Checks operate the real saved menus/settings/HUD/pause/confirmation/return flow. They cover another screen owning the edit session, blocked preview, external deactivation cleanup, an owned empty .sav directory producing a real save failure, a localized failure reason, no culture config commit on UI-save failure, Cancel, retry, Defaults/rollback, retained settings instance, translated runtime models, pause/cue bounds, controller intent, meaningful pointer restoration, keyboard restoration, modal lifetime, and Back focus. These are software Slate events, not physical device tests.

Each package stages the actual locmeta and en/tr locres. Its real Saved/Config/Windows/GameUserSettings.ini contains Language=tr and Locale=tr. Reload launches omit a culture override and verify translated main-menu text. The earlier custom INI command-line argument was not used as isolation proof; fresh project/archive Saved directories provide isolation.

24 strict English regressions: complete source/package RTS/RPG flows at both scales on all three engines. Explicit -culture=en -nowrite protects the packaged Turkish culture config. This exercises the current settings tree and pause wrap alongside existing transitions, focus, prompts, loading, and return behavior.

One supplemental native UE5.6 enlarged focus check: after layout settles, public UMG focus reveals Türkçe completely in the reading area. Actual button size 187×57.6, reading area 400×141.6, button bounds (195,84)→(382,141.6). The Blueprint variable and WidgetTree point to the same live button. Actual rendered language buttons and Apply/Cancel were inspected. This is source-only public-focus behavior, not physical D-pad or a packaged probe.

The native probe was temporary opt-in QA. Its full source is preserved under Review/Diagnostics/LanguageFocus; the canonical file was restored from its verified exact L2 snapshot. A first rebuild was up-to-date because the restored timestamp was older; touching the restored source then forced an actual 3.61 s compile/link. All 165 canonical hashes again match the frozen candidate. Failed Python probes are preserved, excluded from acceptance, and removed from maintained Tools. They encountered engine Python naming and unreliable zero-geometry results; they do not establish a UI defect.

Commands and receipts ​

Tools/run_localization_matrix.ps1 -Milestone L2 records every engine build, Blueprint allowlist compilation, source run, BuildCookRun, distribution boundary, staged resource, packaged transaction and restart. Tools/collect_localization_evidence.py --milestone L2 strictly collected the completed frozen revision before temporary supplemental instrumentation. Its summary remains immutable.

English regressions used Tools/run_loading_reviews.ps1 -Prefix L2-EnglishSource|L2-EnglishCooked -EngineVersion <version> -ProjectPath <fresh copy>|-PackagedExecutable <fresh archive> -Culture en -ReadOnlyConfig.

Main receipts: Localization-L2-VerificationSummary.json (36 reports), Localization-L2-EnglishRegression.json (24), Localization-L2-SourceReceipt.json, three boundary reports, Localization-L2-VisualAndFocus.json, and Localization-L2-ReferencePreservation.json. Six reviewed captures are preserved in Evidence/Visual. Native focus command: the canonical UE5.6 game process used -IFVerifyLocalization -IFLocaleEnlarged -IFLocaleFocusProbe -culture=en -nowrite -RenderOffscreen -dx11 -ResX=800 -ResY=600; the temporary probe source is retained for reproduction.

Failures and limitations retained ​

UE5.6.1 source Turkish restart has five startup errors from Epic's FStructuredLogFormatTest. Log verbosity identifies the test; a minimal host with InterfaceForge disabled and a correctly named Turkish target reproduces all five. Earlier controls without a valid catalog silently fell back to English and were invalid Turkish controls. Host descriptor/config were restored byte-for-byte. No engine changes or error suppression. Strict source-reload reports remain FAIL and are excluded from PASS counts. Package culture restart is tested independently. Localization-EngineSmokeDiagnosis.json records the controls; specific failed comparison sites were not instrumented.

Earlier author GUID failures, missing include, wrong pause-widget name, early screenshots, C4706 in the temporary native probe, and Python probe failures remain in their logs/snapshots. Final fixes do not erase those records.

Engine culture-setter Boolean results do not report disk flush errors. UI preference and engine culture saves are separate operations. en/tr and Turkish Latin extended glyphs are tested; CJK/RTL, professional translation review, localized art/audio, mobile/consoles, hardware input/disconnection and physical audibility are unverified/deferred. A Development archive is not a full Shipping-example acceptance claim.

Reference HEADs, prior modified-file hashes and all 5,546 UI package hashes match discovery. Sakura status remains unchanged. Game Master and MassForge have additional external source/document changes; their full statuses are not unchanged. Nothing was reset or rebaselined. The persistent goal remains ACTIVE: this scoped milestone is not whole-product completion.

UIForge v0.1.0 · Blueprint and C++ development documentation.

Enlarged documentation image

Enlarged documentation image