Files
lightcraft/docs/localization-pt-br.md
T
RicSchonfelderandDeepSeek V4 Flash fb01966a00 i18n: add Brazilian Portuguese (pt-br) UI translation
Add pt-br as a fifth interface language beside English, Simplified
Chinese, Traditional Chinese (Taiwan) and Japanese.

`crates/ui-egui/locales/pt-br.json` and `pt-br-formats.json` carry the
messages and the format strings; the language table gains the entry
(`PtBr, "pt-br", "Português (Brasil)", "Latn", ...`), and Edit > Language
plus `app.language.portuguese` select it. Locale tags pt-BR, pt_BR.UTF-8
and pt all normalize to the same language.

Translation follows pt-BR UI conventions (Adobe terms: revelação,
balanço de branco, máscara, cópia virtual…); proper nouns and file
formats stay as written (LightCraft, ArtCraft, GitHub, DNG, TIFF, XMP).
Placeholders, format specs and punctuation match the English source; the
English plural suffix is consumed with `{:.0}` where Portuguese does not
need it.

Tests: every_language_has_a_catalog_covering_the_source,
catalogs_agree_on_placeholders_and_report_gaps, locale_tags_normalize
and the painted-window test now cover pt-br. Docs: localization.md, a
new localization-pt-br.md and the parity rows.

Co-Authored-By: DeepSeek V4 Flash (opencode) <[email protected]>
2026-10-07 17:03:20 -03:00

2.2 KiB

LightCraft em português do Brasil

O LightCraft 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.

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 lightcraft-ui-egui i18n::tests (a checagem de glifos só roda com CRAFT_FONTS_DIR). Para visualizar o idioma, renderize sem interface gráfica:

LIGHTCRAFT_LANGUAGE=pt-br lightcraft-cli snapshot --demo --script tour.jsonl -o out.png --size 1600x1000