Files
lightcraft/docs/localization-pt-br.md
T
Andrew FrahnandClaude Opus 5.5 6cbc0eb5a9 Phase 0: configurable brand, MIT licence, plan/ and Immich tracker
- brand.toml is the only place the product name lives; every crate and app
  reads it through dac-brand (env vars with legacy fallback, settings folder
  with copy-only migration, default library, preset extensions, i18n {app})
- cargo xtask brand check|test, run|install|package, docs, rename-crates,
  deny and immich; packaging files are templates rendered from brand.toml
- icons regenerated from brand/icon.svg; upstream branding removed
- MIT licence (segment and fetch stay Apache-2.0); cargo deny licence policy
- clean-room rules in AGENTS.md/CLAUDE.md; docs/upstream-merge.md
- plan/ rebuilt and committed; parity tracker reopens Classic rows, adds
  PLAN.md section 2 rows and the IMM Immich section; plan/immich.md and a
  pinned Immich test server

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 10:30:06 +11:00

42 lines
2.5 KiB
Markdown

# Interface em português do Brasil
> `<PREFIX>`, `<cli>`, `<binary>`: [`brand.toml`](../brand.toml).
O aplicativo pode ser exibido em inglês, chinês simplificado, chinês tradicional (Taiwan), japonês e
português do Brasil. A preferência de idioma é gravada em `language` no `ui.json`.
- Troque em **Editar → Idioma** ou em **Configurações → Geral → Idioma**. A escolha é mantida nas
próximas inicializações.
- Traduzimos menus, edição de fotos, máscaras, recorte, configurações, importação, exportação e as
principais mensagens de progresso.
- Menus, telas e o texto com valores variáveis usam as fontes Inter (regular e semibold). Texto em
chinês e japonês exibido nos nomes de idioma (por exemplo, 日本語) continua dependendo do repositório
de fontes [storytold/craft-fonts](https://github.com/storytold/craft-fonts).
- A tradução fica na camada de apresentação. IDs de comandos, nomes de arquivos de fotos e metadados
digitados pelo usuário nunca são alterados.
- Erros técnicos, informações complementares e notas de versão não traduzidos aparecem em inglês.
- A tradução para chinês está em [`localization-zh-hans.md`](localization-zh-hans.md); para japonês,
em [`localization-ja.md`](localization-ja.md). Como adicionar outro idioma está em
[`localization.md`](localization.md).
## Manutenção da tradução
Os textos fixos ficam em `crates/ui-egui/locales/pt-br.json` e os textos com valores variáveis em
`crates/ui-egui/locales/pt-br-formats.json`. O inglês é usado como chave.
O nome do produto nunca aparece nas traduções: use `{app}` (nome de exibição em `brand.toml`), `{cli}`
(programa de linha de comando) e `{env}` (prefixo das variáveis de ambiente), sem traduzir, por exemplo
`About {app}` → `Sobre o {app}`.
Toda tradução de formato é verificada por `format!` do Rust no build. Referencie os valores por nome
(`{n}`) ou por posição (`{0}`, `{1}`) e use as mesmas especificações de formato do inglês
(`{:.1}`, `{d:+}`, `{:.0}%`). Quando o plural inglês (`"s"` / `""`) não for necessário em português,
consuma o argumento correspondente com `{:.0}` — um texto com precisão 0 não imprime nada.
Aparência, fontes, troca de idioma, persistência da preferência e estabilidade dos IDs de comando são
verificadas por `cargo test -p dac-ui-egui i18n::tests` (a checagem de glifos só roda com
`CRAFT_FONTS_DIR`). Para visualizar o idioma, renderize sem interface gráfica:
```sh
<PREFIX>_LANGUAGE=pt-br <cli> snapshot --demo --script tour.jsonl -o out.png --size 1600x1000
```