SandVox

Construct Localization — Construct 3 i18n Pipeline

Game Localization · All Services

Construct Localization — Construct 3 i18n Pipeline

Native translators. Engine-specific expertise. LocQA in your build. Get a free quote →

Construct 3 is a browser-based game development platform with a visual programming model and HTML5/WebGL output. Construct localization is typically implemented through JSON string tables loaded at runtime via AJAX calls, with text objects updated dynamically when the player selects a language. Construct 3 has no built-in localization system comparable to Unity’s Localization Package, but its JavaScript plugin support allows community solutions. The technical localization challenges in Construct are primarily around string extraction, CJK font asset management, and runtime string rendering in HTML5 contexts. SandVox provides Construct 3 localization from string audit through LocQA in a running Construct build.

Common Localization Challenges

  • No built-in localization system — Construct 3 has no native i18n framework; localization is implemented through custom event sheets that load JSON or CSV string tables via AJAX and update text objects; the pipeline must be understood for each project before translation can begin
  • String extraction from event sheets — localizable strings in Construct 3 may be hardcoded in text objects, set in Action blocks within event sheets, or concatenated via string expressions; the extraction approach depends on how the project implements its string handling
  • CJK font requirements — Construct 3 uses web fonts (WOFF/WOFF2) for text rendering in HTML5 builds; CJK localization requires web font files with the required glyph ranges; common web fonts without CJK coverage will display tofu boxes for Japanese, Chinese, and Korean characters
  • Mobile font loading — on mobile platforms (Construct’s Android/iOS exports), font file size matters for load time; CJK web fonts are large (10–40MB per language); font subsetting or lazy-loading strategies must be considered for mobile builds
  • Text object size and wrapping — Construct’s Text and Sprite Font objects have fixed sizes set in the layout editor; text expansion in European languages (German 30–40% longer) or different character widths in CJK can cause overflow or wrapping at unexpected points
  • NW.js, WebView2, and browser target differences — Construct 3 exports to HTML5, NW.js (desktop), and various mobile wrappers; font loading and text rendering behavior can differ between export targets; LocQA should cover the specific export target rather than just the browser editor

What We Deliver

  • Event sheet and layout audit — identifying all text objects, string actions, and AJAX string loading in the project
  • String extraction to JSON/CSV translation format
  • Translation using memoQ with per-project Translation Memory and Construct-specific terminology glossary
  • CJK web font specification — identifying required glyph ranges and recommending font solutions for HTML5 and mobile builds
  • JSON/CSV string file delivery in project-specific format
  • LocQA in running Construct 3 builds — text object overflow, font rendering across export targets (HTML5 browser, NW.js, Android, iOS)

How a Project Works

  1. Scoping: Construct 3 version, existing string loading approach (JSON/CSV/other), platform export targets, string count estimate
  2. Event sheet audit — identifying all text objects and string assignment actions; mapping the existing localization pipeline or designing one
  3. String extraction to memoQ-compatible format
  4. Translation with Construct-specific character limit metadata
  5. String file delivery in project-specific JSON or CSV format
  6. LocQA in running Construct 3 export — font rendering, text overflow, language switching behavior

Languages Available

Japanese · Korean · Simplified Chinese · Traditional Chinese · German · French · Spanish · Brazilian Portuguese · Italian · Russian · Polish · Dutch · Arabic

Frequently Asked Questions

How is localization typically implemented in Construct 3?

The most common Construct 3 localization pattern: create a JSON or CSV file per language (e.g., en.json, de.json, ja.json), load the appropriate file via AJAX on startup or language change, store the parsed strings in a dictionary object or global variable array, and reference strings by key wherever text objects need localized content. The event sheet pattern replaces each text object’s content by calling something like Set Text to Dictionary.Get(‘ui_start_button’). This is straightforward to implement and produces a single translatable file per language.

What CJK fonts work well in Construct 3 HTML5 builds?

Noto Sans CJK (Google, open license) is the most practical choice for Construct 3 CJK localization — it covers Simplified Chinese, Traditional Chinese, Japanese, and Korean in one font family, and Google Fonts provides optimized WOFF2 subsets for web use. For mobile builds where file size matters, font subsetting (using a tool like PyFontaine or Google Fonts API subset parameter) reduces the font to the specific glyph ranges actually used in the game — typically bringing a full CJK font from 5MB+ to under 1MB. We advise on font selection and subsetting strategy during scoping.

Does Construct 3 support RTL text direction?

Construct 3’s Text objects support right-to-left text direction via the text object’s text direction setting. However, full RTL layout (mirroring UI element positions, reversing the layout direction) requires manual event sheet logic — Construct doesn’t automatically mirror layouts for RTL locales. For Arabic and Hebrew localization in Construct, we advise on the scope of RTL work required during scoping. Most Construct 3 games that add Arabic or Hebrew do so with RTL text direction in text objects but without full UI mirroring.

How does Construct 3 localization differ between HTML5 browser and mobile exports?

The localization content (translated JSON files) is the same across export targets. The main differences for LocQA: HTML5 browser builds use the browser’s web font loading, which is generally reliable for CJK; NW.js desktop builds load fonts from the local filesystem and can use standard desktop font files; Android and iOS exports use the platform’s WebView or Construct’s custom renderer, where font loading and text rendering behavior may differ from desktop. We test in the specific export target — a Construct game that renders Japanese correctly in browser may have different font coverage behavior in the iOS export.

Start Your Construct Localization Project

Tell us your word count, target languages, and timeline. We’ll send a fixed-price quote within one business day.