Files
ai-for-dummies/src/content/chapters/models.json
T
Marcos Paulo 160a324317 feat(i18n): translate models.json chapter to Brazilian Portuguese
Fill the `pt` mirror fields on the /models/ chapter so the bilingual
contract stops being silently English-only. 24 fields: hero eyebrow,
title, lede, three effort-tier cards, and two sections (the routing
rule panel and the sequence steps).

The chapter reuses the same six surface primitives as landing.json
and summary.json, with one new shape: the routing-rule panel
(panelLabel + panelCode) on the first section, and a three-step
sequence (steps[].label / steps[].copy) on the second. The English
panel code mixes prose and prose-like tokens (→, ×, ·); the
Portuguese preserves all of those.

Translation register follows the conventions established by
src/content/commonSkills/*.json, the full-guide PT snapshot, and the
two prior commits on this branch (1baa314 landing.json, fd031b0
summary.json): imperative voice, second-person `você`, sentence-case
prose, all-caps labels, and English kept for product nouns (skill,
worktree, brief, gate, pipeline, recall, prompt, enforcement, runs,
model-tier names). Numeric and tier labels (LOW / BAIXO, MEDIUM /
MÉDIO, HIGH / ALTO) translate as established by the efforts
collection. `Ambiguidade` for "ambiguity" follows phases/plan.json's
established usage; `execução delimitada` for "bounded execution"
mirrors routes/build.json. The English metaphor "spend judgment /
compounds" is rendered as `Invista julgamento onde ele compensa`,
which carries the same meaning in Portuguese; the literal calque
`compostos` would be opaque.

Verified by .agents/scripts/audit-translations.mjs: models.json
contribution to the offenders list drops from 24 to 0. Remaining
identical fields live in agents.json (24) and skills.json (16),
which will land in subsequent commits.
2026-09-06 18:35:51 -03:00

122 lines
3.5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"id": "models",
"eyebrow": {
"en": "Model routing",
"pt": "Roteamento de modelos"
},
"title": {
"en": "Choose the<br><em>engine.</em>",
"pt": "Escolha o<br><em>motor.</em>"
},
"lede": {
"en": "A model has a capability ceiling. Effort controls how much room it gets to reason. Route by uncertainty and verification cost.",
"pt": "Um modelo tem um teto de capacidade. O esforço controla quanto espaço ele ganha para raciocinar. Roteie por incerteza e custo de verificação."
},
"cards": [
{
"label": {
"en": "LOW",
"pt": "BAIXO"
},
"title": {
"en": "Bounded rhythm",
"pt": "Ritmo delimitado"
},
"copy": {
"en": "Lookup, small edits, formatting, and transformations with clear checks.",
"pt": "Consultas, edições pequenas, formatação e transformações com checagens claras."
}
},
{
"label": {
"en": "MEDIUM",
"pt": "MÉDIO"
},
"title": {
"en": "Default work",
"pt": "Trabalho padrão"
},
"copy": {
"en": "Normal implementation where the contract is clear but context matters.",
"pt": "Implementação normal em que o contrato é claro, mas o contexto importa."
}
},
{
"label": {
"en": "HIGH",
"pt": "ALTO"
},
"title": {
"en": "Ambiguity",
"pt": "Ambiguidade"
},
"copy": {
"en": "Planning, architecture, security judgment, and hard failures.",
"pt": "Planejamento, arquitetura, julgamento de segurança e falhas difíceis."
}
}
],
"sections": [
{
"eyebrow": {
"en": "Two knobs",
"pt": "Dois controles"
},
"title": {
"en": "Capability<br>× effort",
"pt": "Capacidade<br>× esforço"
},
"panelLabel": {
"en": "ROUTING RULE",
"pt": "REGRA DE ROTEAMENTO"
},
"panelCode": {
"en": "strong model + high effort → frame ambiguity\nlight model + low effort → bounded execution\nraise one knob at a time → compare evidence",
"pt": "modelo forte + esforço alto → enquadrar ambiguidade\nmodelo leve + esforço baixo → execução delimitada\nsuba um controle por vez → compare evidências"
}
},
{
"eyebrow": {
"en": "Sequence",
"pt": "Sequência"
},
"title": {
"en": "Spend judgment<br>where it <em>compounds.</em>",
"pt": "Invista julgamento<br>onde ele <em>compensa.</em>"
},
"steps": [
{
"label": {
"en": "Plan",
"pt": "Planejar"
},
"copy": {
"en": "Strong model: scope, risks, acceptance, and worktree split.",
"pt": "Modelo forte: escopo, riscos, aceitação e divisão de worktrees."
}
},
{
"label": {
"en": "Build",
"pt": "Construir"
},
"copy": {
"en": "Focused worker: smallest context and lightest model that can pass.",
"pt": "Worker focado: o menor contexto e o modelo mais leve que passa."
}
},
{
"label": {
"en": "Review",
"pt": "Revisar"
},
"copy": {
"en": "Independent pass when missed issues cost more than the call.",
"pt": "Revisão independente quando erros perdidos custam mais que a chamada."
}
}
]
}
]
}