Skip to content
OpencodeView

Localization

The EN-US and PT-BR catalog contract, and what is deliberately never translated.

The interface ships two locales from typed catalogs. The untranslated set is deliberate: what you read on screen must remain greppable in the database.

Canonical source ↗

Two locales, one contract

The interface ships EN-US and PT-BR from typed catalogs. What never gets translated is deliberate: protocol identifiers, model and tool names, session IDs, raw flag values and canonical tab IDs stay verbatim, so that what you read on screen is what you can grep in the database.

Translated

  • Labels and titles
  • Hints and legends
  • Chart axes
  • Date and number formats
  • Document title

Never translated

  • Protocol IDs
  • Model names
  • Tool names
  • Session IDs
  • Raw flag values
  • Tab IDs

WCAG 2.2 AA as a build constraint

Not a retrofit. The design system encodes it, and the visual contract lists its own accepted debt in public.

  • 4.5:1 minimum contrast for body text, 3:1 for large text and essential graphics
  • Every interactive control is keyboard-reachable with a visible focus state
  • Sortable headers are real buttons carrying aria-sort
  • Actionable rows use button or link semantics, never a bare click handler
  • Color is never the only channel — every state also carries a text label
  • Icon-only controls require a localized aria-label
  • prefers-reduced-motion disables non-essential animation