Plain language (pt-BR)
content specs/content/plain-language-ptbr.kmd
The Brazilian-Portuguese localization of the plain-language rule: a "burocratês → linguagem simples" term registry plus a lint that flags bureaucratic/legalese phrasing in pt-BR UI copy and suggests the plain equivalent. Extends the language-neutral plain-language.kmd with a concrete pt-BR substitution corpus. Modeled after the gov.br "linguagem simples" / Comunicação Pública guidance.
Quando esta spec se aplica
Triggers primários
- Apply plain-language rules to Brazilian-Portuguese strings
Todos os triggers
- Write or review pt-BR UI copy for plain language
- Flag burocratês (legalese) and suggest a simpler pt-BR term
- Build a pt-BR plain-language lint for product strings
Corpo da especificação
Spec — Plain language (pt-BR)
Status: v0.1.0 — Draft. Promoted from the gov.br (DS Gov) parity scan (meta/docs/stack #098). Locale specialization of
specs/content/plain-language.kmd. Source: gov.br linguagem simples / Manual de Comunicação da Secom.
R1 — Relationship to the base rule
specs/content/plain-language.kmd is the language-neutral contract (short
sentences, active voice, no jargon, address the reader directly). This
spec adds the pt-BR substitution corpus and lint; it tightens, never
loosens, the base. When pt-BR copy is being written/reviewed, both apply.
R2 — Term registry (burocratês → simples)
A versioned registry maps bureaucratic terms to their plain equivalents. Non-exhaustive seed (the registry is the source of truth, the rendered list is illustrative):
| Burocratês | Linguagem simples |
|---|---|
| efetuar / proceder a | fazer |
| em virtude de / tendo em vista que | porque |
| anteriormente mencionado / supracitado | que já falamos / acima |
| comparecer | ir / vir |
| protocolar | enviar / registrar |
| indeferido | recusado / negado |
| deferido | aprovado |
| aguardar manifestação | esperar a resposta |
| dirimir dúvidas | tirar dúvidas |
| impreterivelmente | sem falta / no prazo |
| dispor de | ter |
| à guisa de | como |
The registry lives as data (a .kmd/JSON term file) so the lint and
authors share one source; entries carry an optional note on when the
formal term is genuinely required (legal contexts).
R3 — Lint behavior
- The lint scans pt-BR string resources and flags any registry term, proposing the plain equivalent (a suggestion, not an auto-rewrite — context can justify the formal term).
- It also flags structural smells the base rule names: sentences over ~25 words, passive-voice agent-less constructions, nominalizations ("realização de", "efetivação de").
- Findings are advisory in CI (warn), never a hard build break, since legal/regulatory copy may legitimately need formal terms (R4).
R4 — When formal stays
Legally binding text (contracts, e-sign consent, regulatory notices) may require the formal term verbatim. Such strings are tagged to exempt them from the lint; the tag is explicit (no silent suppression), so the choice is auditable.
R5 — Scope of application
Applies to pt-BR product UI strings, help, notifications, and public
gov-facing copy. Per policies/language.kmd, Koder product UI is en-US
by default; this spec governs the pt-BR translations/locales where they
exist, not the source en-US.
Não-escopo
- The language-neutral rules themselves (
specs/content/plain-language.kmd). - en-US copy (the base rule covers it).
- Machine translation quality (separate concern).
- Tone/voice (
specs/content/voice-and-tone.kmd).
Referências
specs/content/plain-language.kmdspecs/content/grammar-and-mechanics.kmdspecs/i18n/contract.kmdpolicies/language.kmd