How do you localize a Godot 4 game so dialogue, objectives, menus, subtitles, fonts and localized art remain understandable after export? This guide explains Godot CSV and gettext PO translation workflows, translation contexts, plural handling, TranslationServer, resource remaps, language selection and hands-on release testing. It is intended for teams building games for readers in different countries, not merely producing a screenshot with translated menu labels.
Godot’s internationalization tools can import translation resources, select a locale and substitute language-specific assets. The engine also supports gettext PO files, including translation contexts and plural forms, and allows changing the active language through TranslationServer. These facilities do not decide which words should remain invariant, which graphics need adapting, or whether the export package includes everything a player requires.
Imagine a story-driven exploration game set in a fictional research archipelago. Players from several countries solve clues, read mission logs, interpret weather warnings and coordinate a rescue team. A badly translated direction, timer or instruction could change the puzzle rather than merely sound awkward. We will follow a player from the opening screen through mission progress, combat cues, saved settings, exported builds and post-release language updates.
Quick route: what to do first
First establish which texts and assets belong to your application; second define supported languages and a reliable fallback; third connect translated resources to the real product build; fourth test the complete user task while checking invariant data. Do not begin by counting strings alone. A translation is good when the person using the software understands the action, consequence and available recovery path in their own language.
How this guide is organised
The first part explains the platform’s message and asset system. The middle part follows a realistic task across language changes, errors and documents. The practical cases distinguish what a reader sees, where the problem originates, how to correct it and what would count as evidence. The final section gives a release checklist, answers common questions and points to authoritative technical documentation.
The quick answer: localize the interface, not the game rules
Keep quest IDs, item identities, simulation time, save-game flags and achievement conditions stable. Give translatable text a clear context and review every action it asks the player to perform. Configure translation resources and language selection, provide appropriate fonts and localized art, and test the exported game rather than only the editor preview. The objective is a player who can understand what has happened, what can happen next and what remains uncertain without changing the actual state of the world.
Choose CSV or gettext PO for your team
CSV translation tables can be approachable for a small team that wants a compact overview. Gettext PO files separate language catalogs and support familiar translation-editor workflows, contexts and plurals. Godot’s gettext documentation explains generating POT templates and updating PO files; translators should work against a controlled source revision. Choose a format based on review, version control, translator experience and automated checks rather than assuming one is universally better. Mixed approaches require a clear ownership policy.
Mark strings and extract them consistently
Strings in scenes and GDScript need to be discovered or intentionally registered in your chosen localization approach. The editor can generate a gettext template from selected scenes and scripts. Source strings constructed dynamically may escape extraction or lose grammatical context; prefer meaning-complete messages. Give ‘Return’ different contexts when it means go back to a menu versus bring back an object. Update POT and PO files after writing new quests so release catalogs match current gameplay.
Use TranslationServer for locale changes
Godot’s TranslationServer manages translations and can change the current locale at runtime. That is a technical mechanism, not a guarantee that every custom drawn HUD element, prerendered texture or cached dialogue string refreshes automatically. Define a language-preference policy and test changing language while paused, in combat, while dialogue is visible and after loading a saved game. Retain gameplay state throughout the change. A player should not lose progress simply to use a language they understand.
Remap assets carefully
Godot supports locale-based resource remaps for elements such as images and voices. This is valuable when a sign contains text or spoken content differs by language. Do not assume a resource remap is sufficient for fonts, dynamic subtitle timing or every user-generated asset; Godot documents particular limitations and fallback mechanisms. Keep art and voice asset identities aligned with the underlying scene and event, and verify installed export resources. A translated billboard should refer to the same destination as the original.
Fonts, scripts and bidirectional layout
Language support is not complete when a text file exists. Check the selected font’s glyph coverage, shaping, line breaks and mixing of left-to-right codes with right-to-left prose. Test character names with accents, long compound nouns, CJK punctuation and Arabic or Hebrew lines. UI mirroring requires design decisions about controls, maps and directional metaphors. Do not mirror an in-world compass or alter left/right gameplay instructions without validating actual orientation and controls.
Protect puzzles, clues and narrative causality
A game translator must know whether a word is flavor text or a mechanic. An instruction such as ‘press the third lever’ cannot casually become ‘press the next lever’. If a riddle relies on spelling or rhyme, it may require a localized puzzle adaptation rather than a literal sentence. Record the invariant answer, allowable variations, and the evidence by which QA verifies that a player can still solve the level. Translation should preserve the challenge’s logic even when wording changes.
Separate system locale, player choice and save data
The engine can inspect OS language preferences, but a player may choose a different interface language. Offer a stable preference saved with user settings and make fallback transparent. Save games should store language-independent quest state, inventory and time values. Do not make save compatibility depend on a translated visible item name. A player should be able to resume a mission in another language with the same objectives and completed actions.
Follow a rescue mission in two languages
A player reads a German mission brief, sets out to beacon R-17, encounters a storm warning and later switches to Japanese subtitles for a companion. The route code R-17 and storm timer remain unchanged. The mission log says that a rescue signal was sent only if the game has recorded that event, not merely because the player selected ‘Send’. The map, subtitles and accessible hints should agree on which objective is active. Review that end-to-end path on exported desktop and mobile builds.
Release evidence beyond a translation percentage
Build a traceable matrix of languages, scene IDs, source revisions, PO or CSV catalog versions, resource-remap availability, gameplay checkpoints and export targets. Test new installs, updates and old save files. Include text expansion, missing glyphs, subtitle synchronization, audio routes, screen-reader-like accessibility alternatives where available, input devices and right-to-left dialogue. Use native players to report ambiguities in puzzle instructions. Ship only languages whose essential gameplay path has been verified.
Practical translation and localization situations
The following 39 cases are deliberately different. They are realistic failure patterns to test, not claims that Godot inherently contains each defect. For every case keep the underlying action fixed, reproduce the user-visible problem, trace the responsible resource or state, apply a precise correction and rerun the test in a delivered build. This separates technical loading failures from genuine translation misunderstandings.
1. POT file misses newly scripted dialogue
What the reader experiences. A new rescue briefing appears in English for French players. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The gettext template was generated before the new GDScript dialogue was added. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Regenerate POT from current selected scripts and merge PO entries. Then trigger the briefing in an exported build after translation. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
2. CSV column mismatches locale
What the reader experiences. The Japanese game opens with text intended for another language. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. CSV import headers do not correspond to expected locale identifiers. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Correct and reimport the table with controlled language codes. Then open the same quest text in every configured locale. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
3. Dynamic string cannot be extracted
What the reader experiences. A warning assembled from fragments never reaches translators. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Automatic extraction expects recognizable source strings. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Use complete marked translation units with explicit variables. Then search the generated catalog for every critical warning. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
4. PO context distinguishes Shop
What the reader experiences. The scene uses a store meaning where the menu needed a verb. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Identical source text appears in two unrelated contexts. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Use gettext contexts and explain each intent to translators. Then visit both the merchant and menu action as a native reader. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
5. Plural of collected samples
What the reader experiences. An objective says one samples collected and sounds broken. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The game concatenates count and a translated noun. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Use tr_n or a suitable plural-aware catalog entry. Then test zero, one, two and many samples. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
6. TranslationServer not updated
What the reader experiences. A player changes language settings but the current objective remains old. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The active locale never changed for runtime translation lookup. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Apply the selected locale using supported engine mechanisms. Then change language mid-mission and inspect objective text. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
7. HUD label cached before language switch
What the reader experiences. The quest list changes but combat cues remain English. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. A custom control caches strings instead of refreshing them. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Invalidate localized UI caches when locale changes. Then open combat HUD before and after switching languages. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
8. Player choice forgotten at restart
What the reader experiences. A chosen Spanish language resets to the OS preference. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The option is not stored in persistent user settings. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Save selected language code with explicit default behavior. Then restart twice and verify the retained choice. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
9. Unsupported locale silently selected
What the reader experiences. A preference is offered although required quest files are absent. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The menu lists more languages than shipped and tested. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Restrict choices to ready locales or explain fallback clearly. Then test each advertised option on a clean export. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
10. Font lacks accented names
What the reader experiences. A character name appears as blank boxes in Polish subtitles. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The selected font lacks glyphs or fallback configuration. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Choose fonts and fallbacks supporting target script ranges. Then render names and dialogue in actual runtime scenes. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
11. CJK text wraps badly
What the reader experiences. Japanese tooltips overflow a narrow inventory panel. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The interface assumes spaces mark all word boundaries. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Use flexible containers and test script-appropriate wrapping. Then open the fullest inventory with long target strings. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
12. Arabic mixed-script beacon code
What the reader experiences. The identifier R-17 appears in confusing visual order. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Bidirectional text is not isolated around Latin identifiers. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Review display direction and preserve canonical code. Then ask a reader to copy the visible code to a field. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
13. Right-to-left menu arrow misleading
What the reader experiences. The arrow suggests a different navigation action after mirroring. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Visual assets and navigation behavior were mirrored inconsistently. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Define which metaphors mirror and retest back navigation. Then navigate Settings, Help and Back via keyboard or controller. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
14. Localized billboard not remapped
What the reader experiences. A sign in the scene remains English when UI is French. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. A language-specific image was never registered for resource remapping. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Register appropriate localized alternatives and test fallback. Then walk to the sign in packaged builds for each language. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
15. Resource remap missing from export
What the reader experiences. The editor shows a Spanish sign but the release build does not. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Export packaging excludes a locale-specific asset. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Verify remap resources inside the actual delivered package. Then install release build and approach the same sign. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
16. Voice and subtitle languages coupled
What the reader experiences. A player choosing Japanese captions unexpectedly loses preferred English voice. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The game uses one locale field for two different preferences. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Define separate subtitle and voice choices if product supports them. Then combine two different settings and run a voiced scene. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
17. Subtitle timing differs by language
What the reader experiences. Long translated lines disappear before players can finish reading. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Subtitle duration assumes the original language length. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Review reading speed and splitting without delaying game-critical cues. Then watch the complete cinematic in slow and normal playback. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
18. Puzzle clue loses exact direction
What the reader experiences. A translation changes ‘east of the lighthouse’ into west. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The language review ignored the map’s fixed geography. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Mark cardinal directions as puzzle invariants with context. Then solve the clue against the actual map in every locale. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
19. Wordplay puzzle cannot be literal
What the reader experiences. A riddle that depends on English initials has no valid target solution. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Literal translation loses the mechanism producing the answer. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Design an approved localized puzzle with same outcome and difficulty intent. Then have native testers solve without hints. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
20. Control prompt assumes keyboard
What the reader experiences. A localized tutorial says press E on a controller-only layout. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The prompt is hard-coded rather than driven by input mapping. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Insert a mapped input action into the localized instruction. Then switch devices while the tutorial is open. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
21. Action confirmation claims victory too soon
What the reader experiences. The subtitle announces rescue complete after a signal is only queued. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The translator collapsed an intermediate state into a final result. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Maintain separate triggered, sent, received and completed phrases. Then simulate interrupted transmission before confirmation. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
22. Quest ID stored as translated title
What the reader experiences. Loading a saved game in another language loses quest progress. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The save file uses language-dependent display text as a key. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Persist stable quest identifiers and localize on display. Then save in German and resume in French. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
23. Item rename breaks inventory lookup
What the reader experiences. A key item appears duplicated across translations. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. A localized name is used as an internal lookup identity. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Keep canonical item IDs and translate only labels. Then compare item count and identity across language switch. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
24. Achievement title mismatches event
What the reader experiences. An achievement description says a different milestone was reached. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Text was written without the underlying unlock condition. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Give translators event semantics and validate unlock triggers. Then unlock achievement through gameplay and inspect description. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
25. An error page remains raw engine English
What the reader experiences. A server failure exposes technical logs to players. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. User-facing errors bypass the translation catalog. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Map error categories to localized actionable messages. Then disconnect network deliberately and recover. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
26. Long button text hides cancel
What the reader experiences. A German dialog makes the safe escape action unreachable. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Fixed-size buttons were designed for shorter source phrases. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Reflow and prioritize safe cancellation targets. Then use a small-screen export with large text. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
27. Narrative pronouns lose referent
What the reader experiences. A translated scene implies the wrong character performed an action. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Translator lacks speaker, scene and antecedent notes. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Provide dialogue metadata and review surrounding lines. Then play the entire exchange rather than isolated subtitles. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
28. Character gender changes by context
What the reader experiences. A reused fragment produces the wrong grammatical agreement. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The engine assembles text from neutral-looking English pieces. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Translate complete utterances or use context-aware variants. Then test multiple speakers and character states. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
29. Numbers become corrupted in tooltip
What the reader experiences. A displayed oxygen percentage changes on language switch. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. A formatted localized string is being reparsed as gameplay data. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Keep numeric gameplay state typed and separate formatting. Then compare internal percentage in two locales. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
30. Translated warning softens danger
What the reader experiences. A storm alert sounds like optional flavor instead of immediate hazard. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Severity intent was not included in translator guidance. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Preserve urgency and distinguish advisory from mandatory mechanics. Then ask players what action the warning requires. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
31. Localized texture has wrong waypoint
What the reader experiences. An adapted map art layer points at an obsolete beacon. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Art localization was based on an old level revision. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Version localized art against authoritative world coordinates. Then compare map marker and world route in exported build. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
32. Save-language influences dialogue branch
What the reader experiences. An NPC response differs in outcome solely after a locale change. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Dialogue logic branches on a visible translation value. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Branch on canonical state and select text afterward. Then replay the same save in two languages. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
33. Missing translation hides objective
What the reader experiences. A fallback returns an empty string for a mission-critical line. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The catalog is incomplete and missing-string behavior is untested. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Require essential dialogue coverage before advertising support. Then run every chapter’s critical objective path. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
34. Mobile export clips translated menu
What the reader experiences. An apparently complete desktop localization fails on a small phone. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Viewport constraints and safe areas differ across target devices. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Test actual mobile resolutions and touch controls. Then complete language selection and first mission on device. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
35. Language change during cutscene desyncs
What the reader experiences. Subtitles swap while old audio and timing state remains active. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Locale switching does not coordinate cinematic resources. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Define safe transition points or reinitialize media consistently. Then switch mid-cutscene and observe audio and captions. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
36. Controller focus lost after language switch
What the reader experiences. A re-created menu loses the active controller selection. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. UI rebuilding resets focus and action state. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Restore focus to equivalent control after refreshing. Then change language without touching a mouse. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
37. Pseudolocalization passes but font fails
What the reader experiences. Longer mock strings fit while real target script renders incorrectly. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Pseudolocalization tests expansion but not full glyph coverage. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Use both pseudo tests and native-script runtime tests. Then render representative CJK and RTL scene content. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
38. Old catalog survives patch upgrade
What the reader experiences. An updated quest line uses yesterday’s translation after installing a patch. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. The patch system does not invalidate or replace compiled resources. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Version and replace localization resources with content updates. Then upgrade from previous version and replay changed scene. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
39. Language selector breaks in offline mode
What the reader experiences. A game requires network contact before offering installed translations. This is not adequately tested by seeing a line in a translator’s spreadsheet. Reproduce it as a real action performed by a person with a specific language choice, an actual user role and an application state that matters. Record which surface displays the problematic wording and what the reader is likely to conclude from it.
Where the meaning or delivery breaks. Local bundled resources are unnecessarily tied to server availability. Investigate whether the failure belongs to string discovery, translation context, resource availability, runtime selection, user-interface layout or an underlying state transition. Keep these questions separate: a correct translation may be missing from a build, while an available translation may still describe the wrong outcome. Do not edit the business record just to make the wording look plausible.
Correction and evidence. Keep shipped translations available offline and isolate optional downloads. Then disable network and change language in a saved game. Compare the result with both the source-language task and the authoritative state rather than relying only on a visually attractive screen. For release sign-off, note the tested locale, application version, action, expected result, actual result and whether a native reviewer understood the consequence without extra explanation.
A practical release checklist for the next multilingual build
Before extraction: inventory application-owned text, generated messages, native dialogs, printed reports, online help, audio, fonts and visual assets. Decide which source strings are command labels, which are status statements, and which are identifiers that must never change. Write translator notes for ambiguous terms and preserve a source revision so reviewers know exactly what they are translating.
Before packaging: validate every key and placeholder, distinguish required content from optional fallback, rebuild or reimport language resources and examine platform-specific output directories. Record the exact version of the toolchain and translation artifacts. Confirm that every offered language is present in the real installation or Player package, not merely in the repository.
During functional QA: start with a fresh user profile, make an actual record or game decision, deliberately create a failure, change language partway through the task and then reopen the saved state. Compare identifiers, numbers, approval or quest flags, dates, direction cues and document-language choices. Check visible messages and assistive text together, especially when an action is dangerous or irreversible.
During visual and linguistic QA: inspect the longest natural target strings, right-to-left mixed script, large accessibility text, narrow screens, keyboard navigation, native language phrasing, typography and required icon explanations. Ask reviewers what they believe happened and what they would do next; an accurate response is stronger evidence than their simply saying the sentence sounds fluent.
After publication: test an update from the previous version and keep a catalog of bug reports that includes the locale, build, resource or scene, reproduction steps and affected reader decision. Track correction as a product issue rather than a blame exercise for translators. Every change to a translated status should be checked against the actual state transition so a semantic fix does not create a new operational error.
Frequently asked questions
Does Godot support CSV and PO files?
Yes. Godot supports CSV translation import and gettext-format translation files; choose a workflow according to collaboration, context and review needs.
What is TranslationServer?
It is Godot’s low-level system for managing translations and the selected locale at runtime. Custom components and media may still need deliberate refresh.
Can localized images change by language?
Godot supports resource remaps for locale-specific assets such as images and voices. Verify actual export packaging and choose a suitable font fallback mechanism.
Should a save file include a translated quest title?
No. Prefer a stable quest identifier and save gameplay state independently of the visible language.
How should a wordplay puzzle be translated?
Preserve the intended game logic and answer path. A reviewed localized adaptation may be necessary when a literal phrase makes the puzzle unsolvable.
What is the best final test?
Play a meaningful section in each supported language on the exported platform, change language mid-game and resume an old save while checking unchanged game state.
Official documentation and further reading
For verified implementation details consult Godot internationalizing games, Godot gettext localization. Documentation interfaces and version-specific APIs can change, so confirm guidance against the precise release in your project. For the wider translation system see Master Art of Translation: The Complete System. Explore other platform implementation chapters at the Translate Like a Pro series index.
Final principle: a successful language switch must preserve the user’s task
The strongest localization is neither the most literal nor the most elaborate. It is the one that makes a complete task understandable without changing the record, rule, permission, timing or outcome behind it. When people see a warning, they should understand the action it requires; when they see completion, it should correspond to a real completion event. That is how multilingual software becomes dependable rather than merely multilingual.