Unreal Engine game localization requires more than translating a spreadsheet. A dependable Unreal Engine Localization Dashboard workflow gathers text from the intended sources, sends exportable PO files for language work, imports reviewed translations, compiles localization resources and verifies that the packaged game actually loads them. If you are searching for FText, LOCTEXT, localization targets or LocRes troubleshooting, this guide shows how those pieces fit together.
The important technical boundary is that Unreal’s localized text system is built around FText and source identity, whereas plain strings and gameplay identifiers are different kinds of data. A Localization Target specifies the source or native culture and the set of cultures it supports. The pipeline uses generated manifests and archives, standard PO interchange files and runtime LocRes resources. A correct-looking PO file is not sufficient evidence that an installed game displays the translation.
We will follow a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent. The translated message must preserve the sector identifier, player action and risk level while fitting real HUD constraints. The sections cover gathering, string tables, Blueprints, data assets, culture changes, typography, packaging, automation, testing and a practical release plan for global teams.
Quick answer: Unreal Engine localization that actually works
- Inventory all reader-visible text and visual assets before translating.
- Use the documented localization facilities and distinguish those from custom integration.
- Protect technical identities, conditions and dynamic values.
- Review intended meaning with the complete user action in view.
- Test supported languages in the release artifact, not only in the authoring editor.
Contents
- What translators and developers must protect
- A worked Unreal Engine project
- 22 concrete technical and editorial decisions
- Additional principles for an international audience
- Symptom-first troubleshooting cases
- Three complete release journeys
- Four-week plan
- Frequently asked questions and primary sources
Start with a complete reader journey
Our working example is a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent. This is not just background fiction. It supplies the conditions necessary to see whether translation preserves an instruction, a question, a consequential action and an observable result. For game developers, technical translators, Unreal UI designers and localization leads, a meaningful demonstration is one that someone outside the authoring team can reproduce in the running product.
Mark every a UI or gameplay text reference the reader might encounter. Some are common, others appear only when conditions change. Decide which are display language and which are structural. In this project, an FText identity in a localization target connects an editorial sentence to the appropriate moment, while the networked mission state must continue to mean the same thing in every language. Translation should not silently redefine the application’s rules.
Begin by testing one complete route in the source language. Record the initial state, the sequence of interactions and the result. Repeat it with one target-language reviewer who has not been briefed on the expected outcome. The difference between a comprehensible choice and a misleading one is often visible in what the reviewer predicts before selecting it.
Unreal Engine: 22 practical localization decisions
1. Separate FText from ordinary strings
Unreal’s localization system is designed around FText; identifiers and many technical strings have different roles.
Audit what the player actually reads and keep route keys, object names and gameplay IDs outside translated display text.
Treating an internal string as presentation can leave it untranslated or tempt an editor to rename program identifiers.
Trace one rescue mission prompt from asset or code source through the rendered HUD.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
2. Use LOCTEXT and NSLOCTEXT deliberately
Code-authored user-facing text can use localization macros with stable namespace and key identities.
Choose meaningful keys and consistent namespaces that remain stable when English wording changes.
Editing keys casually can disconnect established translations from the intended source and increase retranslation costs.
Change a source sentence in a test branch and check whether identity and target coverage behave as expected.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
3. Understand Localization Targets
Targets organize gather rules, source culture, destination cultures and compiled localization assets.
Separate game text from editor-only tooling or unrelated plugin text when their release ownership differs.
A target configured for the wrong scope can gather too much text or miss entire levels.
Inspect target settings and compare target string counts with an independently prepared UI inventory.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
4. Set the native culture
A target’s native culture represents the language in which source text is authored.
Record the correct source culture and verify every PO handoff identifies its source and destination clearly.
A mistaken native culture can make comparison, source revision tracking and fallback decisions confusing.
Read a short sample of original prompts and verify the expected culture in target configuration.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
5. Gather from the right sources
Unreal gathers localized text from configured code, assets and other selected source locations.
Review gather rules against the actual modules, content folders and resources used by the game.
A successful gather process may still omit UI generated by an unconfigured plugin or asset path.
Use an inventory of dispatch screens, mission messages and menus to check gather completeness.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
6. Do not hand-edit manifests casually
Manifests record gathered source text and identities and are regenerated by gather operations.
Treat them as pipeline outputs and manage changes through underlying source text and configuration.
Manual changes disappear during the next gather and can make version comparisons misleading.
Repeat gather from the same source revision and inspect which entries are stable.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
7. Understand localization archives
Archives hold per-culture working translations against gathered identities and are refreshed during pipeline operations.
Use supported export and import rather than inventing an undocumented direct-edit workflow.
A manual archive change may be trimmed or overwritten after a subsequent gather or import.
Make a small PO edit in a staging branch, import it and check the resulting archive state.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
8. Export PO for translators
Portable Object files provide a practical exchange format for translators and localization tools.
Export the selected target and culture; include translator instructions for placeholders, context and terminology.
A PO export without version and context can encourage translation of internal keys or obsolete instructions.
Check file headers, expected language, entry counts and representative sector warnings.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
9. Preserve context and identity
The word Clear might mean clear a path, clear weather or a confirmed radio channel.
Provide screenshots, mission phase and UI element descriptions rather than expecting a PO entry to explain itself.
A grammatically correct translation may direct the rescue team to take the opposite action.
Review ambiguous entries during a simulated storm mission before signing off.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
10. Protect tokens and variables
Dynamic values such as player names, rescue-sector numbers and distance readings need correct runtime formatting.
Document placeholders and numeric units; keep required markers intact and exercise varied values in the running game.
Editing a format marker can produce an empty HUD line, wrong quantity or broken localized text.
Test short and long names, singular and plural quantities and positive and negative values.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
11. Use string tables where helpful
String Tables offer reusable text identities that can be referenced by multiple game systems.
Choose entries shared by menus, mission logs and tutorials when that reuse makes editorial ownership clearer.
Multiple copies of the same English text can drift in translation if they are managed as unrelated resources.
Change a shared term and inspect every consuming UI location rather than testing only the table.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
12. Account for Blueprint text
Blueprint interfaces may expose localized FText properties as well as computed text assembled during gameplay.
Inventory widgets, exposed property defaults and runtime bindings rather than counting only code macros.
A translated default can be replaced by hardcoded runtime text after a widget initializes.
Test the live HUD during an active mission, not merely the widget designer preview.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
13. Use asset localization deliberately
Some culturally variant assets require localized copies beyond plain text tables.
Decide which images, maps, voice captions and textures are invariant versus truly language-specific.
Duplicating a mission map without synchronizing its underlying meaning can show conflicting coordinates.
Compare localized map images and the authoritative navigation data in an identical mission state.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
14. Compile LocRes after import
Compiled LocRes resources are what the runtime loads; editing a PO file does not update them automatically.
Import reviewed PO content and run localization compilation before opening the game preview.
An untranslated build may simply contain an old compiled resource even when the PO is correct.
Inspect the final compiled output and verify a deliberately changed test phrase appears.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
15. Test culture selection
Runtime or editor culture settings influence which translation is requested and displayed.
Document supported cultures and a predictable user path to select or preview them.
Assuming operating-system settings always select the desired game language creates support surprises.
Test a first launch, an explicit language change and a clean reinstall with chosen culture settings.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
16. Handle fallback transparently
Not every locale or regional variant necessarily has a full independent translation.
Define a clear fallback policy, measure untranslated entries and signal partial coverage honestly.
A silent fallback may make the game look localized while critical warnings remain in another language.
Inspect unsupported regional variants and verify the message a player actually sees.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
17. Check fonts and shaping
World scripts need proper glyphs, font fallback, shaping and adequate HUD line space.
Test a representative warning with accents, diacritics, non-Latin characters and relevant numerical notation.
A font chosen solely from English screenshots may clip or render squares during an emergency prompt.
Measure legibility on handheld, laptop and television displays at game viewing distance.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
18. Review bidirectional layouts
Right-to-left text can affect reading order, punctuation, icon placement and mixed direction values.
Use actual target-language testers and engine-supported text-direction facilities rather than manual character reversal.
Mirroring a map indicator while leaving its numerical coordinate semantics unchanged may confuse controls.
Exercise a mixed-script sector ID next to an RTL warning and examine the complete HUD.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
19. Coordinate audio and subtitles
Voice tracks, radio calls and subtitles communicate timing as well as words.
Maintain subtitle identities, speaker labels, timings and voice-language policy across cultures.
A translated evacuation command arriving after the action window is not usable, even if wording is accurate.
Test the dispatch sequence with slow and fast playback, missing audio and accessibility captions.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
20. Package localization data
LocRes and other required localized resources must be staged into the shipped game under the intended settings.
Inspect packaging and internationalization support options for your engine version and supported languages.
An editor preview can succeed while a packaged build excludes culture data and falls back to English.
Install a shipping build onto a clean test machine and inspect every supported culture.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
21. Manage updates and DLC
New quests and patches can add or revise user-facing text after an original translation sign-off.
Keep target configuration and PO roundtrips versioned; treat changed mission instructions as new review work.
A patch adding an untranslated status message may not be noticed by testers revisiting only old levels.
Run changed-content coverage and regression scenarios for both base game and newly installed content.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
22. Make QA a release gate
A culture is ready only when the compiled build passes language, layout, action and performance checks.
Assign measurable pass criteria to missing keys, bad placeholders, severe UI clipping and mission comprehension.
A successful build command does not prove that players understand mission risk or choose the intended action.
Ask a target-language player to interpret the rescue warning and select the safe route.
The practical boundary is the difference between a translated presentation and a changed product behavior. Keep an FText identity in a localization target traceable to the source revision and verify the networked mission state where this decision affects the reader. A language review checks what the player understands; a functional review checks what the product actually does. Neither alone establishes that the localized experience is equivalent.
What experienced teams check beyond text files
1. A small but complete pilot
Before committing to an entire translation, establish one complete playable slice with a beginning, a change of situation, an actionable choice and a return to the interface. This exposes weaknesses in extraction, wording, typography and packaging together. A translation workflow that can only demonstrate isolated labels has not yet proved that a player can use the product.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
2. What equivalence means in interactive language
Equivalent text does not require identical sentence order or length. It requires the reader to receive materially equivalent information at the point where they need it. In interactive writing, language affects decisions: a hint, refusal, warning or promise can change what someone reasonably expects to happen next. Review likely inferences, not merely dictionary matches.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
3. Give translators a useful brief
A useful translation brief specifies source revision, target audience, preferred tone, terms that must remain unchanged, sensitive story details and limitations of the text window. It also identifies who can answer questions about ambiguous content. Nobody should be forced to guess whether an unfamiliar word names a character, resource or action.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
4. Keep source and destination separate
An exported resource is evidence of what was extracted, not a license to rewrite the engine’s source identifiers. Use the platform’s intended text layer for language changes and maintain a clearly versioned record of the original material. A change in source meaning should trigger editorial review even if the surrounding code has not moved.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
5. Plan language coverage honestly
A language can have fully translated primary chapters but missing optional routes, menus or help screens. Distinguish complete, partial, intentionally retained source language and not-applicable fields. Prioritize text necessary for safe decisions and basic navigation; then audit less-frequent routes. Publish only the coverage you can demonstrate in an actual running build.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
6. Use a glossary without making prose mechanical
A glossary protects identity and consistency, but natural grammar still varies with context. A word used as a label may need a different inflection in spoken dialogue. Give approved translations a definition, example situation and permitted variations. Review consistency at the level of player understanding, not simplistic character-for-character matching.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
7. Record disagreements as decisions
When reviewers disagree about a line, write down the ambiguous source, the interpretation adopted, the reason and the owner of the decision. Otherwise the same problem returns after every update. Context-rich decision records also help a new translator understand why an unusual expression is deliberate rather than an accident.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
8. Test long and short values
Real users do not all have three-letter names or share one number format. Use wide and narrow strings, long names, negative numbers, unusual punctuation and realistic line breaks. If a component fails, fix the wording or layout without hiding essential information. Repeat the check at the screen size readers are expected to use.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
9. Accessibility is part of translation
Language access includes readable contrast, focus movement, keyboard or controller navigation, meaningful alternative descriptions and controls for pace or captions where supported. A translated label that is impossible to reach or hear is not usable. Test with the input methods and assistive technology relevant to the published product.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
10. Protect continuity across updates
A stable translation process does not end when the first edition is shipped. New scenes, rewritten warnings, revised controls and engine upgrades can all invalidate previously approved target text. Keep source hashes or equivalent change evidence and make localized regression testing a normal part of maintenance, not an emergency after users report contradictions.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
11. Separate linguistic and functional review
A language expert can judge idiom, grammar and tone, but may not know that a choice button is wired to the wrong outcome. A developer can check the state transition but miss a culturally misleading instruction. Plan both reviews and reconcile their results in the actual product. Passing one category never substitutes for the other.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
12. Evidence beats an optimistic checklist
For each critical scenario, record the source version, chosen language, build identifier, input steps, observed outcome and reviewer. A screenshot alone can show correct lettering while concealing incorrect navigation. Reproducible evidence lets another person distinguish a translation failure from an unrelated application defect.
In Unreal Engine, apply this principle to a UI or gameplay text reference. For a cooperative mountain rescue game in which a dispatcher assigns a search sector, players inspect a map, and the team decides whether weather permits another ascent, a tester should be able to state the available action in their own language before taking it. If the response differs from the author’s intended decision, return to the full scene and inspect the source evidence before rewriting an isolated phrase.
A release framework for people and software
1. The reader-first test
A localized product is successful when a person who cannot read the source language can arrive, understand the situation, act intentionally and recognize the result. That is the standard used throughout this guide. It is more demanding than counting strings, but it prevents a release from being considered ready merely because every cell in a spreadsheet contains text.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
2. The right way to use official documentation
Engine and story-format documentation establishes what the platform provides. It does not certify that a particular project has implemented those capabilities correctly. Follow the version used by your actual release and test any custom plugin, script or adapter independently. Where an implementation is project-specific, describe it as a proposed pattern, not a guaranteed feature.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
3. Source text is a changing contract
Think of source wording as a contract between author, interface and reader. The contract changes whenever a conditional, quantity, promise or clue changes. The translation must be reconsidered then, even if a code key stays identical. Conversely, a copy edit that does not change meaning may reuse the prior translation after a reasonable review.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
4. A meaningful fallback policy
Fallback should tell the product what to display when a supported language lacks an entry, but it should not become an excuse for invisible gaps. Keep missing coverage reports, prioritize critical instructions and decide how the user is informed. Language support is a promise about the whole journey, not a count of locale codes in a configuration file.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
5. The place of automated checks
Automated validation is excellent for missing keys, malformed resource files, changed placeholders, unresolved links and suspicious coverage drops. It cannot establish that a translated warning is persuasive in the same way or that a mystery clue arrives at the correct narrative moment. Use automation to reserve human attention for interpretation and interaction.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
6. What not to translate
Do not automatically translate program identifiers, file paths, variable names, condition names or asset handles merely because they contain English words. They may be stable technical references. Conversely, a technical-looking token can be genuinely visible to the player and require explanation. Decide by use and ownership rather than appearance.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
7. Why local context matters worldwide
The same words can imply different urgency, politeness or authorization across languages. Avoid presenting one English convention as the world’s default. Consult target-language reviewers about time, date, names, forms of address and culturally specific metaphors. Preserve gameplay facts and player agency while adapting the expression needed for understanding.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
8. How to handle uncertain meaning
Do not silently resolve a genuinely ambiguous source in a way that changes consequences. Record the question, show the possible readings and seek the author’s intended meaning. When clarification is unavailable, document the uncertainty and choose a conservative wording that does not introduce unearned certainty or extra information.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
9. Measuring a usable release
Measure more than translated-line percentage. Track critical-route completion, broken navigation, missing glyphs, layout failures, placeholder integrity, comprehension misunderstandings, accessibility barriers and clean-install regressions. A strong release statement names which languages and platforms passed these checks and what remains unsupported.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
10. The smallest useful review unit
Review a complete decision moment: what happened immediately before, what the player reads, what they can do and what follows. This unit is small enough to reproduce and large enough to expose misleading meaning. Sentence-only review is useful for grammar but incomplete for interactive localization.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
11. Plan for maintenance ownership
Assign someone to approve source changes, someone to manage target-language wording, someone to verify runtime behavior and someone to sign off distribution. In a one-person project these may be the same person, but the tasks remain distinct. Document responsibilities so a patch does not bypass language review.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
12. How to ask a better user-test question
Instead of asking a tester whether a translation sounds good, ask what they believe a button will do, what a warning prohibits and which clue matters now. After they act, ask whether the outcome matched that interpretation. These questions expose semantic defects that fluent prose can otherwise conceal.
For this Unreal Engine project, connect the finding to a compiled LocRes file and a reproducible reader action. Record what was observed in the actual language edition and the correction made. This avoids turning localization into an abstract collection of approved sentences disconnected from the product people will use.
Troubleshooting: symptoms and the next useful check
When a translation fails, start with an observed symptom rather than a broad instruction to translate everything again. Each situation below has a narrower diagnosis. Confirm the exact version and language before changing files, and rerun the smallest possible end-to-end test after fixing it.
Case 1: The PO looks correct but the game stays English
Compile localization resources after importing; verify the expected target and culture are selected and the packaged build includes the resulting LocRes.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 2: The dashboard gathers no strings
Inspect gather paths, source types and target settings. A successful but empty gather often reflects scope rather than a translator failure.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 3: A target includes editor-only labels
Check which modules and content directories are included and whether a separate editor target should own those strings.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 4: The rescue warning changes meaning
Provide the weather condition, expected player action and outcome to the translator; verify with a mission replay rather than comparing words alone.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 5: A placeholder prints strangely
Review FText formatting and protected tokens, then run the same localized prompt with multiple player names and sector numbers.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 6: Blueprint default text is translated but runtime text is not
Trace the widget binding and ensure dynamically assigned text follows the approved localization path.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 7: A string table update does not appear
Check the consuming reference, culture, compilation and any stale packaged asset rather than editing unrelated resource keys.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 8: A non-Latin warning is missing glyphs
Check the fonts and fallback used by the actual HUD, not only by an editor text widget.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 9: An RTL prompt displays reversed numbers
Examine bidirectional layout and mixed-script handling; do not manually reverse a source string.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 10: A subtitle runs past the action
Review timing and dialog pacing using real target-language speech rate and controls.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 11: The clean installation lacks Japanese
Check staging and internationalization support configuration; editor files are not proof of packaged resources.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 12: A regional variant falls back unexpectedly
Confirm the exact culture string, supported cultures and fallback policy, then test first launch and explicit selection.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 13: A patch loses old translated terms
Compare source identities and archive or PO imports across revisions; verify the unchanged target still maps to the intended string.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Case 14: A new mission is unlocalized
Add coverage checks for new asset paths and test one complete playthrough of the patched content.
To close this case, create a reproducible test using the final a compiled LocRes file and a clean starting state. Compare the displayed information and the resulting action in both source and target languages; do not call the correction complete on the strength of an editor preview. If the result is still ambiguous, capture the surrounding scene and ask a target-language reviewer what they understand.
Three end-to-end journeys to run before release
Journey 1: First-time visitor
Launch the distribution on a clean device or profile, identify the language selection method, choose one target language, read the first meaningful instruction and take an informed action. Confirm that the next screen matches the action described. Check navigation and basic settings without looking at a source-language guide. This journey reveals missing opening strings and undocumented dependencies that disappear on a developer’s own machine.
In the worked Unreal Engine example, the reviewer should encounter the relevant decision and its consequences without technical assistance. Collect their explanation before revealing the original wording; otherwise the test measures their ability to remember an English instruction rather than the quality of the target edition.
Journey 2: Returning reader after a decision
Reach a meaningful branch, record the application state, save when supported and close the product. On reopening, verify the selected language, relevant items or conditions, and available next choices. Then exercise an alternative route from a controlled starting state. This journey exposes confusion between visible labels and the internal identifiers responsible for progression.
In the worked Unreal Engine example, the reviewer should encounter the relevant decision and its consequences without technical assistance. Collect their explanation before revealing the original wording; otherwise the test measures their ability to remember an English instruction rather than the quality of the target edition.
Journey 3: Critical or unfamiliar route
Choose a less-traveled route with a warning, conditional message, long line or rich media asset. Ask the target-language tester to explain what they expect to happen before acting. Observe the actual outcome, then compare it with the source-language route. This is where apparently fluent language often conceals missing context, truncated instructions or a changed implication.
In the worked Unreal Engine example, the reviewer should encounter the relevant decision and its consequences without technical assistance. Collect their explanation before revealing the original wording; otherwise the test measures their ability to remember an English instruction rather than the quality of the target edition.
Four-week multilingual release plan
Week 1 — Inventory and pilot
Select the release version, languages and supported platforms; record the complete text and asset inventory, identify protected program identifiers and choose one connected story or task as a pilot. Establish the glossary and reviewer responsibilities. Run source-language navigation first, then introduce a tiny target-language sample to check the actual extraction or delivery mechanism.
For Unreal Engine, attach the week’s evidence to a compiled LocRes file and the exact source revision. A checked task that cannot be reproduced in the player build is not a release acceptance record.
Week 2 — Translate with context
Translate verified units in manageable batches. Supply screenshots or gameplay context for ambiguous choices; maintain a decision record and a separate missing-entry report. Review proper names, dynamic values, numbers, interface verbs and information revealed at different branches. Preserve technical structures and include revised source wording in the change register.
For Unreal Engine, attach the week’s evidence to a compiled LocRes file and the exact source revision. A checked task that cannot be reproduced in the player build is not a release acceptance record.
Week 3 — Test the actual product
Integrate approved target text, build the product and test all critical journeys in each supported language. Include different names, long lines, font coverage, unusual punctuation, screen sizes, navigation and alternate routes. Correct language errors and functional defects in their proper layers; rerun any path affected by changes.
For Unreal Engine, attach the week’s evidence to a compiled LocRes file and the exact source revision. A checked task that cannot be reproduced in the player build is not a release acceptance record.
Week 4 — Package, sign off and maintain
Deliver the real distribution artifact, use clean installation tests and have an independent target-language reviewer complete the critical interactions. Verify fallback, credits, help text and save behavior. Publish an honest language coverage statement, retain source and translation revisions, and set a clear process for new content or emergency fixes.
For Unreal Engine, attach the week’s evidence to a compiled LocRes file and the exact source revision. A checked task that cannot be reproduced in the player build is not a release acceptance record.
Frequently asked questions
What is the difference between FText and FString?
FText is the principal localized display-text type, while ordinary strings may represent technical data or internal identifiers. Choose the appropriate type based on whether players need language-aware presentation.
The decision should be checked using the actual Unreal Engine build and its supported language paths. Record any limitations for the team or reader rather than describing a project-specific customization as universal platform behavior.
Does importing a PO automatically update the game?
No. Imported translations must be compiled into runtime resources. A packaged build must then contain those compiled files.
The decision should be checked using the actual Unreal Engine build and its supported language paths. Record any limitations for the team or reader rather than describing a project-specific customization as universal platform behavior.
What is a localization target?
It groups native culture, destination cultures and gather or compile rules for a particular set of content. Incorrect scope can cause both missing and irrelevant entries.
The decision should be checked using the actual Unreal Engine build and its supported language paths. Record any limitations for the team or reader rather than describing a project-specific customization as universal platform behavior.
Should I edit manifest files by hand?
No as a normal workflow. They are generated during gathering; change the appropriate source or configuration, then run the pipeline again.
The decision should be checked using the actual Unreal Engine build and its supported language paths. Record any limitations for the team or reader rather than describing a project-specific customization as universal platform behavior.
Can Blueprint text be translated?
Yes when it is represented through the appropriate localized text facilities. Dynamic assignments need specific testing because a localized default can be overwritten at runtime.
The decision should be checked using the actual Unreal Engine build and its supported language paths. Record any limitations for the team or reader rather than describing a project-specific customization as universal platform behavior.
How do I prove a language is in the shipping build?
Install an actual packaged build, select that culture and run a documented player journey without access to editor data.
The decision should be checked using the actual Unreal Engine build and its supported language paths. Record any limitations for the team or reader rather than describing a project-specific customization as universal platform behavior.
Do I need translated audio?
Not always. The release may use subtitles with original voice tracks. The policy must be clear and captions must preserve meaning and timing.
The decision should be checked using the actual Unreal Engine build and its supported language paths. Record any limitations for the team or reader rather than describing a project-specific customization as universal platform behavior.
What should happen when a translation is incomplete?
Follow an explicit fallback and release policy. Track missing lines, classify their severity and do not claim complete support for a language that lacks critical player instructions.
The decision should be checked using the actual Unreal Engine build and its supported language paths. Record any limitations for the team or reader rather than describing a project-specific customization as universal platform behavior.
Primary documentation and further reading
Use the official project documentation for the features available in your exact installed version. Tutorials, plugins and practical patterns may be useful, but must be verified in the application that will ship. Technical availability is not the same as completed editorial translation.
- Epic Games Unreal Engine localization overview
- Epic Games text localization reference
- Epic Games localization tooling reference
For broader cross-language principles, read Master Art of Translation: The Complete System. For other platform-specific localization guides, visit the Translate Like a Pro series index. This article addresses Unreal Engine implementation rather than general advice about translating quickly, translation ethics or the unrelated workflows covered by the other Translate families.
The final standard: a reader understands and can act
The goal is not to maximize the number of translated entries. It is to make an English-authored game project understandable and usable by people around the world while preserving its intended choices, consequences and accessibility. For Unreal Engine, that means language resources, program identities, typography, context and packaged distribution must agree. The safest release is the one a reader can use without needing the source language to recover from a problem.