Como Adicionar uma Tradução¶
Guia para criar ou melhorar traduções da documentação em qualquer idioma.
Usamos MkDocs + Material + mkdocs-static-i18n
. Inglês é o fallback. Qualquer idioma novo replica a estrutura de pastas. Se faltar uma página traduzida, aparece a versão inglesa.
1. Visão geral¶
Três cenários comuns:
- Melhorar uma página já traduzida.
- Traduzir uma página que só existe em inglês.
- Adicionar um idioma totalmente novo.
Tudo abaixo cobre esses casos.
2. Estrutura de pastas¶
<locale>
exemplos: pt
, es
, fr
, de
, it
, ja
, zh
, ru
. Use códigos curtos (BCP‑47). Evite variantes regionais salvo necessidade (pt-BR
, pt-PT
).
Os caminhos relativos devem ser idênticos:
Inglês: docs/en/developer-guide/how-to-add-a-translation.md
Espanhol: docs/es/developer-guide/how-to-add-a-translation.md
Francês: docs/fr/developer-guide/how-to-add-a-translation.md
3. Início rápido (traduzir ou melhorar)¶
- Fork e clone.
- Crie / ative ambiente virtual.
- Instale extras de docs:
- Servidor local:
- Abra a URL e use o seletor de idioma.
Reinicie se arquivos novos não aparecerem.
4. Adicionando um novo idioma (setup inicial)¶
Se a pasta já existe (ex: pt/
), pule.
- Escolha código (ex:
es
). - Crie
docs/es/
. - Copie
docs/en/index.md
paradocs/es/index.md
e traduza. - (Opcional) Comece só com index + páginas principais para PR menor.
- Edite
mkdocs.yml
emi18n.languages
: - Não duplique a navegação; o plugin mapeia automaticamente.
- Rode
mkdocs serve
e confirme o idioma no seletor.
Para variantes regionais (ex: pt-BR
) mantenha consistência no nome da pasta e no locale
.
5. Nova página em inglês (fonte)¶
- Crie em
docs/en/...
. - Front matter:
- Adicione no
nav
domkdocs.yml
(apenas uma vez). - Verifique build.
- (Opcional) Comentário para tradutores:
6. Criando o arquivo traduzido¶
-
Caminho espelhado:
docs/<locale>/<mesmo>.md
. -
Copie o original.
-
Traduza só texto natural. Preserve:
- Blocos de código (comentários apenas se ajudar)
- Identificadores (funções, classes, imports)
- Caminhos, chaves de config, URLs
- Alvos de links relativos
-
Mantenha hierarquia de títulos.
-
Preserve tipos de admonitions (
!!! note
, etc.). Título interno pode ser traduzido. -
Parte pendente? Use:
-
Remova notas pendentes antes de finalizar (se concluir).
7. Links internos¶
Use links relativos:
O plugin resolve por idioma. Evite hardcode/en/
ou outro prefixo. Âncoras: se traduzir título, o slug muda; ajuste referências (#ancora)
.
8. Imagens e mídia¶
Se a imagem contém texto:
- Opção A: localizar imagem dentro de
docs/<locale>/assets/
com mesmo nome. - Opção B: reutilizar imagem inglesa se o texto não atrapalha.
SVG: manter símbolos ou termos técnicos; traduzir rótulos descritivos.
9. Formatação & estilo¶
Aspecto | Regra |
---|---|
Números | Mantenha precisão; separador decimal local é opcional. |
Unidades | Não traduzir (ms, Hz, etc.). |
APIs | Nunca traduzir identificadores. |
Aspas | Use padrão local sem quebrar Markdown. |
Capitalização | Igual só para nomes próprios / APIs. |
Tom | Neutro, direto. |
Evite blocos não revisados de tradução automática. Prefira frases curtas.
10. Glossário de tradução¶
Mantenha estes termos consistentes. Adicione equivalentes para outros idiomas conforme necessário:
Termo em Inglês | Português (pt) |
---|---|
Conceitos centrais | |
model structure | estrutura do modelo |
parameter estimation | estimação de parâmetros |
residual analysis | análise dos resíduos |
time series | série temporal |
identification | identificação |
Termos técnicos | |
basis function | função de base |
regression | regressão |
algorithm | algoritmo |
validation | validação |
simulation | simulação |
Termos de desenvolvimento | |
feature | funcionalidade |
pull request (PR) | pull request (PR) |
branch | branch |
commit | commit |
documentation | documentação |
Para outros idiomas, siga padrões similares. Prefira clareza à tradução literal.
11. Checklist de revisão (arquivo traduzido)¶
- Build local OK.
- Caminho espelhado correto.
- Links relativos sem
/en/
fixo. - Blocos de código intactos (comentários revisados).
- Terminologia consistente.
- Sem notas pendentes (ou marcadas claramente se parcial).
- Front matter com
title:
traduzido.
12. Commit & PR¶
Inclua arquivo inglês + traduzido se a página é nova; caso contrário só o traduzido.
Exemplo:
git add docs/en/developer-guide/new-topic.md docs/es/developer-guide/new-topic.md
git commit -m "docs: adicionar tradução em espanhol de new-topic"
Template de descrição de PR:
- Idioma:
<locale>
- Páginas: lista
- Trechos ainda em inglês: (se houver)
- Termos novos de glossário: (se houver)
- Notas para revisão: contexto, termos difíceis
Traduções parciais são aceitáveis — marque claramente.
13. Atualizando traduções¶
Quando o inglês mudar:
- Veja o diff.
- Aplique mudanças equivalentes.
- Sem tempo para traduzir? Deixe em inglês + nota temporária.
- Remova a nota ao finalizar.
Prefira PRs menores.
14. Problemas comuns¶
Sintoma | Causa | Correção |
---|---|---|
Página só em inglês | Falta arquivo no locale | Criar arquivo espelhado |
Erro de build | Entrada i18n incorreta | Corrigir locale / indentação |
Link 404 | Caminho diferente do inglês | Sincronizar caminho |
Âncora quebrada | Título mudou | Ajustar slug / título |
Idioma não aparece | Faltou adicionar em mkdocs.yml | Adicionar e reiniciar |
15. Automação (opcional)¶
Scripts podem copiar estrutura base, mas revise manualmente termos técnicos. Não sobrescreva traduções existentes.
16. Dúvidas¶
Abra Issue ou Discussion para confirmar termos antes de traduzir grandes trechos. Feedback cedo evita retrabalho.
Obrigado por tornar a documentação acessível a mais pessoas.