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

2.5 KiB

Interface em português do Brasil

<PREFIX>, <cli>, <binary>: 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.
  • 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; para japonês, em localization-ja.md. Como adicionar outro idioma está em 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:

<PREFIX>_LANGUAGE=pt-br <cli> snapshot --demo --script tour.jsonl -o out.png --size 1600x1000