# Code is written in English

A written rule for every project built from the template: code, comments, tests, commits and developer docs are English; only user-facing text is localized.

Projects built from the template now share one rule for the language of their code, stated in `AGENTS.md` and on [Conventions](/docs/development/conventions#code-is-written-in-english): identifiers, file and route names, database tables, env vars, comments, test names, developer logs, error codes, commits, branches, pull requests and developer docs are English, whatever language the domain, the team or the conversation with an agent uses. User-facing text is the only exception and goes through the i18n catalogs. A domain word from another language gets one English name in `CONTEXT.md`.

`scripts/code-language.test.mjs` runs in `pnpm test` and fails when a short list of Portuguese and German words appears in identifiers, comments or test titles under `apps/*/src`, `packages/*/src` and the scripts folders. String literals, JSX text and the locale catalogs are not read. The rest of the rule (other languages, commits, docs) is checked in review; see [Enforcement](/docs/development/enforcement).

