diff --git a/ROADMAP.md b/ROADMAP.md index 81e87eea3..73c4a0532 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -352,15 +352,14 @@ A string without a translation shows in English and fails no check; `cargo xtask | Hindi | hi | none | 0% | | Arabic | ar | partial (RTL UI and composition) | 85% | | French | fr | partial | 83% | -| Portuguese (Brazil) | pt-br | partial | 61% | +| Portuguese (Brazil) | pt-br | partial | ~100% | | Indonesian | id | none | 0% | | Japanese | ja | partial | 95% | | German | de | partial | 83% | | Korean | ko | none | 0% | | Vietnamese | vi | none | 0% | -Also shipped: Czech (99%), Italian (85%), Ukrainian (83%), Polish (99%). -Also shipped: Italian (85%), Ukrainian (83%), Georgian (100%), Swedish (99%). +Also shipped (2026-11-04 `i18n-report`, of 2,939): Czech (69%), Italian (68%), Ukrainian (65%), Polish (64%), Georgian (98%), Swedish (98%), Hungarian (65%), Russian (63%). ## Upcoming @@ -402,6 +401,7 @@ list) · [roadmap.md](docs/roadmap.md) (milestones, plan) · [parity-checklist.m Newest first. - **2026-11-06** · Preflight warns about white or [Paper] set to overprint (#2401): a fill, stroke or stroke gap, or ruby and kenten, in [Paper] or a colour that lays down no ink (C=0 M=0 Y=0 K=0, a 0% tint; a spot ink, such as a white ink or a varnish, prints whatever colour stands in for it), is reported as `whiteOverprint`, since it disappears on press. Text itself has no overprint, so white text in a frame set to Overprint Fill still knocks out and prints, and is not reported. Preflight no longer says PDF export drops ruby and kenten overprint, which it writes. No readiness percentage change. +- **2026-11-04** · Interface Language › Português (Brasil) translates the whole interface: 996 strings the catalog lacked (tool names, window and guide commands, Keyboard Shortcuts sets, panel docking, Edit › Menus paths, the Japanese typesetting dialogs, special characters, Load Styles, Data Merge, Preflight, font replacement, the Package summary, OpenType features, page presets, About) and File › New's unit names, and a path is "demarcador" throughout. `cargo xtask i18n-report` counts 2,936 of 2,939 strings for pt-BR (1,933 before); only the Control panel's `IT`, `VA` and `Y:` captions stay English, as in every language. No readiness percentage change. - **2026-11-03** · `type.char` says when the font it applies isn't available (#2189): it returns `{"warnings": ["Missing font: Courier Prime (using Source Sans 3)"]}`, or `Missing font style: …` for a style the family doesn't have, in preflight's words. The font is still applied, as before, so Find Font and preflight list it. A script that asked for a font the machine doesn't have exported in the substitute with no word about it. No readiness percentage change. - **2026-11-02** · Packaged PDFs report their export warnings in the package result and Instructions.txt, and soft drop shadows and feathers in them are tested. Frame and text-range hyperlinks keep their source bounds when the frame is rasterized, including inside groups. No readiness percentage change. - **2026-11-01** · Parent page resizing (#1620): Properties, the Page Tool Control panel and on-page handles resize the selected parent page independently of document pages. Stable parent IDs, repeated resizing, anchors and liquid rules are preserved on the current command modules. Inline parent margin editing targets only the selected parent page and preserves opposite-page margins and document overrides; document commands retain their first-page default before the canvas is initialized. No readiness percentage change. diff --git a/crates/ui-egui/src/i18n/pt_br.rs b/crates/ui-egui/src/i18n/pt_br.rs index 65cbf07c3..34bdad4da 100644 --- a/crates/ui-egui/src/i18n/pt_br.rs +++ b/crates/ui-egui/src/i18n/pt_br.rs @@ -103,7 +103,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Added swatch", "Amostra adicionada"), ("Eyedropper: drag it onto the page", "Conta-gotas: arraste-o para a página"), ("PDF Preset:", "Predefinição de PDF:"), - ("Packaged {count} files into {dir}", "{count} arquivos empacotados em {dir}"), + ("Packaged {count} files into {dir}", "{count} arquivo(s) empacotado(s) em {dir}"), ("Continue", "Continuar"), ("Printing Instructions", "Instruções de impressão"), ("Package", "Empacotar"), @@ -409,7 +409,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Library", "Biblioteca"), ("Text Wrap", "Quebra de texto"), ("Align", "Alinhar"), - ("Pathfinder", "Localizador de caminhos"), + ("Pathfinder", "Pathfinder"), ("Transform Again", "Transformar novamente"), ("Interactive", "Interativo"), ("Buttons and Forms", "Botões e formulários"), @@ -811,7 +811,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Minus Back", "Subtrair plano de trás"), ("Make Compound", "Criar composto"), ("Release", "Liberar"), - ("Paths", "Caminhos"), + ("Paths", "Demarcadores"), ("Align left edges", "Alinhar bordas esquerdas"), ("Align horizontal centers", "Alinhar centros horizontais"), ("Align right edges", "Alinhar bordas direitas"), @@ -1293,7 +1293,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Pages:", "Páginas:"), ("Part of the ArtCraft suite of open creative tools.", "Parte do conjunto ArtCraft de ferramentas criativas abertas."), ("Pasteboard Options", "Opções da área de transferência"), - ("Path", "Caminho"), + ("Path", "Demarcador"), ("Place the insertion point in a table, or create one.", "Coloque o ponto de inserção em uma tabela ou crie uma."), ("Plain Text", "Texto simples"), ("Plays in EPUB export; print and PDF show the poster.", "Reproduz na exportação EPUB; impressão e PDF mostram o pôster."), @@ -1625,7 +1625,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Character Formatting", "Formatação de caracteres"), ("Clear Conveyor", "Limpar transportador"), ("Clear Transformations", "Limpar transformações"), - ("Clipping Path…", "Traçado de recorte…"), + ("Clipping Path…", "Demarcador de recorte…"), ("Close Book", "Fechar livro"), ("Close Library", "Fechar biblioteca"), ("Collect", "Coletar"), @@ -1724,7 +1724,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("List Styles", "Listar estilos"), ("List Tools", "Listar ferramentas"), ("Load Place Cursor", "Carregar cursor de inserção"), - ("Make Compound Path", "Criar traçado composto"), + ("Make Compound Path", "Criar demarcador composto"), ("Map Styles to Tags", "Mapear estilos para tags"), ("Math Expression SVG", "SVG de expressão matemática"), ("Media Options", "Opções de mídia"), @@ -1783,7 +1783,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Recover Documents", "Recuperar documentos"), ("Recovery Data", "Dados de recuperação"), ("Reject All Changes", "Rejeitar todas as alterações"), - ("Release Compound Path", "Liberar traçado composto"), + ("Release Compound Path", "Liberar demarcador composto"), ("Remove Document", "Remover documento"), ("Report an Issue…", "Relatar um problema…"), ("Reset Shortcuts", "Redefinir atalhos"), @@ -1823,7 +1823,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Show/Hide Text Threads", "Mostrar/ocultar encadeamentos de texto"), ("Sort", "Ordenar"), ("Split Note", "Dividir nota"), - ("Split Path", "Dividir traçado"), + ("Split Path", "Dividir demarcador"), ("Step and Repeat…", "Passo e repetição…"), ("Stroke Styles", "Estilos de traço"), ("Style Source", "Origem do estilo"), @@ -1841,8 +1841,8 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Transform Values", "Valores de transformação"), ("Transparency Blend Space", "Espaço de mesclagem de transparência"), ("Transparency Flattener Presets", "Predefinições de achatamento de transparência"), - ("Type on a Path", "Texto em um traçado"), - ("Type on a Path Options…", "Opções de texto em um traçado…"), + ("Type on a Path", "Texto no demarcador"), + ("Type on a Path Options…", "Opções de texto no demarcador…"), ("Typical Display", "Exibição típica"), ("Update Link", "Atualizar link"), ("User Dictionary Words", "Palavras do dicionário do usuário"), @@ -1873,7 +1873,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Convert to Liquid Guide", "Converter em guia líquida"), ("Convert to Object", "Converter em objeto"), ("Create Line", "Criar linha"), - ("Create Path", "Criar traçado"), + ("Create Path", "Criar demarcador"), ("Decrease Point Size", "Diminuir tamanho em pontos"), ("Delete Article", "Excluir artigo"), ("Delete Bookmark", "Excluir marcador"), @@ -1943,7 +1943,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Apply Attributes (Eyedropper", "Aplicar atributos (conta-gotas"), ("Captions", "Legendas"), ("Change All (Object", "Alterar tudo (objeto"), - ("Clipping Path", "Traçado de recorte"), + ("Clipping Path", "Demarcador de recorte"), ("Convert Cell Type", "Converter tipo de célula"), ("Copy Link(s", "Copiar link(s"), ("DesignCraft", "DesignCraft"), @@ -1991,4 +1991,1046 @@ pub(super) const TABLE: &[(&str, &str)] = &[ ("Insert field", "Inserir campo"), ("Pass csv, rows, or bytes from the control channel.", "Passe csv, linhas ou bytes pelo canal de controle."), ("Panels", "Painéis"), + // Strings added to the interface since the catalog was completed (2026-10-15). + (" Save ", " Salvar "), + (" Update ", " Atualizar "), + ("% of all commits", "% de todos os commits"), + ("(any)", "(qualquer)"), + ("(unchanged)", "(inalterado)"), + ("1 Parent Character", "1 caractere base"), + ("1 Ruby Character", "1 caractere ruby"), + ("1 Ruby Character Aki", "Aki de 1 caractere ruby"), + ("1-2-1 (JIS) Rule", "Regra 1-2-1 (JIS)"), + ("1-2-1 Aki", "Aki 1-2-1"), + ("1/2 Parent Character", "1/2 caractere base"), + ("1/2 Ruby Character", "1/2 caractere ruby"), + ("90° CCW", "90° anti-horário"), + ("90° CW", "90° horário"), + ("A, B, C, D...", "A, B, C, D..."), + ("About", "Sobre"), + ("Above/Right", "Acima/direita"), + ("Absorb Ideographic Space at Line End", "Absorver espaço ideográfico no fim da linha"), + ("Across the Line:", "Perpendicular à linha:"), + ("Activate Panel", "Ativar painel"), + ("Add Anchor Point Tool", "Ferramenta Adicionar ponto de ancoragem"), + ("Add Tab", "Adicionar tabulação"), + ("Adjust Rotation", "Ajustar rotação"), + ("Adjust Tsume", "Ajustar tsume"), + ("Adjust page elements to document changes", "Ajustar os elementos da página às alterações do documento"), + ("Adjustment When Ruby Is Longer Than Parent", "Ajuste quando o ruby é mais longo que a base"), + ("Align Left Edge", "Alinhar borda esquerda"), + ("Align Only First Line to Grid", "Alinhar somente a primeira linha à grade"), + ("Align To", "Alinhar a"), + ("All Classes", "Todas as classes"), + ("All pages", "Todas as páginas"), + ("Along the Line:", "Ao longo da linha:"), + ("Alpha Channel", "Canal alfa"), + ("Alternate layout", "Layout alternativo"), + ("Anchored Object Options", "Opções de objeto ancorado"), + ("Apply Numbering & Section Options", "Aplicar opções de numeração e de seção"), + ("Apply Text Attributes (Eyedropper)", "Aplicar atributos de texto (conta-gotas)"), + ("Apply To:", "Aplicar a:"), + ( + "Apply the changes; objects follow the new page size and margins", + "Aplicar as alterações; os objetos acompanham o novo tamanho de página e as margens", + ), + ("Apply to:", "Aplicar a:"), + ("ArtCraft App Page", "Página do aplicativo ArtCraft"), + ("ArtCraft Website", "Site do ArtCraft"), + ("Auto Align at Line Start/End", "Alinhar automaticamente no início/fim da linha"), + ("Auto Rename", "Renomear automaticamente"), + ("Auto Tate-Chu-Yoko", "Tate-chu-yoko automático"), + ("Auto Tate-chu-yoko Settings", "Configurações de tate-chu-yoko automático"), + ("Auto-Size", "Dimensionamento automático"), + ("Auto-Sizing", "Dimensionamento automático"), + ("Automatic Chapter Numbering", "Numeração automática de capítulos"), + ("Automatic Page Numbering", "Numeração automática de páginas"), + ("Below/Left", "Abaixo/esquerda"), + ("Between Entry and Number:", "Entre a entrada e o número:"), + ("Binary assets added", "Arquivos binários adicionados"), + ("Binary assets removed", "Arquivos binários removidos"), + ("Black Circle", "Círculo preto"), + ("Black Triangle", "Triângulo preto"), + ("Blank Document Presets", "Predefinições de documento em branco"), + ("Bleed:", "Sangria:"), + ("Book Name:", "Nome do livro:"), + ("Both Sides", "Ambos os lados"), + ("Both pages of the parent spread", "Ambas as páginas da página dupla principal"), + ("Both pages of the spread", "Ambas as páginas da página dupla"), + ("Bounding Box (All Layers)", "Caixa delimitadora (todas as camadas)"), + ("Bounding Box (Visible Layers Only)", "Caixa delimitadora (somente camadas visíveis)"), + ("Break Thread", "Romper encadeamento"), + ("Bullet Character", "Caractere de marcador"), + ("Bullseye", "Alvo"), + ("Bunri-Kinshi", "Bunri-kinshi"), + ("CMYK:", "CMYK:"), + ("Cancel Preview", "Cancelar visualização"), + ("Cell Number:", "Número do celular:"), + ("Centered", "Centralizado"), + ("Change Panel Layout", "Alterar layout do painel"), + ("Change Tab", "Alterar tabulação"), + ("Change fill to:", "Alterar preenchimento para:"), + ("Character Style", "Estilo de caractere"), + ("Character:", "Caractere:"), + ("Characters After Break:", "Caracteres depois da quebra:"), + ("Characters Before Break:", "Caracteres antes da quebra:"), + ("Characters:", "Caracteres:"), + ("Check Spelling", "Verificar ortografia"), + ("Chinese: Simplified", "Chinês: simplificado"), + ("Chinese: Traditional", "Chinês: tradicional"), + ("Clear All Tabs", "Limpar todas as tabulações"), + ("Clear Object Style Overrides", "Limpar substituições de estilo de objeto"), + ("Clear Rotation", "Limpar rotação"), + ("Clipping Path Options…", "Opções de demarcador de recorte…"), + ("Close Panel", "Fechar painel"), + ("Closed Path", "Demarcador fechado"), + ( + "Collect objects with the Content Collector (B); place them with the Content Placer.", + "Colete objetos com o Coletor de conteúdo (B); insira-os com o Posicionador de conteúdo.", + ), + ("Color Blindness – Deuteranopia", "Daltonismo – deuteranopia"), + ("Color Blindness – Protanopia", "Daltonismo – protanopia"), + ("Color Theme", "Tema de cores"), + ("Color Theme Tool", "Ferramenta Tema de cores"), + ("Color Theme…", "Tema de cores…"), + ("Color font", "Fonte colorida"), + ("Column Break", "Quebra de coluna"), + ("Column Gutter", "Medianiz da coluna"), + ("Commit Preview", "Confirmar visualização"), + ("Commits", "Commits"), + ("Company", "Empresa"), + ("Conditional Text", "Texto condicional"), + ("Content Collector Tool", "Ferramenta Coletor de conteúdo"), + ("Content Placer Tool", "Ferramenta Posicionador de conteúdo"), + ("Contributors", "Colaboradores"), + ("Convert Direction Point Tool", "Ferramenta Converter ponto de direção"), + ("Convert Rows", "Converter linhas"), + ("Copyright Symbol", "Símbolo de copyright"), + ("Corner Options", "Opções de canto"), + ("Corner Size", "Tamanho do canto"), + ("Couldn't write recovery data: {error}", "Não foi possível gravar os dados de recuperação: {error}"), + ("Create Guides", "Criar guias"), + ("Create Links When Placing Text Files", "Criar vínculos ao inserir arquivos de texto"), + ("Currently Rendered With", "Renderizado atualmente com"), + ("Dark", "Escuro"), + ("Data Fields", "Campos de dados"), + ("Data Merge Options", "Opções de mesclagem de dados"), + ("Decorative", "Decorativa"), + ("Default Rules", "Regras padrão"), + ("Define Cross-Reference Format", "Definir formato de referência cruzada"), + ("Define Lists", "Definir listas"), + ("Define Text Variable", "Definir variável de texto"), + ("Delete Anchor Point Tool", "Ferramenta Excluir ponto de ancoragem"), + ("Delete Character Style", "Excluir estilo de caractere"), + ("Delete Character Style…", "Excluir estilo de caractere…"), + ("Delete Document Preset", "Excluir predefinição de documento"), + ("Delete Paragraph Style…", "Excluir estilo de parágrafo…"), + ("Delete Preset", "Excluir predefinição"), + ("Delete Type from Path", "Excluir texto do demarcador"), + ("Delete the character style \"{name}\"?", "Excluir o estilo de caractere \"{name}\"?"), + ("Delete the paragraph style \"{name}\"?", "Excluir o estilo de parágrafo \"{name}\"?"), + ("DesignCraft Website", "Site do DesignCraft"), + ("DesignCraft on GitHub", "DesignCraft no GitHub"), + ("DesignCraft page", "Página do DesignCraft"), + ("Detect Edges", "Detectar bordas"), + ("Differs from this document", "Difere deste documento"), + ("Digits:", "Dígitos:"), + ("Direct Selection Tool", "Ferramenta Seleção direta"), + ("Discretionary Hyphen", "Hífen opcional"), + ("Display name", "Nome de exibição"), + ("Distance from Parent:", "Distância da base:"), + ("Distribute Rows Evenly", "Distribuir linhas uniformemente"), + ("Document CMYK", "CMYK do documento"), + ("Document Chapter Numbering", "Numeração de capítulos do documento"), + ("Document Endnote Options", "Opções de notas de fim do documento"), + ("Document Footnote Options", "Opções de notas de rodapé do documento"), + ("Document Name", "Nome do documento"), + ("Document RGB", "RGB do documento"), + ("Don't Save", "Não salvar"), + ("Double Circle", "Círculo duplo"), + ("Double Left Quotation Marks", "Aspas duplas de abertura"), + ("Double Right Quotation Marks", "Aspas duplas de fechamento"), + ("Drag Rows or Columns", "Arrastar linhas ou colunas"), + ("Drop Caps", "Capitulares"), + ("Drop Chars", "Caracteres capitulares"), + ("Drop Lines", "Linhas capitulares"), + ("Edit/Interface Language", "Editar/Idioma da interface"), + ("Edit/Spelling", "Editar/Ortografia"), + ("Edit/Transparency Blend Space", "Editar/Espaço de mesclagem de transparência"), + ("Edit/Transparency Flattener Presets", "Editar/Predefinições de achatamento de transparência"), + ("Ellipse Frame Tool", "Ferramenta Quadro elíptico"), + ("Ellipse Tool", "Ferramenta Elipse"), + ("Ellipsis", "Reticências"), + ("Em Box Bottom/Left", "Base/esquerda do quadratim"), + ("Em Box Center", "Centro do quadratim"), + ("Em Box Center (Down)", "Centro do quadratim (abaixo)"), + ("Em Box Top/Right", "Topo/direita do quadratim"), + ("Em Dash", "Travessão"), + ("Email Address:", "Endereço de e-mail:"), + ("En Dash", "Meia-risca"), + ("Entry Style:", "Estilo da entrada:"), + ("Equal Aki", "Aki igual"), + ( + "Equal fixed heights for the selected rows; cell text may become overset.", + "Alturas fixas iguais para as linhas selecionadas; o texto das células pode ficar excedente.", + ), + ("Erase Tool", "Ferramenta Apagar"), + ("Even Page Break", "Quebra para página par"), + ("Export EPUB", "Exportar EPUB"), + ("Export EPUB (Fixed Layout)", "Exportar EPUB (layout fixo)"), + ("Export EPUB (Reflowable)", "Exportar EPUB (reflowable)"), + ("Export HTML", "Exportar HTML"), + ("Export IDML", "Exportar IDML"), + ("Export PDF (Interactive)", "Exportar PDF (interativo)"), + ("Export Page as PNG", "Exportar página como PNG"), + ("Export PowerPoint…", "Exportar PowerPoint…"), + ("Export Text", "Exportar texto"), + ("Export XML", "Exportar XML"), + ( + "Export a PDF, IDML or package to share — no cloud account needed.", + "Exporte um PDF, IDML ou pacote para compartilhar — sem precisar de conta na nuvem.", + ), + ("Extract Color Theme", "Extrair tema de cores"), + ("Eyedropper Tool", "Ferramenta Conta-gotas"), + ("Figure Space", "Espaço de algarismo"), + ("File/Export", "Arquivo/Exportar"), + ("Filters:", "Filtros:"), + ("Find fill:", "Localizar preenchimento:"), + ("First commit", "Primeiro commit"), + ("Fisheye", "Olho de peixe"), + ("Fit to Width", "Ajustar à largura"), + ("Flush Space", "Espaço de alinhamento"), + ("Force", "Forçar"), + ("Forced Line Break", "Quebra de linha forçada"), + ("Formatting Affects Text", "A formatação afeta o texto"), + ("Found", "Encontrado"), + ("Frame", "Quadro"), + ("Frame Break", "Quebra de quadro"), + ("Free Transform Tool", "Ferramenta Transformação livre"), + ("Full Justify", "Justificado total"), + ("GREP", "GREP"), + ("Gap Tool", "Ferramenta Espaço"), + ("Generate Index", "Gerar índice remissivo"), + ("Generate Live Caption", "Gerar legenda dinâmica"), + ("Georgian", "Georgiano"), + ("Get Cell Stroke", "Obter traçado da célula"), + ("Get Tabs", "Obter tabulações"), + ("Global Light", "Luz global"), + ("Grab bag", "Lista corrida"), + ("Gradient Feather Tool", "Ferramenta Esmaecimento em gradiente"), + ("Gradient Swatch Tool", "Ferramenta Amostra de gradiente"), + ("Graphic", "Gráfico"), + ("Grid Alignment:", "Alinhamento à grade:"), + ("Grid Settings", "Configurações de grade"), + ("Group Ruby", "Ruby de grupo"), + ("Group with", "Agrupar com"), + ("Gyoudori:", "Gyoudori:"), + ("Hair Space", "Espaço capilar"), + ("Hand Tool", "Ferramenta Mão"), + ("Hanging Type:", "Pontuação pendente:"), + ("Hard Kinsoku", "Kinsoku rígido"), + ("Hide Styles", "Ocultar estilos"), + ("High Contrast", "Alto contraste"), + ("High Resolution", "Alta resolução"), + ("I, II, III, IV...", "I, II, III, IV..."), + ("ICF Bottom", "Base do ICF"), + ("ICF Top", "Topo do ICF"), + ("Import Warnings", "Avisos de importação"), + ("Import XML", "Importar XML"), + ("Import cancelled: the originating document has closed", "Importação cancelada: o documento de origem foi fechado"), + ("Include Paragraph Styles:", "Incluir estilos de parágrafo:"), + ("Include Prefix when Numbering Pages", "Incluir prefixo ao numerar páginas"), + ("Include Roman Characters", "Incluir caracteres latinos"), + ("Indent to Here", "Recuar até aqui"), + ("Ink Limit 300%", "Limite de tinta 300%"), + ("Insert Anchored Object", "Inserir objeto ancorado"), + ("Insert Cross-Reference", "Inserir referência cruzada"), + ("Insert Field", "Inserir campo"), + ("Insert Math Expression", "Inserir expressão matemática"), + ("Internet Standard RGB (sRGB)", "RGB padrão da Internet (sRGB)"), + ("Invalid panel layout; restored the default dock", "Layout de painéis inválido; o encaixe padrão foi restaurado"), + ("Japanese Composition Settings", "Configurações de composição japonesa"), + ("Join the ArtCraft Discord", "Entrar no Discord do ArtCraft"), + ("Kenten Color", "Cor do kenten"), + ("Kenten Settings", "Configurações de kenten"), + ("Kenten Type:", "Tipo de kenten:"), + ("Kerning/Tracking Step", "Incremento de kerning/espaçamento"), + ("Kerning/Tracking:", "Kerning/espaçamento:"), + ("Key Object", "Objeto-chave"), + ("Kinsoku Set:", "Conjunto kinsoku:"), + ("Kinsoku Type:", "Tipo de kinsoku:"), + ("Korean Kinsoku", "Kinsoku coreano"), + ("Large Sample Text Size", "Tamanho de amostra grande"), + ("Last commit", "Último commit"), + ("Layout/Index", "Layout/Índice remissivo"), + ("Layout/Pages", "Layout/Páginas"), + ("Leading Model:", "Modelo de entrelinha:"), + ("Left/Right Position:", "Posição esquerda/direita:"), + ("Left/Top", "Esquerda/topo"), + ("Legacy Macintosh RGB", "RGB Macintosh antigo"), + ("Light", "Claro"), + ("Line Break Options", "Opções de quebra de linha"), + ("Line Spacing:", "Espaçamento entre linhas:"), + ("Line Tool", "Ferramenta Linha"), + ("Line delta", "Diferença de linhas"), + ("Lines +/−", "Linhas +/−"), + ("Lines added", "Linhas adicionadas"), + ("Lines deleted", "Linhas excluídas"), + ("Lines:", "Linhas:"), + ("List Composite Fonts", "Listar fontes compostas"), + ("List Styles in File", "Listar estilos do arquivo"), + ("Load All Text Styles…", "Carregar todos os estilos de texto…"), + ("Load Character Styles…", "Carregar estilos de caractere…"), + ("Load DTD", "Carregar DTD"), + ("Load Paragraph Styles…", "Carregar estilos de parágrafo…"), + ("Load Styles", "Carregar estilos"), + ("Load Styles…", "Carregar estilos…"), + ("Load Swatches", "Carregar amostras"), + ("Loading fonts…", "Carregando fontes…"), + ("Low Resolution", "Baixa resolução"), + ("Magnification:", "Ampliação:"), + ("Margins:", "Margens:"), + ("Measure Tool", "Ferramenta Medida"), + ("Medium Dark", "Médio-escuro"), + ("Medium Light", "Médio-claro"), + ("Medium Resolution", "Resolução média"), + ("Medium Sample Text Size", "Tamanho de amostra médio"), + ("Menus", "Menus"), + ("Merged PRs", "PRs mesclados"), + ("Message:", "Mensagem:"), + ("Minimum Height", "Altura mínima"), + ("Minimum Scale:", "Escala mínima:"), + ("Minimum Width", "Largura mínima"), + ("Models", "Modelos"), + ("Mojikumi Set:", "Conjunto mojikumi:"), + ("Monitor RGB", "RGB do monitor"), + ("Monospaced", "Monoespaçada"), + ("Move Pages", "Mover páginas"), + ("Move Panel", "Mover painel"), + ("Move Tab", "Mover tabulação"), + ("N/A", "N/D"), + ("Name (A–Z)", "Nome (A–Z)"), + ("New Cell Style", "Novo estilo de célula"), + ("New Condition", "Nova condição"), + ("New Hyperlink", "Novo hiperlink"), + ("New Hyperlink Destination", "Novo destino de hiperlink"), + ("New Page Reference", "Nova referência de página"), + ("New Stroke Style", "Novo estilo de traço"), + ("New Table Style", "Novo estilo de tabela"), + ("Next Page Number", "Número da próxima página"), + ("No Adjustment", "Sem ajuste"), + ("No Line Breaks", "Sem quebras de linha"), + ("No contributor data was built into this copy.", "Nenhum dado de colaboradores foi incluído nesta cópia."), + ("No fonts match", "Nenhuma fonte corresponde"), + ("No matches", "Nenhuma correspondência"), + ("No model credits were built into this copy.", "Nenhum crédito de modelos foi incluído nesta cópia."), + ("Nonbreaking Hyphen", "Hífen inseparável"), + ("Nonbreaking Space", "Espaço inseparável"), + ("None (keep transparency)", "Nenhum (manter transparência)"), + ("Note Tool", "Ferramenta Nota"), + ("Numbering & Section Options", "Opções de numeração e de seção"), + ("Object Style", "Estilo de objeto"), + ("Object Style Options…", "Opções de estilo de objeto…"), + ("Object/Anchored Object", "Objeto/Objeto ancorado"), + ("Object/Arrange", "Objeto/Organizar"), + ("Object/Captions", "Objeto/Legendas"), + ("Object/Clipping Path", "Objeto/Demarcador de recorte"), + ("Object/Content", "Objeto/Conteúdo"), + ("Object/Convert Shape", "Objeto/Converter forma"), + ("Object/Effects", "Objeto/Efeitos"), + ("Object/Fitting", "Objeto/Ajuste"), + ("Object/Pathfinder", "Objeto/Pathfinder"), + ("Object/Paths", "Objeto/Demarcadores"), + ("Object/Select", "Objeto/Selecionar"), + ("Object/Transform", "Objeto/Transformar"), + ("Object/Transform Again", "Objeto/Transformar novamente"), + ("Odd Page Break", "Quebra para página ímpar"), + ("Offset from Parent", "Deslocamento em relação à base"), + ("OpenType font", "Fonte OpenType"), + ("Optical Margin Alignment", "Alinhamento óptico de margem"), + ("Organization:", "Organização:"), + ("Other Styles:", "Outros estilos:"), + ("PDF import cancelled: the originating document has closed", "Importação de PDF cancelada: o documento de origem foi fechado"), + ("Page Break", "Quebra de página"), + ("Page Number:", "Número da página:"), + ("Page Options", "Opções de página"), + ("Page Size:", "Tamanho da página:"), + ("Page Tool", "Ferramenta Página"), + ("Paragraph Return", "Fim de parágrafo"), + ("Paragraph Style", "Estilo de parágrafo"), + ("Paragraph Symbol", "Símbolo de parágrafo"), + ("Parent Character Spacing:", "Espaçamento dos caracteres base:"), + ("Parent's Font", "Fonte da base"), + ("Pen Tool", "Ferramenta Caneta"), + ("Pencil Tool", "Ferramenta Lápis"), + ("Per-Character Ruby", "Ruby por caractere"), + ("Picas", "Paicas"), + ("Points", "Pontos"), + ("Inches", "Polegadas"), + ("Millimeters", "Milímetros"), + ("Centimeters", "Centímetros"), + ("Ciceros", "Cíceros"), + ("Agates", "Ágatas"), + ("Pixels", "Pixels"), + ("Pin Bar Position", "Fixar posição da barra"), + ("Place with Import Options", "Inserir com opções de importação"), + ("Polygon Frame Tool", "Ferramenta Quadro poligonal"), + ("Polygon Tool", "Ferramenta Polígono"), + ("Preflight", "Preflight"), + ("Preflight Panel…", "Painel Preflight…"), + ("Presentation", "Apresentação"), + ("Preset Details", "Detalhes da predefinição"), + ("Preset Name", "Nome da predefinição"), + ("Press keys…", "Pressione as teclas…"), + ("Preview Change", "Visualizar alteração"), + ("Preview Record", "Visualizar registro"), + ("Previous Page Number", "Número da página anterior"), + ("Print Booklet", "Imprimir folheto"), + ("Prioritize Adjustment Amount", "Priorizar a quantidade de ajuste"), + ("Punctuation Space", "Espaço de pontuação"), + ("Push In First", "Primeiro para dentro"), + ("Push Out First", "Primeiro para fora"), + ("Push Out Only", "Somente para fora"), + ("Quarter Space", "Espaço de um quarto"), + ("Quick Apply", "Aplicação rápida"), + ("RGB:", "RGB:"), + ("Range:", "Intervalo:"), + ("Real name", "Nome real"), + ("Recent", "Recentes"), + ("Recent Files", "Arquivos recentes"), + ("Rectangle Frame Tool", "Ferramenta Quadro retangular"), + ("Rectangle Tool", "Ferramenta Retângulo"), + ("Redefine Character Style", "Redefinir estilo de caractere"), + ("Redefine Document Style", "Redefinir estilo do documento"), + ("Redefine Paragraph Style", "Redefinir estilo de parágrafo"), + ("Reference Point", "Ponto de referência"), + ("Registered Trademark Symbol", "Símbolo de marca registrada"), + ("Relink", "Vincular novamente"), + ("Relink to Folder", "Vincular novamente à pasta"), + ("Relinked {count}", "Vinculados novamente: {count}"), + ("Reload Fonts", "Recarregar fontes"), + ("Remove Data Source", "Remover fonte de dados"), + ("Remove Existing Ruler Guides", "Remover guias de régua existentes"), + ("Remove Field", "Remover campo"), + ("Remove Frame from Thread", "Remover quadro do encadeamento"), + ("Remove »", "Remover »"), + ("Rensuuji", "Rensuuji"), + ("Reorder Objects", "Reordenar objetos"), + ("Replace All", "Substituir tudo"), + ( + "Replace All updates this font throughout text and styles. Done keeps remaining fallback fonts.", + "Substituir tudo atualiza esta fonte em todo o texto e estilos. Concluir mantém as fontes substitutas restantes.", + ), + ("Replace Existing Table of Contents", "Substituir sumário existente"), + ("Replace with:", "Substituir por:"), + ("Report an Issue", "Relatar um problema"), + ("Report an issue", "Relatar um problema"), + ("Reset Bar Position", "Redefinir posição da barra"), + ("Resize Row or Column", "Redimensionar linha ou coluna"), + ("Resize panel window", "Redimensionar janela do painel"), + ("Resize panels", "Redimensionar painéis"), + ("Reverse the order", "Inverter a ordem"), + ("Right/Bottom", "Direita/base"), + ("Roman Baseline", "Linha de base latina"), + ("Roman Word Break", "Quebra de palavras latinas"), + ("Rotate Roman Characters in Vertical Text", "Girar caracteres latinos no texto vertical"), + ("Rotate Tool", "Ferramenta Girar"), + ("Ruby Color", "Cor do ruby"), + ("Ruby Font and Size", "Fonte e tamanho do ruby"), + ("Ruby Overhang:", "Projeção do ruby:"), + ("Ruby Placement and Spacing", "Posição e espaçamento do ruby"), + ("Ruby Type:", "Tipo de ruby:"), + ("Ruler Zero Point", "Ponto zero da régua"), + ("Same as Previous Document in the Book", "Igual ao documento anterior do livro"), + ("Sample", "Amostra"), + ("Sans Serif", "Sem serifa"), + ("Save As", "Salvar como"), + ("Save Document Preset", "Salvar predefinição de documento"), + ("Save Document Preset As:", "Salvar predefinição de documento como:"), + ("Save Preset", "Salvar predefinição"), + ("Save Swatches for Exchange", "Salvar amostras para intercâmbio"), + ("Save a Copy", "Salvar uma cópia"), + ("Saved", "Salvas"), + ("Saved Presets", "Predefinições salvas"), + ("Scale Tool", "Ferramenta Escala"), + ("Scale for Descenders", "Escalar para descendentes"), + ("Scissors Tool", "Ferramenta Tesoura"), + ("Script", "Manuscrita"), + ("Scripts", "Scripts"), + ("Section Marker", "Marcador de seção"), + ("Section Marker:", "Marcador de seção:"), + ("Section Prefix:", "Prefixo da seção:"), + ("Section Symbol", "Símbolo de seção"), + ("Select Page", "Selecionar página"), + ("Select Paragraph", "Selecionar parágrafo"), + ("Select Sentence", "Selecionar frase"), + ("Select Story", "Selecionar artigo"), + ("Select Text Unit", "Selecionar unidade de texto"), + ( + "Select a placed video or sound (File › Place a .mp4, .mov, .mp3, .wav …).", + "Selecione um vídeo ou som inserido (Arquivo › Inserir um .mp4, .mov, .mp3, .wav …).", + ), + ("Select an object to color its fill or stroke.", "Selecione um objeto para colorir seu preenchimento ou traçado."), + ("Selected Text", "Texto selecionado"), + ("Selection Tool", "Ferramenta Seleção"), + ("Sent {count} page(s) to {printer}", "{count} página(s) enviada(s) para {printer}"), + ("Sentence case", "Primeira letra da frase em maiúscula"), + ("Serif", "Com serifa"), + ("Sesame Dot", "Ponto de gergelim"), + ("Set Composite Font", "Definir fonte composta"), + ("Set OpenType Features", "Definir recursos OpenType"), + ("Shatai", "Shatai"), + ("Shear Tool", "Ferramenta Distorcer"), + ("Show Recently Added", "Mostrar adicionadas recentemente"), + ("Show Similar Fonts", "Mostrar fontes semelhantes"), + ("Show Styles", "Mostrar estilos"), + ("Show the Typography panel", "Mostrar o painel Tipografia"), + ("Show/Hide Document Grid", "Mostrar/ocultar grade do documento"), + ("Shrink Ruby Width Automatically", "Reduzir automaticamente a largura do ruby"), + ("Similar to {family}", "Semelhantes a {family}"), + ("Simplified Chinese Kinsoku", "Kinsoku de chinês simplificado"), + ("Simulate Paper Color", "Simular cor do papel"), + ("Single Left Quotation Mark", "Aspa simples de abertura"), + ("Single Right Quotation Mark", "Aspa simples de fechamento"), + ("Sixth Space", "Espaço de um sexto"), + ("Slab Serif", "Serifa quadrada"), + ("Slug:", "Área de informações:"), + ("Small Black Circle", "Círculo preto pequeno"), + ("Small Sample Text Size", "Tamanho de amostra pequeno"), + ("Small White Circle", "Círculo branco pequeno"), + ("Smart Guide Options", "Opções de guias inteligentes"), + ("Smooth Tool", "Ferramenta Suavizar"), + ("Soft Kinsoku", "Kinsoku flexível"), + ("Sort Entries in Alphabetical Order", "Classificar entradas em ordem alfabética"), + ("Start #", "Nº inicial"), + ("Start Chapter Numbering at:", "Iniciar numeração de capítulos em:"), + ("Start Page Numbering at:", "Iniciar numeração de páginas em:"), + ("Start Section", "Iniciar seção"), + ("Step and Repeat", "Passo e repetição"), + ("Stop Preview", "Parar visualização"), + ("Story Column Direction", "Direção das colunas do artigo"), + ("Story Editor — {count} words", "Editor de artigo — {count} palavra(s)"), + ("Story {story} ← story {parent}", "Artigo {story} ← artigo {parent}"), + ("Straight Double Quotation Marks", "Aspas duplas retas"), + ("Straight Single Quotation Mark (Apostrophe)", "Aspa simples reta (apóstrofo)"), + ("Stroke Behind Fill", "Traçado atrás do preenchimento"), + ("Stroke Weight", "Peso do traçado"), + ("Styles in Table of Contents", "Estilos no sumário"), + ("Stylistic Set", "Conjunto estilístico"), + ("Subject:", "Assunto:"), + ("Subscript:", "Subscrito:"), + ("Superscript:", "Sobrescrito:"), + ("Swap Text Fill and Stroke", "Alternar preenchimento e traçado do texto"), + ("Symbol", "Símbolo"), + ("Table of Contents", "Sumário"), + ("Table/Convert Cell Type", "Tabela/Converter tipo de célula"), + ("Table/Delete", "Tabela/Excluir"), + ("Table/Insert", "Tabela/Inserir"), + ("Table/Select", "Tabela/Selecionar"), + ("Tate-chu-yoko Digits:", "Dígitos de tate-chu-yoko:"), + ("Tate-chu-yoko Settings", "Configurações de tate-chu-yoko"), + ("Text Anchor", "Âncora de texto"), + ("Text Color", "Cor do texto"), + ("Text:", "Texto:"), + ("The selected fonts have no OpenType features.", "As fontes selecionadas não têm recursos OpenType."), + ("Thin Space", "Espaço fino"), + ("Third Space", "Espaço de um terço"), + ( + "This document uses unavailable fonts. Choose replacements, or select Done to continue with fallback fonts.", + "Este documento usa fontes indisponíveis. Escolha outras fontes ou selecione Concluir para continuar com as fontes substitutas.", + ), + ("This page", "Esta página"), + ("This page is", "Esta página é"), + ( + "This story was edited in the layout: you'll be asked before those edits are replaced", + "Este artigo foi editado no layout: você será consultado antes que essas edições sejam substituídas", + ), + ("This style is in use. Text using it will be reassigned to:", "Este estilo está em uso. O texto que o usa será reatribuído a:"), + ("Thread Text Frames", "Encadear quadros de texto"), + ("Title Case", "Iniciais Maiúsculas"), + ("Title:", "Título:"), + ("To Body", "Para o corpo"), + ("To Footer", "Para o rodapé"), + ("To Header", "Para o cabeçalho"), + ("Trademark Symbol", "Símbolo de marca comercial"), + ("Traditional Chinese Kinsoku", "Kinsoku de chinês tradicional"), + ("Transform Again Individually", "Transformar novamente individualmente"), + ("Transform Sequence Again", "Transformar sequência novamente"), + ("Transform Sequence Again Individually", "Transformar sequência novamente individualmente"), + ("TrueType font", "Fonte TrueType"), + ("Type Tool", "Ferramenta Texto"), + ( + "Type a word with ~ at each allowed break (ex~am~ple); without ~ the word is never hyphenated.", + "Digite uma palavra com ~ em cada quebra permitida (ex~em~plo); sem ~ a palavra nunca é hifenizada.", + ), + ("Type on a Path Options", "Opções de texto no demarcador"), + ("Type on a Path Tool", "Ferramenta Texto no demarcador"), + ("Type/Bulleted and Numbered Lists", "Tipo/Listas com marcadores e numeradas"), + ("Type/Change Case", "Tipo/Alterar maiúsculas/minúsculas"), + ("Type/Hyperlinks & Cross-References", "Tipo/Hiperlinks e referências cruzadas"), + ("Type/Insert Break Character", "Tipo/Inserir caractere de quebra"), + ("Type/Insert Special Character/Hyphens and Dashes", "Tipo/Inserir caractere especial/Hifens e travessões"), + ("Type/Insert Special Character/Markers", "Tipo/Inserir caractere especial/Marcadores"), + ("Type/Insert Special Character/Other", "Tipo/Inserir caractere especial/Outros"), + ("Type/Insert Special Character/Quotation Marks", "Tipo/Inserir caractere especial/Aspas"), + ("Type/Insert Special Character/Symbols", "Tipo/Inserir caractere especial/Símbolos"), + ("Type/Insert White Space", "Tipo/Inserir espaço"), + ("Type/Proof Setup", "Tipo/Configuração de prova"), + ("Type/Rotate Spread", "Tipo/Girar spread"), + ("Type/Separations Preview", "Tipo/Visualização de separações"), + ("Type/Story Direction", "Tipo/Direção do texto"), + ("Type/Text Variables", "Tipo/Variáveis de texto"), + ("Type/Track Changes", "Tipo/Controlar alterações"), + ("Type/Type on a Path", "Tipo/Texto no demarcador"), + ("URL:", "URL:"), + ("Unassigned", "Não atribuído"), + ("Unlimited", "Ilimitado"), + ("Unsaved Changes", "Alterações não salvas"), + ("Up/Down Position:", "Posição acima/abaixo:"), + ("Update Data Source", "Atualizar fonte de dados"), + ("Use Document Style Definition", "Usar a definição de estilo do documento"), + ("Use OpenType Pro Ruby Glyphs", "Usar glifos ruby do OpenType Pro"), + ("Use Paragraph Gyoudori", "Usar gyoudori do parágrafo"), + ("Username", "Nome de usuário"), + ("Validate from Root Element", "Validar a partir do elemento raiz"), + ("Variable font", "Fonte variável"), + ("Vertical Type Tool", "Ferramenta Texto vertical"), + ("Vertical Type on a Path Tool", "Ferramenta Texto vertical no demarcador"), + ("View/Display Performance", "Exibir/Desempenho de exibição"), + ("View/Extras", "Exibir/Extras"), + ("View/Grids & Guides", "Exibir/Grades e guias"), + ("View/Proof Setup", "Exibir/Configuração de prova"), + ("View/Rotate Spread", "Exibir/Girar spread"), + ("View/Screen Mode", "Exibir/Modo de tela"), + ("View/Separations Preview", "Exibir/Visualização de separações"), + ("View/Structure", "Exibir/Estrutura"), + ("Warichu", "Warichu"), + ("Warichu Settings", "Configurações de warichu"), + ("Warichu Size:", "Tamanho do warichu:"), + ("White Circle", "Círculo branco"), + ("White Sesame Dot", "Ponto de gergelim branco"), + ("White Triangle", "Triângulo branco"), + ("Window/Arrange", "Janela/Organizar"), + ("Window/Interactive", "Janela/Interativo"), + ("Window/Interface Color Theme", "Janela/Tema de cores da interface"), + ("Window/Output", "Janela/Saída"), + ("Window/Panels", "Janela/Painéis"), + ("Window/Type & Tables", "Janela/Texto e tabelas"), + ("Window/Utilities", "Janela/Utilitários"), + ("Working CMYK", "CMYK de trabalho"), + ("Your Recent Items", "Seus itens recentes"), + ("Zoom Tool", "Ferramenta Zoom"), + ("[No Language]", "[Nenhum idioma]"), + ("a, b, c, d...", "a, b, c, d..."), + ("dropcap", "capitular"), + ("i, ii, iii, iv...", "i, ii, iii, iv..."), + ("image editing", "edição de imagens"), + ("layer", "camada"), + ("layers", "camadas"), + ("lowercase", "minúsculas"), + ("motion graphics and visual effects", "motion graphics e efeitos visuais"), + ("photo library and raw development", "biblioteca de fotos e revelação raw"), + ("reading, organizing and protecting PDFs", "leitura, organização e proteção de PDFs"), + ("the default printer", "a impressora padrão"), + ("vector illustration", "ilustração vetorial"), + ("video editing, color and sound", "edição de vídeo, cor e som"), + ("{contributors} contributors · {commits} commits", "{contributors} colaboradores · {commits} commits"), + ("{count} conflict(s): {names}", "{count} conflito(s): {names}"), + ("{count} match(es)", "{count} correspondência(s)"), + ("{count} replacement(s) made", "{count} substituição(ões) feita(s)"), + ("{label}: {name} (double-click: Color Picker)", "{label}: {name} (clique duplo: Seletor de cores)"), + ( + "{name}: import cancelled while a dialog is open; choose the file again", + "{name}: importação cancelada enquanto uma caixa de diálogo estava aberta; escolha o arquivo novamente", + ), + ("{name}: {count} step(s) done", "{name}: {count} etapa(s) concluída(s)"), + ("« Add", "« Adicionar"), + ( + "“{}” has been edited in this layout. Updating replaces those edits with the text from the file.", + "“{}” foi editado neste layout. A atualização substitui essas edições pelo texto do arquivo.", + ), + ("“{}” has changes that are not saved. Save them before closing?", "“{}” tem alterações não salvas. Salvá-las antes de fechar?"), + ("Close Window", "Fechar janela"), + ("Deselect Guides", "Desmarcar guias"), + ("Import InDesign Shortcut Set", "Importar conjunto de atalhos do InDesign"), + ( + "Imported {count} shortcuts from “{set}”; {unmatched} items not matched, {unreadable} unreadable.", + "{count} atalho(s) importado(s) de “{set}”; {unmatched} item(ns) sem correspondência, {unreadable} ilegível(is).", + ), + ("Maximize/Restore Window", "Maximizar/restaurar janela"), + ("Minimize Window", "Minimizar janela"), + ("Move Guides", "Mover guias"), + ("Move Window", "Mover janela"), + ("PRs", "PRs"), + ("Resize Window", "Redimensionar janela"), + ("Select Guide", "Selecionar guia"), + // Strings main added from 2026-10-23 to 2026-11-04 (Keyboard Shortcuts sets, panel docking, + // OpenType features, page presets, the Package summary, command parameter names). + ("(cycles)", "(alterna)"), + ("(modified)", "(modificado)"), + ("+Bin", "+Bin"), + ("+LOC", "+LOC"), + ("180°", "180°"), + ("A command can have at most {n} shortcuts", "Um comando pode ter no máximo {n} atalhos"), + ("A set with this name exists", "Já existe um conjunto com este nome"), + ("Action", "Ação"), + ("Add a shortcut to {label}", "Adicionar um atalho a {label}"), + ("Adjust layout", "Ajustar layout"), + ("Advance seconds", "Segundos para avançar"), + ("Affix in", "Afixos em"), + ("All Commands", "Todos os comandos"), + ("All Inks", "Todas as tintas"), + ("Allow", "Permitir"), + ("Also used by {label}", "Também usado por {label}"), + ("Alt", "Alt"), + ("Anchor", "Âncora"), + ("Application", "Aplicativo"), + ("Approximated", "Aproximado"), + ("Artifact", "Artefato"), + ("Asset", "Recurso"), + ("Assets", "Recursos"), + ("Assign", "Atribuir"), + ("Assign to Selected", "Atribuir ao selecionado"), + ("Assign {chord} to {label}", "Atribuir {chord} a {label}"), + ("At end", "No final"), + ("Attrs", "Atributos"), + ("Author", "Autor"), + ("Auto fit", "Ajuste automático"), + ("Auto size", "Dimensionamento automático"), + ("Auto size reference", "Referência do dimensionamento automático"), + ("Auto-Collapse Iconic Panels", "Recolher automaticamente painéis em ícones"), + ("Axis", "Eixo"), + ("Bands", "Faixas"), + ("Based on:", "Baseado em:"), + ("Bookmarks panel", "Painel Indicadores"), + ("Built-in sets cannot be changed", "Conjuntos integrados não podem ser alterados"), + ("Cancel Import", "Cancelar importação"), + ("Cancel the new shortcut", "Cancelar o novo atalho"), + ("Caps Lock", "Caps Lock"), + ("Case", "Caixa"), + ("Changed", "Alterado"), + ("Check for Updates…", "Verificar atualizações…"), + ("Choose a command…", "Escolher um comando…"), + ("Click a key to see its shortcuts", "Clique em uma tecla para ver seus atalhos"), + ("Close Other Panels in Group", "Fechar outros painéis do grupo"), + ("Close panel window", "Fechar janela do painel"), + ("Colors and Inks: {process} process, {spot} spot", "Cores e tintas: {process} de escala, {spot} especiais"), + ("Column gutter", "Medianiz da coluna"), + ("Column width", "Largura da coluna"), + ("Columns kind", "Tipo de colunas"), + ("Command", "Comando"), + ("Command for {item}", "Comando para {item}"), + ("Commands", "Comandos"), + ("Conflicts", "Conflitos"), + ("Context:", "Contexto:"), + ("Continue across stories", "Continuar entre artigos"), + ("Copies", "Cópias"), + ("Copy Report", "Copiar relatório"), + ("Corners", "Cantos"), + ("Cover image", "Imagem de capa"), + ("Ctrl", "Ctrl"), + ("Current shortcuts", "Atalhos atuais"), + ("Current shortcuts:", "Atalhos atuais:"), + ("Currently assigned to:", "Atribuído atualmente a:"), + ("Default: {chord}", "Padrão: {chord}"), + ("Definition", "Definição"), + ("Delete Points", "Excluir pontos"), + ("Delete Surrounding Text", "Excluir texto ao redor"), + ("Delete the set “{set}”?", "Excluir o conjunto “{set}”?"), + ("Detail pane size", "Tamanho do painel de detalhes"), + ("Dir", "Pasta/direção"), + ("Dry run", "Simulação"), + ("EPUB Split Document", "Dividir documento EPUB"), + ("Embed fonts", "Embutir fontes"), + ("Embedded images: {embedded}", "Imagens embutidas: {embedded}"), + ("End", "Fim"), + ("Expand", "Expandir"), + ("Expand Panels", "Expandir painéis"), + ("Export…", "Exportar…"), + ("Extension", "Extensão"), + ("Facing pages", "Páginas frente a frente"), + ("Family", "Família"), + ("File Info", "Informações do arquivo"), + ("File Info…", "Informações do arquivo…"), + ("Filter:", "Filtro:"), + ("First baseline", "Primeira linha de base"), + ("First baseline min", "Mín. da primeira linha de base"), + ("Fit to", "Ajustar a"), + ("Fixed Keys", "Teclas fixas"), + ("Fixed layout", "Layout fixo"), + ("Flatten", "Achatar"), + ("Float Tab Group", "Flutuar grupo de guias"), + ("Font size", "Tamanho da fonte"), + ("Fonts: {used} in use, {missing} unavailable", "Fontes: {used} em uso, {missing} indisponíveis"), + ("Format", "Formato"), + ("From", "De"), + ("Full screen", "Tela cheia"), + ("Go to Conflict", "Ir para o conflito"), + ("Grep", "GREP"), + ("Group Tab Group with", "Agrupar grupo de guias com"), + ("Heading", "Intertítulo"), + ("Heading style", "Estilo de intertítulo"), + ("Hidden", "Oculto"), + ("Historical Forms", "Formas históricas"), + ("Horizontal Kana", "Kana horizontal"), + ("Identifier", "Identificador"), + ("Idml", "IDML"), + ("Ids", "IDs"), + ("Import", "Importar"), + ("Import as New Set", "Importar como novo conjunto"), + ("Import “{set}”", "Importar “{set}”"), + ("Imported", "Importado"), + ("Imported as “{set}”", "Importado como “{set}”"), + ("Import…", "Importar…"), + ("Include inside edges", "Incluir bordas internas"), + ("Include prefix", "Incluir prefixo"), + ("Instructions", "Instruções"), + ("Intent", "Finalidade"), + ("Justification Alternates", "Alternativas de justificação"), + ("Keep Both", "Manter ambos"), + ("Keep within column", "Manter dentro da coluna"), + ("Key: {key}", "Tecla: {key}"), + ("Keyboard", "Teclado"), + ("Keyboard Shortcuts (JSON)", "Atalhos de teclado (JSON)"), + ("Keyboard: US", "Teclado: EUA"), + ("Keyboard: US (macOS)", "Teclado: EUA (macOS)"), + ("Kind", "Tipo"), + ("Label", "Rótulo"), + ("Latex", "LaTeX"), + ("Layout page", "Página de layout"), + ("Legal", "Legal"), + ("Letter", "Carta"), + ("Letter - Half", "Carta - metade"), + ("Line breaks", "Quebras de linha"), + ( + "Links and Images: {found} linked, {modified} changed, {missing} not found", + "Links e imagens: {found} vinculados, {modified} alterados, {missing} não encontrados", + ), + ("Load cursor", "Cursor carregado"), + ("Localized Forms", "Formas localizadas"), + ("Lock Workspace", "Bloquear área de trabalho"), + ("Mark Positioning", "Posicionamento de marcas"), + ("Marker", "Marcador"), + ("Marks", "Marcas"), + ("Matched without change", "Correspondido sem alteração"), + ("Maximize Frame", "Maximizar painel"), + ("Message", "Mensagem"), + ("Minimum height", "Altura mínima"), + ("Minimum width", "Largura mínima"), + ("Missing only", "Somente ausentes"), + ("Mobile 1080 × 1920", "Celular 1080 × 1920"), + ("Mobile 390 × 844", "Celular 390 × 844"), + ("Mode", "Modo"), + ("Modifier on", "Modificador em"), + ("More", "Mais"), + ("Move Panel to New Window", "Mover painel para nova janela"), + ("Move panel column", "Mover coluna de painéis"), + ("Move panel window", "Mover janela do painel"), + ("Move tab group", "Mover grupo de guias"), + ("New Set…", "Novo conjunto…"), + ("New shortcut:", "Novo atalho:"), + ("New shortcut: {chord}", "Novo atalho: {chord}"), + ("Not assigned", "Não atribuído"), + ("Not changed", "Não alterado"), + ("Not matched", "Sem correspondência"), + ("Nothing uses this key", "Nada usa esta tecla"), + ("Now used by {label}", "Agora usado por {label}"), + ("Number", "Número"), + ("Object point", "Ponto do objeto"), + ("Object/Convert Point", "Objeto/Converter ponto"), + ("Optical Margin Size", "Tamanho da margem óptica"), + ("Option", "Option"), + ("Org", "Origem"), + ("PDF/X-1a:2003", "PDF/X-1a:2003"), + ("Page break before", "Quebra de página antes"), + ("Page layout", "Layout da página"), + ("Panel or context", "Painel ou contexto"), + ("Para style", "Estilo de parágrafo"), + ("Paragraphs", "Parágrafos"), + ("Parent", "Página principal"), + ("Parent Page Size", "Tamanho da página principal"), + ("Pattern", "Padrão de traço"), + ("Pdf", "PDF"), + ("Pdf crop", "Corte do PDF"), + ("Pdf page", "Página do PDF"), + ("Phone", "Telefone"), + ("Pos", "Pos."), + ("Postcard", "Cartão-postal"), + ("Prefix", "Prefixo"), + ("Primary text frame", "Quadro de texto principal"), + ("Printer", "Impressora"), + ("Proportional Metrics", "Métricas proporcionais"), + ("Rasterize", "Rasterizar"), + ("Rect", "Retângulo"), + ("Redefine styles", "Redefinir estilos"), + ("Ref", "Ref."), + ("Ref char style", "Estilo de caractere da ref."), + ("Ref position", "Posição da ref."), + ("Remove existing", "Remover existentes"), + ("Remove {chord} from {label}", "Remover {chord} de {label}"), + ("Rename…", "Renomear…"), + ("Reset All", "Redefinir tudo"), + ("Reset All…", "Redefinir tudo…"), + ("Restart", "Reiniciar"), + ("Restore Frame Size", "Restaurar tamanho do painel"), + ("Restore every default shortcut in this set?", "Restaurar todos os atalhos padrão deste conjunto?"), + ("Restore the default for {label}", "Restaurar o padrão de {label}"), + ("Revert Set", "Reverter conjunto"), + ("Roman Italics", "Itálico romano"), + ("Row gutter", "Medianiz entre linhas"), + ("Rule", "Linha"), + ("Run in", "Em sequência"), + ("Save changes to “{set}”?", "Salvar as alterações em “{set}”?"), + ("Scope", "Escopo"), + ("Search by key", "Pesquisar por tecla"), + ("Section headings", "Títulos de seção"), + ("Select Parent Page", "Selecionar página principal"), + ("Select a command first", "Selecione um comando primeiro"), + ("Select a command to see and change its shortcuts", "Selecione um comando para ver e alterar seus atalhos"), + ("Separator", "Separador"), + ("Set name:", "Nome do conjunto:"), + ("Set:", "Conjunto:"), + ("Shape", "Forma"), + ("Shift", "Shift"), + ("Shortcut", "Atalho"), + ("Shortcut Sets", "Conjuntos de atalhos"), + ("Show:", "Mostrar:"), + ("Skipped", "Pulados"), + ("Space", "Espaço"), + ("Space after", "Espaço depois"), + ("Space before", "Espaço antes"), + ("Space between", "Espaço entre"), + ("Span columns", "Abranger colunas"), + ("Start", "Início"), + ("Start at", "Começar em"), + ("Start number", "Número inicial"), + ("Start page", "Página inicial"), + ("Story Options", "Opções de artigo"), + ("Stylistic Alternates", "Alternativas estilísticas"), + ("Subject", "Assunto"), + ("Subpath", "Subdemarcador"), + ("Suffix", "Sufixo"), + ("Suggestions", "Sugestões"), + ("Suggestions ({n})", "Sugestões ({n})"), + ("Summarize…", "Resumir…"), + ("Super", "Super"), + ("Tablet 1024 × 1366", "Tablet 1024 × 1366"), + ("Tabloid", "Tabloide"), + ("Tagged", "Com tags"), + ("Take It", "Usar este"), + ("Take It and Go to Conflict", "Usar este e ir para o conflito"), + ("Taken from other commands", "Retirados de outros comandos"), + ("Target", "Destino"), + ("The file is too large", "O arquivo é grande demais"), + ("The name is empty, too long or has control characters", "O nome está vazio, é longo demais ou contém caracteres de controle"), + ("The scope {scope} is unknown", "O escopo {scope} é desconhecido"), + ("The set was not found", "O conjunto não foi encontrado"), + ("There are too many sets", "Há conjuntos demais"), + ("This command is unknown", "Este comando é desconhecido"), + ("This file is from a newer version (format {n})", "Este arquivo é de uma versão mais recente (formato {n})"), + ("This is not a craft-keymap file", "Este não é um arquivo craft-keymap"), + ("This is not a shortcut set file", "Este não é um arquivo de conjunto de atalhos"), + ("Threshold", "Limiar"), + ("Title", "Título"), + ("To family", "Para a família"), + ("To spread", "Para a página dupla"), + ("To style", "Para o estilo"), + ("Toc title", "Título do sumário"), + ("Toggle Text and Cell Selection", "Alternar seleção de texto e de célula"), + ("Tolerance", "Tolerância"), + ("Too many shortcuts are assigned", "Há atalhos demais atribuídos"), + ("Tools", "Ferramentas"), + ("Topics", "Tópicos"), + ("Transparency Flattener", "Achatamento de transparência"), + ("Type…", "Tipo…"), + ("Unreadable", "Ilegível"), + ("Url", "URL"), + ("Use", "Usar"), + ("Use Default", "Usar padrão"), + ("Use minimum height", "Usar altura mínima"), + ("Use minimum width", "Usar largura mínima"), + ("Value", "Valor"), + ("Visible", "Visível"), + ("Web 1024 × 768", "Web 1024 × 768"), + ("Web 1366 × 768", "Web 1366 × 768"), + ("Web 1920 × 1080", "Web 1920 × 1080"), + ("Will change", "Será alterado"), + ("Win", "Win"), + ("With Shortcut", "Com atalho"), + ("Word", "Palavra"), + ("X offset", "Deslocamento X"), + ("X relative", "X relativo a"), + ("Y offset", "Deslocamento Y"), + ("empty shortcut", "atalho vazio"), + ("in a context that is not imported", "em um contexto que não é importado"), + ("key sequences are not supported", "sequências de teclas não são suportadas"), + ("line {n}", "linha {n}"), + ("modifier {key} given twice", "modificador {key} informado duas vezes"), + ("more than one command fits", "mais de um comando corresponde"), + ("no command has this name", "nenhum comando tem este nome"), + ("numeric keypad key read as main key", "tecla do teclado numérico lida como tecla principal"), + ("only a command of the other kind fits (tool or menu command)", "só corresponde um comando do outro tipo (ferramenta ou comando de menu)"), + ("press keys", "pressione as teclas"), + ("reserved by the system", "reservado pelo sistema"), + ("taken by a later entry", "ocupado por uma entrada posterior"), + ("taken by {label}", "ocupado por {label}"), + ("the scope is unknown", "o escopo é desconhecido"), + ("the scope name is not valid", "o nome do escopo não é válido"), + ("the set's shortcuts could not be added", "os atalhos do conjunto não puderam ser adicionados"), + ("the shortcut has no key", "o atalho não tem tecla"), + ("the shortcut is too long", "o atalho é longo demais"), + ("the shortcuts could not be removed", "os atalhos não puderam ser removidos"), + ("unknown key {key}", "tecla desconhecida {key}"), + ("unknown modifier {key}", "modificador desconhecido {key}"), + ("unsupported modifier {key}", "modificador não suportado {key}"), + ("{chord} (Default)", "{chord} (padrão)"), + ("{chord} (press again for a double press)", "{chord} (pressione de novo para um toque duplo)"), + ("{chord} ({scope})", "{chord} ({scope})"), + ("{chord} is reserved by the system", "{chord} é reservado pelo sistema"), + ("{chord} was removed from {label}", "{chord} foi removido de {label}"), + ("{chord}: {label}", "{chord}: {label}"), + ("{key}: listed more than once", "{key}: listado mais de uma vez"), + ("{key}: no command has this name", "{key}: nenhum comando tem este nome"), + ("{key}: part of the entry was dropped", "{key}: parte da entrada foi descartada"), + ("{key}: the scope in “{text}” is unknown", "{key}: o escopo em “{text}” é desconhecido"), + ("{key}: {text} is reserved by the system", "{key}: {text} é reservado pelo sistema"), + ("{key}: “{text}” is not a shortcut ({error})", "{key}: “{text}” não é um atalho ({error})"), + ("{label} (Changed)", "{label} (alterado)"), + ("{label} (cycles)", "{label} (alterna)"), + ("{label} ({scope})", "{label} ({scope})"), + ("{label} ({scope}, both work)", "{label} ({scope}, ambos funcionam)"), + ("{label} keeps its shortcuts (matched by a panel menu name)", "{label} mantém seus atalhos (correspondido pelo nome de um menu de painel)"), + ("{label}: press keys", "{label}: pressione as teclas"), + ("{label}: {chord}", "{label}: {chord}"), + ("{label}: {chord} (Now used by {holder})", "{label}: {chord} (agora usado por {holder})"), + ("{menu} Menu", "Menu {menu}"), + ("{n} command changed", "{n} comando alterado"), + ("{n} command will change", "{n} comando será alterado"), + ("{n} commands changed", "{n} comandos alterados"), + ("{n} commands will change", "{n} comandos serão alterados"), + ("{n} entries cut at a limit", "{n} entradas cortadas em um limite"), + ("{n} entries were ignored: too many commands", "{n} entradas foram ignoradas: comandos demais"), + ("{n} entry cut at a limit", "{n} entrada cortada em um limite"), + ("{n} entry was ignored: too many commands", "{n} entrada foi ignorada: comandos demais"), + ("{n} item could not be read", "{n} item não pôde ser lido"), + ("{n} item not matched", "{n} item sem correspondência"), + ("{n} item without a shortcut", "{n} item sem atalho"), + ("{n} items could not be read", "{n} itens não puderam ser lidos"), + ("{n} items not matched", "{n} itens sem correspondência"), + ("{n} items without a shortcut", "{n} itens sem atalho"), + ("{n} key read approximately", "{n} tecla lida aproximadamente"), + ("{n} keys read approximately", "{n} teclas lidas aproximadamente"), + ("{n} saved shortcut could not be used", "{n} atalho salvo não pôde ser usado"), + ("{n} saved shortcuts could not be used", "{n} atalhos salvos não puderam ser usados"), + ("{n} shortcut also works in another scope", "{n} atalho também funciona em outro escopo"), + ("{n} shortcut is assigned more than once", "{n} atalho está atribuído mais de uma vez"), + ("{n} shortcuts also work in another scope", "{n} atalhos também funcionam em outro escopo"), + ("{n} shortcuts are assigned more than once", "{n} atalhos estão atribuídos mais de uma vez"), + ("{panel} Panel", "Painel {panel}"), + ("{title} ({n})", "{title} ({n})"), + ("{title}: {set}", "{title}: {set}"), + ("ΔLOC", "ΔLOC"), + ("−Bin", "−Bin"), + ("−LOC", "−LOC"), + ("⚠ {chord} is used by {label}", "⚠ {chord} é usado por {label}"), ]; diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index b676a0c5f..32aecd9e7 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -466,8 +466,18 @@ fn interface_strings() -> HashSet<&'static str> { keys.extend(crate::credits::SortKey::ALL.iter().flat_map(|key| [key.label().0, key.label().1])); // Docking chrome labels reach `tr` through craft-ui's localizer. keys.extend(crate::panel_docking::DOCK_LABELS.iter().map(|(_, english)| *english)); + // File › New's Units list passes each unit's name to `tr`. + keys.extend(crate::new_document::NEW_DOCUMENT_UNITS.map(|unit| unit.label())); // UI labels passed to `tr` that no other catalog has yet. keys.extend([ + "Auto-Sizing", + "Color Theme", + "Imported {count} shortcuts from “{set}”; {unmatched} items not matched, {unreadable} unreadable.", + "Minimum Height", + "Minimum Width", + "No Line Breaks", + "Reference Point", + "This document uses unavailable fonts. Choose replacements, or select Done to continue with fallback fonts.", "180°", "Create Links When Placing Text Files", "Delete Character Style…", diff --git a/crates/ui-egui/src/new_document.rs b/crates/ui-egui/src/new_document.rs index 0acdb36f4..195d9cb76 100644 --- a/crates/ui-egui/src/new_document.rs +++ b/crates/ui-egui/src/new_document.rs @@ -15,7 +15,7 @@ use crate::dialogs::Dialog; use crate::theme::{Tokens, semibold}; /// The Units list, as InDesign's New Document window has it. -const NEW_DOCUMENT_UNITS: [Unit; 8] = +pub(crate) const NEW_DOCUMENT_UNITS: [Unit; 8] = [Unit::Points, Unit::Picas, Unit::Inches, Unit::Millimeters, Unit::Centimeters, Unit::Ciceros, Unit::Agates, Unit::Pixels]; /// Tab key and English label. const TABS: [(&str, &str); 5] = [("recent", "Recent"), ("saved", "Saved"), ("print", "Print"), ("web", "Web"), ("mobile", "Mobile")]; diff --git a/docs/gaps.md b/docs/gaps.md index d74de3b04..addb0b679 100644 --- a/docs/gaps.md +++ b/docs/gaps.md @@ -1,6 +1,6 @@ # Where DesignCraft falls short of InDesign -> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-24 · **Change:** minor (placed graphic layer-option preservation and explicit rendering warnings; gap 16 shrunk: File › File Info; gap 16: Convert Variable to Text; gap 28 added: placed-PDF font repair remains after visible unembedded font detection, #909; gap 26 shrunk: autoflow fills the following pages before it adds pages at the end; gap 6 shrunk: Type › Reload Fonts reads fonts installed, edited or removed while running (#328); gap 3: Package links are relative, #340; gap 27 closed: the loaded text cursor threads into a frame inside a group (#1075); .indd and .indt open through indd-utils; gap 0 shrunk: text threads by hand; threading gaps added; Optical kerning from outlines (#181); gap 6: macOS lists fonts that font services and managers activate; shared print spooler; image clipping paths from IDML; Tabs panel listed as present (#343); book chapter update safety; gap 16: Based on Parent leftovers; bounded control click/drag input; swatches on placed greyscale and bitmap images) · **Target:** Adobe InDesign 2026 (21.6) +> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-11-04 · **Change:** minor (gap 21 shrunk: pt-BR translates the whole interface; placed graphic layer-option preservation and explicit rendering warnings; gap 16 shrunk: File › File Info; gap 16: Convert Variable to Text; gap 28 added: placed-PDF font repair remains after visible unembedded font detection, #909; gap 26 shrunk: autoflow fills the following pages before it adds pages at the end; gap 6 shrunk: Type › Reload Fonts reads fonts installed, edited or removed while running (#328); gap 3: Package links are relative, #340; gap 27 closed: the loaded text cursor threads into a frame inside a group (#1075); .indd and .indt open through indd-utils; gap 0 shrunk: text threads by hand; threading gaps added; Optical kerning from outlines (#181); gap 6: macOS lists fonts that font services and managers activate; shared print spooler; image clipping paths from IDML; Tabs panel listed as present (#343); book chapter update safety; gap 16: Based on Parent leftovers; bounded control click/drag input; swatches on placed greyscale and bitmap images) · **Target:** Adobe InDesign 2026 (21.6) Every known shortfall against InDesign 2026, one entry each, ranked by how much it stops an InDesign professional from doing real work. This is the work list: agents pick from the top. @@ -247,7 +247,7 @@ Kind: **F** feature · **U** UI/UX · **T** typography · **FF** file format · ### 21. Localization breadth (L) - **Missing:** Hindi, Indonesian, Korean, Vietnamese interfaces; ~17% of strings in the 83–85% - languages; 39% of pt-BR; native-speaker review for all. **Estimate:** 120–180 h. + languages; native-speaker review for all. **Estimate:** 120–180 h. **Doc:** [localization-parity.md](localization-parity.md) ### 22. InDesign scripting compatibility (E) @@ -278,6 +278,7 @@ Cue. These are excluded from every percentage. | Date | Change | Summary | |---|---|---| +| 2026-11-04 | trivial | Gap 21 shrunk: pt-BR translates 2,936 of 2,939 strings, all but three Control panel captions (61% before) | | 2026-10-22 | minor | Gap 26 shrunk: autoflow threads a frame per column on the pages that follow the story's last frame, then adds pages at the end of the document | | 2026-10-19 | minor | Gap 28 added for remaining placed-PDF font embedding, substitution or outlining; visible unembedded font detection now ships in PDF/X-4 export and `validate-pdf`, with invisible text exempt and operation- or depth-limited checks reported incomplete (#909) | | 2026-10-16 | minor | Gap 27 closed: the loaded text cursor threads into a text frame inside a group (#1075) | diff --git a/docs/localization-parity.md b/docs/localization-parity.md index 0e77995d4..b1b55d2fa 100644 --- a/docs/localization-parity.md +++ b/docs/localization-parity.md @@ -1,6 +1,6 @@ # Localization parity -> **Last reviewed:** 2026-10-11 · **Last updated:** 2026-11-04 · **Change:** minor (Esperanto text language; Hungarian interface catalog, bundled-font coverage and flyout regression checks; Swedish interface) · **Target:** Adobe InDesign 2026 (21.6) +> **Last reviewed:** 2026-10-11 · **Last updated:** 2026-11-04 · **Change:** minor (pt-BR catalog filled; Russian listed; Esperanto text language; Hungarian interface catalog, bundled-font coverage and flyout regression checks; Swedish interface) · **Target:** Adobe InDesign 2026 (21.6) Per-language status of the DesignCraft interface and of document typesetting in each script. Script-specific typesetting detail: [cjk.md](cjk.md), [cjk-typography.md](cjk-typography.md), @@ -39,7 +39,7 @@ come as Middle East editions with an English or French interface and right-to-le | Hindi | hi | ✗ | 0 (0%) | none | Devanagari shaped by harfrust in documents but untested; no Hindi hyphenation or spelling | no | none | 20–30 | | Arabic | ar | Middle East edition (English/French UI) | 1,459 (85%) | menus, panels, most dialogs; no help | RTL UI text (`rtl.rs`: bidi + shaping); Arabic composition, kashida, digits, RTL stories and tables ✓ (arabic-typography.md); list bullets and multi-column RTL open (#100) | no | partial | 15–25 | | French | fr | ✓ | 1,438 (83%) | menus, panels, most dialogs; no help | Latin ✓; French hyphenation ✓ (hyph-fr) | no | partial | 6–10 | -| Portuguese (Brazil) | pt-br | ✓ (pt) | 1,057 (61%) | menus, panels, some dialogs; no help | Latin ✓; Portuguese hyphenation ✓ | no | partial | 8–12 | +| Portuguese (Brazil) | pt-br | ✓ (pt) | 2,936 of 2,939 (~100%, 2026-11-04 missing-translations report) | whole interface but the Control panel's `IT`, `VA` and `Y:` captions; no help | Latin ✓; Portuguese hyphenation ✓ | no | partial | 1–2 | | Indonesian | id | ✗ | 0 (0%) | none | Latin ✓ | no | none | 12–18 | | Japanese | ja | ✓ | 1,644 (95%) | whole interface (#272), vertical-type commands; no help | vertical text, kinsoku, aki, ruby, warichu ✓ (partial depth, cjk.md); canvas IME ✓, not checked by hand (#322); Japanese UI and Mincho fonts from craft-fonts | no | partial | 6–10 (+ IME checks, shared with zh) | | German | de | ✓ | 1,438 (83%) | menus, panels, most dialogs; no help | Latin ✓; German 2006 hyphenation ✓ (hyph-de-1996, MIT) | no | partial | 6–10 | @@ -75,11 +75,20 @@ right-click flyouts in both Tools-panel layouts. Narrow-window coverage exercise scrolling, complete label/shortcut accessibility and selecting a scrolled row at 180 and 240 points; the existing wide-window checks keep their assertions. +Brazilian Portuguese (2026-11-04): `cargo xtask i18n-report` on main `ef6c3686` with this catalog +counts 2,939 interface strings; pt-BR translates 2,936 of them (up from 1,933). Like every other +language it leaves the Control panel's `IT`, `VA` and `Y:` captions in English. Tools are named "Ferramenta …", parent pages "página principal", stories "artigo" and +paths "demarcador" ("traçado" is Stroke; Pathfinder keeps its name). The 996 new strings were AI-drafted and approved by +the contributor; they are not yet checked in the running app, and a native-speaker review is +pending. Older rows still use "página-pai" and "página mestra" for parent pages and "Matéria" +for a story. + ## Other shipped languages | Language | Code | UI strings translated | Status | |---|---|---|---| | Hungarian | hu | 1,906 entries + 4 context captions (2026-11-01); initial catalog native-reviewed | partial | +| Russian | ru | 1,855 of 2,939 (63%, 2026-11-04 missing-translations report), count captions category-first | partial | | Czech | cs | 1,722 (99%), plural categories handled | partial | | Italian | it | 1,464 (85%) | partial | | Ukrainian | uk | 1,432 (83%), plural categories handled | partial | @@ -87,7 +96,7 @@ scrolling, complete label/shortcut accessibility and selecting a scrolled row at | Georgian | ka | 1,724 (~100%: every catalog key plus the command labels the others lack), count captions as `noun: n` | partial (reviewed by a native speaker) | | Swedish | sv | 2,857 of 2,891 (99%, 2026-11-01 missing-translations report): menus, panels, dialogs and messages; singular for a count of one; AI-drafted with Claude Code from the English source, spot-checked by a native speaker (not every string) | partial | -DesignCraft ships **6** interface languages beyond the twelve; InDesign ships 17 beyond its +DesignCraft ships **8** interface languages beyond the twelve; InDesign ships 17 beyond its eight of the twelve (cs, da, el, en_GB, fi, hu, it, nb, nl, pl, ro, ru, sq, sv, tr, uk, zh_TW). ## Document languages @@ -106,7 +115,7 @@ German variants have no automatic hyphenation; their German shaping and quotes a | Work | Opus 5.5 h | |---|---| | Fill the 83–85% catalogs (de, fr, es, zh, ar, it, uk; ~290 strings each) | 25–40 | -| pt-BR to full | 8–12 | +| pt-BR to full: check it in the running app; one term each for parent page and story | 1–2 | | New: Hindi, Indonesian, Korean, Vietnamese (1,724 strings, plural rules, tests) | 50–75 | | Canvas IME (zh, ja, ko): checks by hand with system IMEs, and fixes | 10–20 | | CJK UI font in every release build; Devanagari and Vietnamese rendering tests | 10–15 | @@ -118,6 +127,7 @@ German variants have no automatic hyphenation; their German shaping and quotes a | Date | Change | Summary | |---|---|---| +| 2026-11-04 | minor | pt-BR catalog filled (996 strings and the unit names; path is "demarcador"): 2,936 of 2,939 strings by `i18n-report`, pt-BR to full 8–12 → 1–2 h; Russian (1,855) listed, eight languages beyond the twelve | | 2026-11-01 | minor | Initial Hungarian interface: 1,906 entries, four context captions, native review, bundled-font glyph coverage and wide/narrow flyout regressions | | 2026-10-11 | minor | Localized Japanese print, import and table controls; checked Japanese and English renders | | 2026-10-15 | minor | Swedish (`sv`) interface added | diff --git a/docs/target-app-parity.md b/docs/target-app-parity.md index cb57677a2..5f6b28243 100644 --- a/docs/target-app-parity.md +++ b/docs/target-app-parity.md @@ -1,6 +1,6 @@ # DesignCraft parity with Adobe InDesign -> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-24 · **Change:** minor (Text Frame Options layout, Preview and Paragraph Spacing Limit; Swatches rows show InDesign's type columns; Keyboard Shortcuts on craft-keymap's shared dialog, with shortcut sets; Convert Variable to Text; list buttons with the default hanging indent; custom anchored objects honour Relative to Spine; PDF/X-4 visible unembedded font detection, #909; autoflow fills the following pages first; File ▸ Open Recent; .indd and .indt open through indd-utils; text threads by hand; image clipping paths from IDML; anchored objects wrap text; Tabs panel listed as present (#343); spring-loaded Zoom navigation; recovery checkpoint retention; cancelable macOS Dock Quit; Based on Parent; object styles carry effects; colour management on craft-cms, Coated FOGRA39 default CMYK; swatches on placed greyscale and bitmap images) · **Target:** Adobe InDesign 2026 (21.6.0.57, macOS) +> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-11-04 · **Change:** minor (pt-BR interface ~100%, Localization unchanged at 45%; Text Frame Options layout, Preview and Paragraph Spacing Limit; Swatches rows show InDesign's type columns; Keyboard Shortcuts on craft-keymap's shared dialog, with shortcut sets; Convert Variable to Text; list buttons with the default hanging indent; custom anchored objects honour Relative to Spine; PDF/X-4 visible unembedded font detection, #909; autoflow fills the following pages first; File ▸ Open Recent; .indd and .indt open through indd-utils; text threads by hand; image clipping paths from IDML; anchored objects wrap text; Tabs panel listed as present (#343); spring-loaded Zoom navigation; recovery checkpoint retention; cancelable macOS Dock Quit; Based on Parent; object styles carry effects; colour management on craft-cms, Coated FOGRA39 default CMYK; swatches on placed greyscale and bitmap images) · **Target:** Adobe InDesign 2026 (21.6.0.57, macOS) The authoritative assessment of how close DesignCraft is to Adobe InDesign. [ROADMAP.md](../ROADMAP.md) summarizes it; [gaps.md](gaps.md) lists every known shortfall one at a time; the feature-by-feature @@ -64,7 +64,7 @@ they receive, setting type exactly, and basic editing that never fails. | UI/UX fidelity | 15% | 45% | 120–180 | Measured InDesign 2026 look; but users report object copy/paste (#351, #348, #185, #164), right-click menus (#238, #187, #160), out-port threading (#352, #194, #165) failing | [ui-parity.md](ui-parity.md) | | Stability | 10% | 45% | 60–100 | Never-crash rules and last-resort guards; startup failures on some GPUs and machines (#334, #273, #220, #192, #167, #166); no CI runs the tests on pull requests | [gaps.md](gaps.md) | | Performance | 5% | 65% | 40–80 | 300k characters compose in ~38 ms warm; typing repaints in < 1 ms (damage regions); no incremental composition; nothing benchmarked against InDesign; no large real documents | [gaps.md](gaps.md) | -| Localization | 3% | 45% | 120–180 | 9 translations beyond English; Japanese 95%, most others 83–85%, pt-BR 61%; Hindi, Indonesian, Korean, Vietnamese none | [localization-parity.md](localization-parity.md) | +| Localization | 3% | 45% | 120–180 | 15 translations beyond English; Japanese 95%, most others 83–85% (2026-10-10), pt-BR ~100% (2026-11-04); Hindi, Indonesian, Korean, Vietnamese none | [localization-parity.md](localization-parity.md) | | Platforms | 3% | 55% | 40–80 | macOS is where it's tested; Windows and Linux users hit basic failures; web and FreeBSD builds exist | [hardware-parity.md](hardware-parity.md) | | Hardware | 2% | 45% | 20–40 | Canvas rasterizes on the CPU (vello_cpu, multithreaded); GPU only presents; printing uses shared CUPS/Windows PDF spoolers (no PostScript; physical output needs validation) | [hardware-parity.md](hardware-parity.md) | | Ecosystem (scripting, plug-ins) | 2% | 15% | 150–250 | Own command/script/MCP API is strong; no ExtendScript/UXP DOM, so InDesign scripts don't run; no plug-ins | [gaps.md](gaps.md) | @@ -473,6 +473,7 @@ Task notes that headed ROADMAP.md: | Date | Change | Summary | |---|---|---| +| 2026-11-04 | minor | Localization evidence: 15 translations beyond English, pt-BR ~100%; readiness and hours unchanged | | 2026-10-19 | minor | Output assessment records visible unembedded font detection in PDF/X-4 export and `validate-pdf`, the invisible-text exemption, incomplete-check reporting at the operation and nesting-depth limits, and remaining placed-PDF font repair (#909); readiness and hours unchanged | | 2026-10-13 | minor | `.indd` and `.indt` open through storytold/indd-utils; INDD remaining work 10–30 h (real-file corpus); readiness unchanged until it is measured | | 2026-10-12 | minor | Text threads by hand; stage note and distance to alpha follow the gate (5–7 h, #165); percentages unchanged |