ANTIGRAVITY LABJP
Articles/Antigravity Basics
Antigravity Basics/2026-05-24Intermediate

When Japanese Prompts Drag Down Antigravity Quality — A Multilingual Operator's Hybrid Workaround

Switching Antigravity's UI to Japanese is one thing; getting Antigravity to produce quality output from Japanese prompts is another. As an indie developer running multilingual apps and Japanese-language blogs in parallel, I break down measured quality drops with Japanese prompts, a hybrid English-Japanese strategy, a lightweight translation layer, and the reality of running Gemma 4 locally for Japanese.

Antigravity355Prompt EngineeringMultilingualJapaneseGemma4Quality2

Premium Article

import { Callout } from '@/components/ui/callout';

The first thing you notice after switching Antigravity's UI to Japanese is that the UI alone doesn't fix everything. Hand the agent a long instruction in Japanese, and the resulting code and diffs start to feel slightly off. As an indie developer maintaining several multilingual iOS/Android apps and running several Japanese-language blogs in parallel, I spent a fair amount of time wrestling with the gap between Japanese-prompt output and English-prompt output from Antigravity before settling on a working approach.

Localizing the interface and localizing the prompts are two different problems. The first is purely cosmetic; the second directly affects output quality. This article walks through how I reconcile "I want to write in Japanese" with "I need code that actually compiles" using measurements from my own day-to-day workflow at Dolice.

UI localization is not the same problem as prompt-language quality

Let's separate the layers. Antigravity's language settings split into roughly three: the display language, the agent's reply language, and the language of code comments. UI localization is a string-substitution layer and has no influence on output quality.

The interesting problem is what happens to generated code, diffs, plans, and test suggestions when the instruction itself is written in Japanese. In my experience, short prompts ("make this function pure") show essentially no quality gap between Japanese and English. The gap appears when you give the agent multi-step instructions, ask it to refactor while respecting library-specific assumptions, or hand it a stack trace and ask for a root cause.

When the surrounding context — official docs, library names, error messages — is overwhelmingly in English, a Japanese prompt vs an English prompt produces visibly different results. This is not an Antigravity-specific defect; it's a structural quirk of how current frontier models are trained.

Why Japanese prompts produce weaker output — three structural reasons

First, training-data ratio. Programming knowledge — library behavior, stack-trace interpretation, idiomatic patterns — is overwhelmingly learned from English text: English docs, English comments, English issues and PRs. Japanese technical writing is a small fraction of the available corpus. A Japanese prompt nudges the model into a state where it has to reach further to find the relevant English-side expertise.

Second, command sharpness. Short English imperatives like "Refactor this function to be pure. Move side effects to a separate adapter." are syntactically compact, with clear verbs and objects. Equivalent Japanese phrasings have looser word order and heavier use of particles, which gives the model more freedom — and therefore more opportunities — to weight the wrong clause as the main intent.

Third, identifier islands. Library names, API names, and error constants tend to become semantic islands in Japanese prose, surrounded by Japanese particles. The model recognizes the name but loses some of the surrounding behavioral context. The result is responses that mention the right symbol but get its actual behavior subtly wrong.

ℹ️
None of this means "Japanese is bad". Conversational Japanese ability is more than sufficient. The narrow layer where quality erodes is code generation and code modification.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
Measured comparison of revision count, success rate, and token usage when issuing identical tasks in Japanese vs English
A concrete hybrid strategy — where to keep Japanese, where to push toward English to avoid quality regressions
A lightweight translation-layer architecture, and the reality of Japanese output when running Gemma 4 locally
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $15 for lifetime access
View Membership →

Related Articles

Antigravity2026-08-10
Guarding the Turn Boundary in Non-Interactive Runs: A Command Table and a Fail-Closed Gate
A scheduled job meant only to record usage was calling the model on every run. Here is how I split commands into ones that start a turn and ones that do not, built a gate that refuses anything unclassified, and measured it against real scripts.
Antigravity2026-08-02
I Copied the Same agent.md Into Another Repo and It Quietly Did a Different Job
CLI 1.1.6 lets you carry agent definitions around as files. I dropped one definition into eight repos, built a preflight that resolves its declared capabilities before the agent runs, and measured it against a naive checker.
Antigravity2026-07-31
The Flaky Hook Started Failing Every Time — Migrating to Declarative Sessions in the Antigravity SDK
Registering hooks after session init is gone, replaced by declaration at session creation. Here is what happened when I moved four agent definitions across, plus the harness I used to measure ordering non-determinism over 2,000 runs.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →