Language
pt-BR no chat com o usuário (exceto código-fonte e identificadores técnicos). en-US em todas as superfícies de produto Koder (READMEs, sites, apps, mensagens de erro user-facing). Regras de i18n por surface.
Chat Responses
Claude Code always responds in Brazilian Portuguese (pt-BR) when talking to the user, except for source code and technical identifiers.
Koder Products (Repositories, Sites, Apps)
All text in Koder koder-* product repositories, sites, and apps is written in American English (en-US) by default. This includes:
- Repository: README, CHANGELOG, docs in
docs/, code comments, commit messages, issue/PR descriptions, branch names. - Sites / Web: Titles, descriptions, labels, buttons, sections, meta tags, footer, CTA — every visible text.
- Applications (web, desktop, mobile): UI strings, labels, captions, error messages, tooltips, placeholders, notifications — every text shown to the end user.
Multilingual (i18n)
Authoring source of truth stays en-US (this is what the rest of this policy is about). But product user-facing UI ships the minimum language floor — en-US + pt-BR + es (the Americas trio; normative set + tiers in specs/i18n/contract.kmd R7). Additional locales (tier-2: fr, de, it, zh-CN, ja, ar, hi, ru) ship on explicit market demand. Internal / dev-only tools with no external users may stay en-US. The floor is about offering the user their language; en-US remains the canonical source + the fallback. When implementing i18n:
- Use one translation file per language (
en.json,pt-BR.json,es.json). - The displayed language follows the device/browser language (
navigator.language, FlutterLocalizations, serverAccept-Language, etc.). - Fallback to en-US when the device language has no translation.
- Repository docs (README, docs/) can have translated versions in separate files (e.g.
README.pt-BR.md) linked from the main README.
File and Directory Naming
All file names, directory names, CLI flags, parameter names, binary names, and any other filesystem or API artifact across the entire koder monorepo must use American English (en-US). This applies regardless of the file's content language.
Examples:
- Directories:
vision/notvisao/,contracts/notcontratos/,products/notprodutos/ - Files:
international-expansion.kmdnotexpansao-internacional.kmd - CLI flags:
--output-formatnot--formato-saida - Binary names:
koder-hubnotkoder-loja
Exception: Content inside translation files (e.g., pt-BR.json, es.json) is the only place where non-English text is expected and correct.
Exception
The chat-response language rule (pt-BR) is global and always applies, regardless of what is being discussed. It is distinct from the Koder product language rule (en-US).