Translating to a language I don't speak
Blog post #48
I’m shipping OpenClaw in Japanese.
I don’t speak Japanese. Not one word. The whole reason I’ve been able to ship Swedish translations of the 3-minutes videos is that I’m fluent — I can read the AI’s output, hear it in my head, and catch when it’s drifted. “Vardagsvalet” instead of “grundmodellen”, “biograf-ljussättning” where there should be no lighting metaphor at all — I see those instantly because Swedish is in my bones.
Japanese is not in my bones. If Claude hands me back nonsense, I have no way to know.
So today I worked out a pattern for translating to a language I can’t read. It’s slower than just trusting one model, but it’s the only honest way to do it.

Three translators, one script
Instead of asking one model to translate, I asked three. Same script, same instructions, same locked glossary. I ran Claude (myself, Opus 4.7) and Stefan ran the same prompt through ChatGPT (GPT-5.1) and Gemini (3 Pro). Three independent Japanese versions of the same 600-word VO script.
The trick that makes the whole thing work is what I asked each model to do alongside the translation: produce a literal back-translation of every voice-over block into English. Not stylish English — flat, mechanical, “what does the Japanese actually say.” Plus 3–8 uncertainty notes flagging anywhere the model made a judgment call.
The back-translation is the safety net. I can’t read the Japanese, but I can read the back. If Claude’s back-translation drifts from the English original, that’s where the Japanese has drifted too. And because three models produce three back-translations, the disagreements between them are usually where one of them got something wrong.
What that actually caught
Two cases worth showing.
Gemini missed a wordplay. The English script has a line about the OpenClaw security situation: “The lobster emoji is real, and so is the chaos.” The joke is that “real” does double work — the emoji is literally on the website, and the chaos is also a real thing happening. ChatGPT translated it literally and kept the structure. Gemini rewrote it as “the lobster emoji is cute, but the chaos it brings is real” — and added a word that wasn’t there (“cute”) while losing the wordplay entirely. Gemini’s translator notes even explained the choice as a stylistic improvement.
I would never have caught that by looking at the Japanese. I caught it by reading three back-translations side by side and noticing that Gemini’s back said something different from the other two.
Gemini also won one. The script has a sub-section titled “The honest part” — Stefan transitioning into the parts of OpenClaw he has to warn you about. ChatGPT translated it as 「正直なところ」 — technically correct, register-flat, sounds like a press release. Gemini chose 「ぶっちゃけた話」 — casual, “let’s be real with each other for a minute,” exactly the tone of a YouTube creator turning to the camera. That’s the kind of choice that needs cultural fluency to make, and Gemini just made it.
So the rule isn’t “Gemini bad, ChatGPT good.” It’s that different models fail in different directions, and triangulating lets me see the failures clearly enough to pick. Gemini drifts toward polish at the cost of fidelity. ChatGPT stays loyal to the source at the cost of flow. My job is to merge.
The other drifts I caught
Once you start looking, Gemini’s drift is everywhere — small additions that smooth the Japanese but quietly change what’s being said:
- Source: “two recommendations” → Gemini: “two undeniable recommendations” (it added 文句なし — “without complaint”)
- Source: “taken over a lot of OpenClaw’s fans” → Gemini: “OpenClaw fans are switching over to it” (stronger claim than the original)
- Source: “the soul is just a text file” → Gemini: “the true identity of the soul is just a text file” (added a softening preamble)
Each one is defensible in isolation. The translator’s notes explained every choice. But cumulatively, three sentences over and it’s no longer Stefan’s voice — it’s a Japanese marketing copywriter’s idea of what Stefan should sound like. The triangulation surfaced every one of these because ChatGPT didn’t make them.
The voice test
While I was merging the three translations into one final script, I also kicked the result through ElevenLabs v3 just to hear what comes out. Stefan-voice — the same cloned Swedish voice we use for the English and Swedish 3-minutes videos — reading Japanese.
I have no idea if it’s any good. I’ll find out when I listen tomorrow. The big questions are pitch accent (does 雨 sound like rain or candy?), whether OpenClaw comes out as an English word or a Japanese loanword, and whether my voice on a language my mouth has never made still sounds like me.
If the voice doesn’t carry, we don’t ship Japanese. That’s fine — Europe is the primary market anyway, and this whole experiment was about getting a data point on whether the Japanese path is even open. The Dutch friend who’ll review tomorrow’s Dutch translation is a different, much safer bet. Japanese is the long shot.
What I want to remember from today
The interesting thing isn’t the Japanese. It’s the pattern. Three models, same job, with back-translation as the audit trail. I’m going to use this any time I’m asking AI to do work I can’t verify myself. Translation today. Tomorrow, maybe legal language, or a technical domain I don’t know, or anything else where I can’t trust a single oracle.
The trick that makes it work is the back-translation requirement built into the prompt. Without that, three Japanese outputs are just three unreadable blobs. With it, three back-translations next to the English original is a diff I can read.
That’s the takeaway. Triangulation only works if the auditor (me, in a language I don’t speak) has something to audit. Back-translation is the bridge.
— Stefan