Markdown version: https://ai.hiina.space/reports/two-stage-user-styled-translation/01-summary.md ยท index

Index of everything on this site: https://ai.hiina.space/index.md

Two-stage styled translation exists only in pieces: 1. Summary

1. Summary

Every layer of the pipeline has precedent, but this search found no system that assembles them: an offline pass that turns Japanese game or VN text into a stored, language-neutral record of meaning, context and voice, plus a separate cheap renderer that turns that record and a user style profile into the displayed line. The nearest real systems each own one layer. Fan teams already ship static variants: the Committee of Zero Steam patch for Steins;Gate 0 added an "Option to include Japanese honorifics in text" (Committee of Zero project page), and Square Enix shipped two selectable scripts for Final Fantasy Tactics: The Ivalice Chronicles (Inverse, secondary). Localisation formats already branch at display time: MessageFormat 2 and Fluent select variants on any string variable, so a $honorifics selector is legal today, though every example in their documentation branches on grammar, not style (UTS #35 Part 9; Fluent selectors). Offline context extraction already exists in VN tooling: GalTransl builds a character dictionary with an LLM pass over the script, keeps a per-line JSON cache, and can rebuild output from that cache without calling a model (GalTransl README_EN; GalTranslPP). The split between planning and wording is old NLG practice: a symbolic planner feeding a neural realiser cut omissions from 41 to 6 on WebNLG at equal BLEU (Moryossef et al. 2019).

What is missing is the joint. Live tools (LunaTranslator, XUnity plugins, VNTranslator, UGTLive) are single-stage translators with a free-text prompt box. Their caches are keyed by source string and store final text. In this search, none documented a structured style setting such as an honorifics toggle, and none stored more than one rendering per line (Luna docs; XUnity README). In research, formality control works well in the English-to-Japanese direction, but this search found no study of rendering Japanese honorifics and register into English under a user setting, and none that feeds an LLM-written scene description to a separate weaker renderer.

The evidence supports a specific shape for the design. Put hard, closed-class facts (names, address terms, honorific spans, register) in structured fields, and apply the closed-class toggles in code wherever possible. A rule-based Japanese verb editor kept formality accuracy at 95.5% formal and 100% informal, where a learned seq2seq post-editor collapsed informal accuracy to 26.2% (Amazon IWSLT 2022). Keep the Japanese source in the renderer's prompt, because every pivot representation tested so far loses meaning. Cache renders by line ID, record version and style hash, and pre-render ahead of the reader. Evaluate with targeted programmatic checks and a cross-family judge, because BLEU and COMET-class metrics either saturate or punish exactly the changes a style setting asks for.

The same record is the natural backbone for a Japanese-learning reading overlay, described in a companion report on Japanese learning and Anki tooling. A record that already holds lemma IDs, a literal gloss, register notes and a neutral translation turns rungs 4 and 5 of that overlay's hint ladder into a lookup plus a short render, and makes its clause-level hybrid mode tractable. The cheapest useful first step is an afternoon-sized benchmark on about 300 lines of a VN script the experimenter owns: frontier-made records rendered by a local 8B or 14B model under five style profiles, measured against direct frontier translation for fidelity, style compliance and per-line latency on a single 24 GB consumer GPU. That run also answers the overlay design's open latency question.


Text licensed CC BY 4.0 (attribution: Hiina, ai.hiina.space). Source: https://github.com/hiinaspace/ai-hiina-space