-
Notifications
You must be signed in to change notification settings - Fork 0
Step 7 Localization
Every player-visible string in OptiKit is an FText, so the standard Localization
Dashboard flow picks all of it up.
-
Setting names, descriptions, category names, option labels - on the catalog
Data Assets (
/OptiKit/Catalog/, or your own). - Widget texts (footer captions, search hint, example labels) - in the WBPs.
-
Dialog and apply-error texts - in one Data Asset:
/OptiKit/DA_OkTexts(UOkTextLibrary, 35 fields). Edit it directly, or duplicate it and point Project Settings → Plugins → OptiKit → Text Library at your copy. Untouched fields keep the localized C++ defaults; the catalog check warns about emptied fields. -
Remaining C++ strings (capture prompts like "Press a key...") -
LOCTEXTin the plugin source.
- Tools → Localization Dashboard → select the Game target.
- Cultures: add your languages (native culture stays e.g. English).
-
Gather from Packages → Include Path Wildcards: keep the default
Content/*and add the filesystem wildcardPlugins/OptiKit/Content/*(the field matches file paths, not/OptiKit-style package paths). -
Gather from Text Files: add
Plugins/OptiKit/Sourcefor the remaining C++ strings. - Gather Text → translate (built-in editor or PO export/import) → Compile Text.
UI.Language fills its options from the cultures that have compiled localization
data - after Compile Text, new languages appear automatically with native-name
labels ("Türkçe", "Deutsch"). Switching is live, no restart; the choice persists and
is restored at boot. In PIE the switch drives the game localization preview only -
the editor's own language is never touched.
For packaged builds, also tick your cultures under Project Settings → Packaging → Localizations to Package.
The example/preview texts ("V-Sync", "80", "F") are replaced by real content at runtime and never reach players - translating them is optional.
Next: Step 8: Blueprint API