Text Issues
Text Is in the Wrong Language
Section titled “Text Is in the Wrong Language”Symptom: A game’s dialogue or menus show up in Japanese when you expected English, or vice versa.
Cause: Sakura’s Text Language and Menu Language settings default to Automatic, which sniffs each game’s script at launch to guess its language. Automatic detection can occasionally guess wrong, especially for games that ship mixed-language assets.
Solution: Open Settings > ONScripter Engine (or per-game Game Settings, if Use Global Settings is off) and set Text Language and/or Menu Language explicitly to English or Japanese instead of Automatic. This takes effect at the game’s next launch.
Garbled or Boxy Text
Section titled “Garbled or Boxy Text”Symptom: Text renders as boxes, missing glyphs, or otherwise garbled characters, even though the language setting looks right.
Cause: This is almost always a font problem, not a language problem — the font currently in use doesn’t have the glyphs the script needs (e.g. a Latin-only font trying to render Japanese, or vice versa).
Solution: Open Game Settings > Font for the affected game and pick a different font:
- Automatic uses the game’s own bundled
default.ttfif it has one, falling back to Sakura’s own bundled font. - Sakura ships built-in fonts with English/Russian, Japanese, and Chinese coverage — try one that matches the script’s language.
- You can also import your own
.ttf/.otf/.ttc/.otcfonts into the shared Font Library from the same screen and assign one to the game.
See Fonts for the full picker walkthrough.
Translation Not Appearing
Section titled “Translation Not Appearing”Symptom: You’ve enabled Auto-Translate in Game Settings, but dialogue keeps showing in its original language.
Work through these in order:
- Check your iOS version. On-device translation requires iOS 18 or later. On earlier versions, the Translation section shows “Auto-translate requires iOS 18 or later” and nothing will translate.
- Check the engine. Translation only works on the classic engine (NScripter/ONScripter) — it is not available for ONScripter-RU games at all, since that engine has no text-filter hook to intercept dialogue.
- Check the target language. If Target Language is set to None, translation stays off by design — pick an actual language (or Device Language) instead.
- Check the language pack is installed. Look at the translation status row in Game Settings: Download Required means Apple’s on-device language pack for that pair hasn’t been downloaded yet — tap Download to fetch it. Pair Not Supported means Apple doesn’t offer that language pair at all; try a different target language. Translation only ever runs against installed packs — an uninstalled pair is skipped rather than attempted.
- Give it a moment. Translation happens in the background and is cache-based — the very first time a line is shown it may appear untranslated and then “pop in” translated moments later. Turning on Pre-Scan Script (on by default) translates the whole script in the background at launch so this happens far less often, but the first line or two of a fresh game can still show up untranslated briefly.
If translations look wrong or stuck on an old cache, use Clear Translation Cache in Game Settings (or Reset Cache in the in-game overlay’s Language window) and let it re-translate.
Comparison Mode
Section titled “Comparison Mode”If you want to see the original line alongside its translation (e.g. to sanity-check the translation, or to help with learning the source language), turn on Comparison Mode in Game Settings > Translation. Translated lines then show the original text beneath them.
Still Stuck?
Section titled “Still Stuck?”If text still looks wrong after checking language, font, and translation settings, see Support with the game name and a screenshot if possible.