◉ANTIGRAVITY LABJP
Articles/Tips & Best Practices
✦ Tips & Best Practices/2026-03-10Beginner

Using Antigravity 2.x in Japanese — Five Layers for UI, AI Responses, and Prompts

Set up Google Antigravity 2.x for Japanese-language work across five layers: UI language, AI response language, Japanese prompting, IME quirks, and encoding. Why the AI keeps replying in English even after you switch the UI, where the settings moved between versions, and the two places outside the editor where Japanese still garbles.


Localizing Antigravity into Japanese is not a single setting. The classic confusion — "I chose Japanese in Settings, but the AI still replies in English" — happens because UI language and AI response language are configured separately.

As an indie developer maintaining the Dolice Labs sites in both Japanese and English, Antigravity is my daily tool — and once I understood how the layers split, the configuration guesswork disappeared.

This guide walks through localization as five layers — UI, AI responses, prompting, IME, and encoding — in the order you actually touch them.

First, Check Which Version You're On

Before the layers, one thing is worth confirming: where the Japanese UI setting lives changed between versions. When a set of steps you found online doesn't match your screen, this is usually why.

Version How the UI is localized Detailed steps
1.x Pick your language under Settings → Language and restart. One place, done Layer 1 below
2.0 / 2.1 Language pack, command palette, and AI response language are three separate settings Antigravity 2.0 Japanese UI setup
2.2 / 2.3 Same three-part structure as 2.0, plus a fix for settings reverting after an update Same guide (see the July addendum)

The awkward part is that new versions roll out in stages. A feature listed in the official release notes may not reach your install for a few days. So when "the setting in the guide isn't on my screen," suspect your version before you suspect the steps.

Layers 1 through 5 apply to every version — only the entry point in Layer 1 moves. If you're on 2.x, swap Layer 1 for the guide above and read on from Layer 2.

Layer 1: UI Language — Start with Settings → Language

There's only one thing to do right after installing: open Settings, set "Language" to Japanese (or your target language), and restart. Menus, dialogs, and button labels switch over.

This applies to Antigravity as a whole, not per project, so moving between projects won't mix languages.

On 2.x, as noted above, this splits into three settings: language pack, command palette, and AI response language. That also means you can localize the UI while leaving the command palette in English. I leave mine in English — I've memorized the command names in English, and translating them just makes them harder to find.

Layer 2: AI Response Language — Why the UI Is Japanese but Replies Are English

Switching the UI doesn't change the chat agent's response language — that's a separate setting. If replies stay in English, either set the response language to Japanese in settings, or add a line to your project's custom instructions: "Always respond in Japanese."

I prefer writing it into a project settings file, because the behavior survives switching machines and stays identical when a teammate clones the repo.

// Project custom instructions (example)
Always respond in Japanese.
Write all prose, plans, and comments in Japanese.
Keep variable names, function names, and commit messages in English.

That last line matters more than it looks. Once you steer responses toward Japanese, the model occasionally tries to write variable names and commit messages in Japanese too. Drawing an explicit line — "natural language in Japanese, code vocabulary in English" — keeps things stable.

When you want it everywhere, not per project

If you want the same behavior across every project, it's easier to set a global rule once than to repeat per-project instructions. Register "always respond in Japanese" as a global rule, and even freshly opened projects answer in Japanese from the first turn. Write project-specific instructions only when you need to override that.

In my own setup, the global rule fixes "prose in Japanese, code vocabulary in English," and only the projects where I draft the English version of an article override it with "respond in English here." Since adopting this two-tier approach, the response language stopped drifting as I move between languages.

Confirming Layer 2 took, on the spot

v2.2.1 added a built-in Guide skill that answers questions about Antigravity itself. It doubles nicely as a response-language check: ask it something in Japanese, like "tell me about Antigravity's agents." A Japanese answer means Layer 2 is wired up. An English one means the setting or the custom instruction hasn't taken yet.

It's a small thing — you don't need to make it write code to find out — but having a quick check right after changing a setting speeds up isolation.

Layer 3: Prompting in Japanese — Keep Technical Terms in English

Japanese prompts are plenty accurate, but how you write them changes the result. In rough order of impact for me:

First, specificity. "Create a button" gets you much less than "Create a React button that calls an API on click and shows a spinner while loading." This is true in English too, but Japanese tends to drop subjects and objects, so it's worth consciously filling them back in.

Second, don't force-translate technical terms. A mix — concepts in English, requirements in Japanese — communicates best, e.g. "a React component using Redux for state management." Replacing "Redux" or "state" with a Japanese rendering only blurs the intent.

Third, use bullet points once you have more than three requirements. Line-separated bullets are recognized one item at a time, so fewer requirements get dropped than when you string them into one long sentence.

Layer 4: Japanese IME Quirks

Antigravity works with the Windows IME, macOS Japanese input, and fcitx on Linux. Still, the in-progress conversion string and editor completion do occasionally collide. If pre-commit characters get stolen by tab completion or conversion gets garbled, the guide on fixing Japanese IME conversion issues has OS-by-OS fixes.

As a day-to-day precaution, when writing a long Japanese comment, confirming one phrase at a time tends to cause fewer problems than drafting it in a notes app and pasting it in — that's what I've found from heavy use.

Layer 5: Garbled Text and Unifying on UTF-8

Garbled Japanese is almost always caused by inconsistent file encoding. Dropping an .editorconfig at the project root that pins UTF-8 keeps everyone on the same state.

# .editorconfig
root = true

[*]
charset = utf-8

Especially in projects that carry Shift_JIS files brought over from an old Windows environment, the context breaks the moment the AI reads such a file — so align encoding before touching any localization settings.

When only some files garble, suspect that those files aren't actually UTF-8. On macOS or Linux the file command checks this quickly.

# Check encoding (look for anything other than UTF-8)
file -I src/*.ts
# → anything other than charset=utf-8 (shift_jis / iso-2022-jp, etc.) needs converting

If you find Shift_JIS files, convert them to UTF-8 in bulk with iconv so that both the AI and people read the same characters from then on.

iconv -f SHIFT_JIS -t UTF-8 legacy.ts -o legacy.utf8.ts

Terminal and Git — Two Places Japanese Garbles Outside the Settings

Even with all five layers in place, two spots can still garble. They sit outside the editor's settings screen, so localization guides tend to skip them.

And these two matter specifically once you hand work to an agent. Agents read terminal output to decide what to do next, so if git status comes back garbled, the agent reasons from the garbled version. Where a human would think "ah, mojibake" and read past it, an agent takes it at face value.

Git prints Japanese filenames as strings of digits

git status sometimes shows a Japanese filename as "\346\227\245\346\234\254\350\252\236.md". That's Git escaping non-ASCII by default. One setting stops it.

# Show Japanese filenames as-is
git config --global core.quotepath false

Pinning commit message and log encoding to UTF-8 keeps them readable across machines too.

git config --global i18n.commitEncoding utf-8
git config --global i18n.logOutputEncoding utf-8

Separately from core.quotepath, Japanese filenames also carry a subtler problem: macOS and Linux disagree on the actual byte sequence (they handle voiced sound marks differently). If agents failing to open a file or diffs showing up twice sounds familiar, when Japanese filenames become different things on macOS and Linux covers that one.

The Windows terminal isn't speaking UTF-8

The Windows command prompt doesn't default to a UTF-8 code page, so Japanese output breaks. To switch temporarily in the integrated terminal:

chcp 65001

On PowerShell, putting it in your profile saves typing it every time.

# Add to $PROFILE
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8

macOS and Linux default to UTF-8, so you can mostly skip this section. One exception: if you SSH into an older server whose LANG is set to C, the same symptoms appear there.

Verifying the Setup Took Effect

Once the layers are configured, it's reassuring to confirm they actually took. I always check in this order.

First, are the UI menus in Japanese? You can see that at a glance. Second, ask the agent a single question — "what's your current response language?" A Japanese answer means the response layer is wired up. Third, write one line of Japanese comment, save, and reopen to confirm it doesn't garble. Fourth, create one file with a Japanese name and run git status on it to confirm it isn't reduced to a string of digits. With that, the foundation for a Japanese environment is in place.

When only the responses revert to English, it's usually the global setting from Layer 2 and a project instruction canceling each other out via an override. Temporarily removing the project-side instruction isolates which layer is responsible.

Symptom Quick Reference

A cheat sheet for guessing the cause first when you're stuck.

Symptom Suspect First thing to try
UI is Japanese but the AI replies in English Layer 2 Check the response language setting or project instruction
Variable names and commit messages turn Japanese too Layer 2 Add the "code vocabulary in English" line to your instructions
New projects keep reverting to English Layer 2 Register a global rule (use the two-tier approach)
Typing Japanese gets characters stolen by completion Layer 4 Isolate the IME vs. AI tab-completion collision
Only specific files garble Layer 5 Run file -I to find stray Shift_JIS files
git status shows Japanese as strings of digits Outside the layers (Git) Set core.quotepath false
Only the Windows terminal output breaks Outside the layers (terminal) Switch the code page to UTF-8 with chcp 65001
The setting from the guide isn't on your screen Version gap Check whether you're on 2.x or 1.x (staged rollout)

Japanese Comments Double as Context for the AI

Japanese comments in your code are read correctly by Antigravity. Beyond that, they work as context supply for the AI.

// Initialization when a user visits the page
const initializeApp = () => {
  // Load user settings from local storage
  const userSettings = localStorage.getItem('userSettings');
  // Fetch user info from the API
  fetchUserData();
};

Writing your intent in comments nudges the model's suggestions toward your requirements when you ask it to continue the implementation. In my projects I leave "why it's done this way" comments in Japanese, and both my future self and the AI end up leaning on them months later.

The settings work comes down to just three things: UI language, AI response language, and encoding. Terminal and Git only start to matter once you're handing real work to an agent, so they can wait. Lock those three first, then gradually bend your prompting toward your own style — that roundabout-looking path is, in my experience, the fastest way to a Japanese setup.

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 →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

✦ Tips2026-10-09
Fold Your Request into Five Lines Before You Paste the Long Notes
Pasting meeting notes straight into an agent gives you blurry results. Here is a five-line shape — goal, material, scope, finished form, check — and a small script that confirms all five lines are filled in.
✦ Tips2026-09-22
Don't Leave Your Chat Records to the Export Button — Three Routes for the Night It Does Nothing
Three ways to keep a record of your Antigravity conversations when the Export button does nothing at all: how to tell a broken button from a silent success, how to locate the conversation file in your own environment by modification time, and how to decide what to keep before the session ends.
✦ Tips2026-09-16
The Day the Upload to Agent Overlay Took Every Drop, and How I Got File Handling Back
A full-window Upload to Agent overlay intercepts every drop, so files never reach the integrated terminal or the explorer sidebar. Here are the two workarounds the community found, plus three ways to hand over a path without dragging.
📚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