Project Config
Every key in .babelize/config.json: source and target locales, include and exclude paths, glossary, brand voice, formality, Next.js routing and the cloud project link.
.babelize/config.json holds a project's Babelize settings. babelize translate, babelize check, babelize scan and the MCP tools read it from the project root. Commit it, so teammates, CI and cloud runs from GitHub use the same settings.
Everything is optional. A missing or malformed file means defaults.
{
"sourceLocale": "en",
"targetLocales": ["es", "ja", "ar"],
"include": ["src/app/**", "src/components/**"],
"exclude": ["src/registry", "**/*.stories.tsx"],
"glossary": {
"neverTranslate": ["Babelize", "React"],
"alwaysTranslateAs": [
{ "term": "workspace", "translations": { "de": "Arbeitsbereich", "ja": "ワークスペース" } }
]
},
"brandVoice": "Friendly, concise, no jargon",
"formality": { "de": "formal", "it": "informal" },
"routing": "prefix"
}Keys
| Key | Type | What it does |
|---|---|---|
sourceLocale | locale code | The language your app is written in. Default en. --from overrides it. |
targetLocales | locale codes | The languages babelize check expects and the guided npx babelize remembers. translate --to sets the languages per run. |
include | globs | Only these paths are scanned and rewritten. Relative to the project root; a plain path like src/app covers everything under it. --include replaces it for one run. See Choosing which files are translated. |
exclude | globs | Never these paths, even when included: a component library published from the same repo, a CLI, fixtures. --exclude replaces it for one run. |
glossary.neverTranslate | strings | Terms kept as written in every language: product, brand and tool names. See Glossary. |
glossary.alwaysTranslateAs | { term, translations }[] | A fixed translation per language for a term. |
brandVoice | string, up to 300 characters | Tone and style for LLM translators. --brand-voice replaces it for one run. See Brand voice. |
formality | { [locale]: "formal" | "informal" | "auto" } | Form of address per language. --formality is merged over it. See Formality. |
routing | "prefix" | "cookie" | Next.js only. prefix (default): a URL per language (/ja/…) through a generated proxy. cookie: one URL for every language. See Next.js: choosing the language. |
projectId | string | Links the folder to a cloud project. Written by babelize init; used by babelize run start and other cloud commands. |
Older keys are still read: source / sourceLanguage for sourceLocale, targetLanguageIds / targetLanguages for targetLocales, and customTranslations for the glossary.
Files next to it
| Path | Commit it? | What it is |
|---|---|---|
.babelize/config.json | Yes | This file. |
.babelize/local/babelize-lock.json | Yes | Each key's source text and translations, so re-runs only translate new or changed strings. |
.babelize/local/report.json | No | The last run's QA report. |
Last updated: 2026-11-01
Check Translations
QA locale files from the terminal or CI: missing keys, lost placeholders, broken ICU and plural forms, glossary violations. Read-only, no account needed.
Authentication
Log in to and out of the Babelize CLI, manage active sessions, and add or remove GitHub provider tokens, with the commands and flags for each.