Skip to content

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.

When this spec applies

Primary triggers

All triggers

Specification body

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êsLinguagem simples
efetuar / proceder afazer
em virtude de / tendo em vista queporque
anteriormente mencionado / supracitadoque já falamos / acima
comparecerir / vir
protocolarenviar / registrar
indeferidorecusado / negado
deferidoaprovado
aguardar manifestaçãoesperar a resposta
dirimir dúvidastirar dúvidas
impreterivelmentesem falta / no prazo
dispor deter
à guisa decomo

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).

References