BookTranslator
BookTranslator

Como traduzir uma planilha do Excel sem quebrar fórmulas ou listas suspensas

Descubra o texto que um tradutor célula por célula ignora em um arquivo .xlsx (texto de fórmula, rich text, links, gráficos, macros), corrija as listas suspensas e códigos que ele pode quebrar e verifique o resultado com um script gratuito e uma pasta de trabalho de teste.

BookTranslator

BookTranslator Team

16 min de leitura

Para traduzir uma pasta de trabalho inteira do Excel, envie o arquivo .xlsx para um tradutor de documentos em vez de traduzir célula por célula. O comando Revisão > Traduzir do próprio Excel funciona no texto selecionado (Suporte da Microsoft), o que é adequado para um rótulo e lento para uma lista de preços. Um tradutor de arquivos lê cada célula de texto, traduz e grava de volta no mesmo endereço, de modo que fórmulas, números e datas permanecem onde estavam.

O que ele não informa é qual texto nunca foi lido. Texto digitado dentro de uma fórmula, uma célula com uma palavra em negrito, um link, uma nota, um título de gráfico: em uma tradução célula por célula, tudo isso pode voltar no idioma original. E duas coisas podem quebrar: uma lista suspensa cujos valores permitidos não foram traduzidos e um código de produto que foi.

Criamos uma pasta de trabalho de teste com duas planilhas contendo texto em cada um desses lugares, escrevemos um verificador gratuito que lista onde o texto está e executamos a pasta de trabalho em uma reprodução local do tratamento de planilhas que o BookTranslator usa. Este guia mostra o que voltou, o que alterar antes de enviar e como verificar o arquivo traduzido.

Resposta rápida: o que é traduzido em uma pasta de trabalho

Onde está o textoExemplo do nosso testeTraduzido pelo BookTranslator?O que fazer
Células de texto simples, incluindo linhas de cabeçalho"Caderno azul", "Preço"SimNada
Números, datas, booleanos4.5, 2026-10-30Mantidos como estavamVerifique os formatos de número para o mercado-alvo
Fórmulas=C2*D2Mantidas como estavamNada
Texto dentro de uma fórmula=IF(D2>5,"In stock","Low stock")NãoMova as palavras para células (veja o Passo 2)
Célula com formatação mista"Edição limitada de caneta"Não, a célula inteira é ignoradaLimpe a formatação primeiro ou traduza manualmente
Células com hiperlink"Página do produto"NãoEdite o texto do link após a tradução
Valor dentro de uma célula com lista suspensa"Papelaria"Sim, mas a lista suspensa nãoCorrija a lista ou a célula deixará de ser válida
Códigos com letras"A-77", "B-09"Enviados ao tradutorVerifique-os após a tradução
Códigos apenas com dígitos ou símbolos"00123"Mantidos como estavamNada
Notas e comentários"Verificar nome do fornecedor antes da liberação"NãoTraduza manualmente ou exclua-os
Nomes de planilhas e intervalos nomeados"Produtos", PriceRangeNão, para que as fórmulas entre planilhas continuem funcionandoRenomeie as planilhas manualmente apenas se for necessário, depois de verificar as fórmulas
Gráficos e macrosUm gráfico de barras, um projeto VBARemovidos do arquivo traduzido em nosso testeMantenha o original, recrie depois (veja abaixo)

Arquivos .xls mais antigos não são aceitos. Abra-os no Excel e salve como .xlsx primeiro. Arquivos .xlsm com macros são aceitos, mas leia a seção sobre macros antes de enviar um: o arquivo traduzido não tem macros e, se o download ainda terminar em .xlsm, renomeie para .xlsx antes de abri-lo.

Etapa 1: Execute o Verificador na Sua Pasta de Trabalho

Baixe check_xlsx_text.py e execute-o no seu arquivo:

python3 check_xlsx_text.py "Price list.xlsx"

Ele precisa apenas do Python 3 e lê o arquivo sem alterá-lo. Aqui está o resumo da nossa pasta de trabalho de exemplo:

Counts by location:
  cell         code, ID or address        2
  cell         link text                  1
  cell         mixed formatting           1
  cell         plain text                 15
  comments     comment or note text       1
  dropdown     list of allowed values     1
  formula text text inside a formula      6
  sheet        sheet name                 2
  workbook     defined name               1

Plain text cells (translated by a cell-by-cell translator): 15
Items that need a decision before you upload: 12

Abaixo das contagens, ele lista cada item com sua planilha e célula, como Products!E2 formula text 'In stock'. Use essa lista como sua lista de tarefas para a Etapa 2. Se sua pasta de trabalho tiver gráficos, caixas de texto, tabelas dinâmicas ou um projeto de macro, eles também aparecem nas contagens.

O README descreve a pasta de trabalho de exemplo, lista os hashes dos arquivos e fornece links para os scripts que a criam, para que você possa repetir o teste.

O Que Aconteceu com Nossa Pasta de Trabalho de Teste

Executamos a pasta de trabalho de exemplo pelo código que o manipulador de planilhas do BookTranslator usa, reproduzido localmente em 2026-11-01 com a mesma biblioteca (ExcelJS 4.4.0). Em vez de uma tradução real, usamos um espaço reservado que adiciona "[DE]" na frente do texto de cada célula. Isso mantém o modelo de linguagem fora do teste, então os resultados mostram apenas o que o manuseio do arquivo envia, mantém e descarta.

O manipulador lê cada planilha célula por célula. Ele envia uma célula para tradução apenas se a célula contiver um valor de texto simples e ignora qualquer texto composto apenas por dígitos, pontuação e símbolos. Todo o resto na grade de células é copiado sem alterações. O BookTranslator então retorna dois arquivos: uma pasta de trabalho traduzida e uma pasta de trabalho bilíngue.

A pasta de trabalho traduzida

Este é o arquivo a ser usado. Todas as 6 fórmulas, 7 números e datas, os formatos de moeda e data, as células mescladas, a nota, a regra de lista suspensa e o intervalo nomeado voltaram inalterados. As 9 células de cabeçalho e as outras células de texto simples foram traduzidas no local. Três resultados precisam de atenção:

O texto dentro das fórmulas permanece no idioma de origem. A coluna Status usava =IF(D2>5,"In stock","Low stock"). Uma fórmula não é uma célula de texto, então o manipulador nunca a lê, e "In stock" permanece em inglês em todas as linhas. O mesmo se aplica a texto unido com & ou CONCAT, e a texto dentro de HYPERLINK.

Um valor de lista suspensa traduzido não corresponde mais à sua lista. A célula H2 tinha uma lista suspensa que permitia "Stationery, Office, Art". O valor da célula foi traduzido, mas a lista é armazenada na regra de validação, não em uma célula, então não foi. O modo de comparação do nosso verificador relatou assim:

Problems: 3
  Products!A3: code changed: 'A-77' -> '[DE] A-77'
  Products!A4: code changed: 'B-09' -> '[DE] B-09'
  Products!H2: '[DE] Stationery' is not in its dropdown list ['Art', 'Office', 'Stationery']

O Excel mantém um valor que viola sua regra de validação, mas a próxima pessoa a abrir a lista suspensa vê apenas as opções antigas, e Dados > Circular Dados Inválidos sinalizará a célula.

Códigos com letras são enviados ao tradutor. "00123" foi ignorado porque contém apenas dígitos. "A-77" e "B-09" foram enviados, porque contêm uma letra. Se um código volta inalterado depende então do modelo; nada no manuseio do arquivo o protege. Um SKU que volta como "A-77-Artikel" quebra toda pesquisa que o utiliza.

A pasta de trabalho bilíngue

O arquivo bilíngue insere uma coluna de tradução à direita de cada coluna que tinha pelo menos uma célula traduzida, com cabeçalhos como "Name (Translated)". Ele move os valores das células para suas novas colunas, mas não move os formatos das células nem atualiza as fórmulas. Em nosso teste:

  • o formato de preço $#,##0.00 permaneceu na coluna C, que agora contém nomes de produtos, enquanto os preços foram movidos para a coluna E sem ele;
  • o formato de data permaneceu na coluna G, que agora contém a quantidade, então uma quantidade de 10 era exibida como data;
  • =C2*D2 foi movida para a coluna K, mas ainda apontava para C2 e D2, que agora contêm o nome do produto e sua tradução, então não pode mais retornar 45;
  • na planilha Summary, =SUM(Products!F2:F4) agora somava uma coluna de tradução vazia.

Portanto, a pasta de trabalho bilíngue serve para ler o original e a tradução lado a lado, não para calcular. Não a edite nem copie fórmulas dela.

Gráficos e macros

Em uma cópia separada da pasta de trabalho, adicionamos um gráfico e um projeto de macro, armazenados da forma como o Excel os armazena. Nenhum dos dois estava no arquivo traduzido ou no bilíngue. O ExcelJS lê e grava planilhas, estilos, texto compartilhado, imagens, tabelas e comentários, e não tem código para partes de gráfico ou para o projeto VBA, então os deixa de fora ao salvar. O mesmo código não tem nada para tabelas dinâmicas, então espere que elas também sejam descartadas, embora não tenhamos testado uma. O manipulador também salva sua saída como um arquivo .xlsx, que não pode conter macros.

Mais um limite do teste: criamos a pasta de trabalho de exemplo com o próprio ExcelJS, que é o caso mais favorável para manter formatos, mesclagens e regras de validação. Uma pasta de trabalho salva pelo Excel pode conter recursos que o ExcelJS não modela, então execute a etapa de comparação abaixo no seu próprio arquivo em vez de presumir o mesmo resultado limpo.

Etapa 2: Prepare a pasta de trabalho antes de enviar

Trabalhe em uma cópia. O verificador informa quais células alterar.

  1. Mova o texto das fórmulas para células. Coloque as palavras em uma pequena planilha "Labels" e aponte a fórmula para elas: =IF(D2>5,Labels!$A$1,Labels!$A$2). As células de rótulo são texto simples, então são traduzidas, e toda fórmula capta a tradução. Essa única mudança costuma corrigir a maior parte da contagem de "texto em fórmula", porque a mesma frase tende a se repetir por uma coluna inteira.
  2. Mova as listas suspensas para células. Em Dados > Validação de Dados, altere a Origem de uma lista digitada (Stationery,Office,Art) para um intervalo na planilha Labels (=Labels!$B$1:$B$3). Os valores da lista então são traduzidos junto com as células que os usam. Verifique algumas células depois: a lista suspensa só aceita o valor traduzido se o modelo traduziu "Stationery" da mesma forma nos dois lugares.
  3. Limpe a formatação mista. Uma célula com uma palavra em negrito ou colorida é armazenada como trechos formatados e ignorada por completo. Selecione a célula e escolha Página Inicial > Limpar > Limpar Formatação, ou digite novamente, e reaplique o negrito após a tradução. Se você tiver muitas dessas, anote-as primeiro.
  4. Decida o que fazer com notas e comentários. Eles não são traduzidos. Exclua as notas de revisão que você não quer enviar a um serviço de tradução e traduza o restante manualmente.
  5. Salve pastas de trabalho com macros como .xlsx. Mantenha seu .xlsm como mestre. Traduza uma cópia .xlsx e depois copie as colunas de texto traduzidas de volta para o mestre (Colar Especial > Valores, somente colunas de texto, para não sobrescrever fórmulas) ou exporte os módulos VBA e importe-os para o arquivo traduzido.
  6. Deixe os gráficos para depois. Um gráfico tem pouco texto: um título, títulos de eixo e uma legenda que geralmente vem das células de cabeçalho. Muitas vezes é mais rápido recriar o gráfico na pasta de trabalho traduzida a partir dos mesmos intervalos, ou colar as colunas de texto traduzidas de volta na pasta de trabalho original para que seus gráficos e tabelas dinâmicas se atualizem sozinhos.

Etapa 3: Traduza o arquivo inteiro

Envie o .xlsx na página do tradutor de documentos, escolha o idioma de destino e confira o preço exibido antes de pagar. O envio do arquivo inteiro traduz todas as células de texto de todas as planilhas em uma única tarefa, o que facilita manter um nome de produto igual na linha 3 e na linha 3.000. Nosso guia para criar um glossário de tradução explica como fixar termos que não devem variar.

Quando a tarefa termina, a página Histórico oferece os dois downloads. Use a pasta de trabalho traduzida. Abra a pasta de trabalho bilíngue apenas para revisar o texto com alguém que leia os dois idiomas.

Se você trabalha no Google Sheets, há duas outras rotas. A aba Documentos do Google Translate aceita arquivos .xlsx de até 10 MB (Ajuda do Google Translate); nosso guia de tradução do Google Docs compara suas opções. E o Sheets tem uma função GOOGLETRANSLATE(text, source_language, target_language) (Ajuda dos Editores do Google Docs) que você pode preencher em uma nova coluna ao lado do original. Isso é conveniente para uma coluna de rótulos curtos, mas os resultados são fórmulas, então cole-os como valores antes de compartilhar a planilha. O DeepL também traduz documentos; veja o que seus limites de documentos significam na prática. Seja qual for a ferramenta, execute o verificador no original primeiro: texto dentro de fórmulas, links e gráficos fica nos mesmos lugares independentemente da ferramenta que lê o arquivo.

Etapa 4: Verifique a pasta de trabalho traduzida

  1. Execute o modo de comparação. Coloque o original e o arquivo traduzido lado a lado:

    python3 check_xlsx_text.py --compare "Price list.xlsx" "Price list (translated).xlsx"
    

    Ele verifica se cada fórmula, número e data permaneceu inalterado, se os códigos com letras voltaram exatamente como estavam e se cada valor de lista suspensa está em sua lista. Use-o apenas na pasta de trabalho traduzida. Como o arquivo bilíngue desloca colunas, quase todas as células seriam reportadas.

  2. Recalcule. Se uma fórmula ainda mostrar o texto antigo depois de você corrigir os rótulos, pressione F9 (ou Fórmulas > Calcular Agora).

  3. Traduza o que sobrou. Use a lista do verificador da Etapa 1: texto de links, notas, títulos de gráficos e quaisquer células cuja formatação você removeu.

  4. Procure por texto cortado. As traduções costumam ser mais longas que o original, e as strings curtas são as que mais crescem. O W3C cita diretrizes da IBM que estimam a expansão média do inglês para línguas europeias em 200–300% para textos de até 10 caracteres (W3C). Cabeçalhos de coluna são curtos, então alargue as colunas ou ative Quebrar Texto onde eles ficarem cortados.

  5. Verifique a exibição de números e datas. Os valores não foram alterados, mas "4.50" pode precisar aparecer como "4,50" para um leitor alemão. Isso é formato de célula ou configuração regional, não tradução.

  6. Não "conserte" nomes de funções. Se o Excel em francês de um colega mostra SOMME em vez de SUM, isso é o Excel exibindo seus próprios nomes localizados de funções; a fórmula é a mesma.

  7. Configure planilhas da direita para a esquerda. Para árabe, hebraico, persa ou urdu, ative Layout da Página > Planilha da Direita para a Esquerda e verifique o alinhamento das células.

  8. Peça a revisão de um leitor fluente se o material for para clientes, como uma lista de preços ou um catálogo de produtos. Uma tradução automática é um bom rascunho, não a versão final.

Arquivos CSV e TSV

Um arquivo .csv não tem fórmulas, formatos nem listas suspensas, então a maioria dos problemas acima desaparece. Três coisas são diferentes:

  • A linha de cabeçalho não é traduzida. O processador trata a primeira linha como cabeçalhos e traduz apenas as linhas de dados. Traduza os cabeçalhos manualmente, ou copie-os para uma linha de dados antes do upload e mova-os de volta depois.
  • Uma coluna é traduzida como um todo. Se qualquer célula de uma coluna tiver uma letra, todas as células dessa coluna que tiverem uma letra são enviadas, inclusive códigos. O modo de comparação lê apenas .xlsx, então verifique manualmente uma coluna de códigos CSV: copie-a dos dois arquivos para uma planilha e compare as duas colunas com =EXACT(A2,B2).
  • Um CSV volta separado por vírgulas. Qualquer que seja o delimitador usado na origem, o CSV traduzido usa vírgulas; um arquivo .tsv mantém suas tabulações. No nosso teste, um CSV separado por ponto e vírgula voltou separado por vírgulas, com vírgulas decimais como "4,50" mantidas entre aspas. O arquivo é UTF-8 sem marca de ordem de bytes. A Microsoft diz que o Excel abre normalmente um CSV UTF-8 quando ele tem essa marca e, caso contrário, recomenda importá-lo com Dados > Obter Dados > De Texto/CSV (Suporte da Microsoft). Se você clicar duas vezes no arquivo e vir acentos corrompidos, importe-o dessa forma.

Se seus dados estão em uma pasta de trabalho com fórmulas, traduza o .xlsx. Exportar para CSV para traduzi-lo descarta todas as fórmulas.

Problemas Comuns

ProblemaCausa provávelO que fazer
Uma coluna inteira ainda diz "In stock"As palavras estão dentro de uma fórmula IFMova-as para células de rótulo e aponte a fórmula para elas
Uma lista suspensa rejeita o valor traduzidoOs valores permitidos estão digitados na regra de validaçãoAltere a Origem da regra para um intervalo de células e traduza o intervalo
Um código de produto mudouEle contém letras, então foi enviado ao tradutorCorrija-o na origem; execute o modo de comparação em cada entrega
Uma célula não foi traduzida de forma algumaEla tem formatação mista ou é um linkLimpe a formatação ou edite o texto do link, depois retraduza ou corrija manualmente
O gráfico ou as macros desapareceramA biblioteca usada para reescrever o arquivo não os salvaTraduza uma cópia .xlsx e mova o texto traduzido de volta para o original
Os totais estão errados no arquivo bilíngueAs colunas adicionadas deslocam valores, mas não fórmulas ou formatosUse a pasta de trabalho traduzida para qualquer cálculo
Os acentos parecem corrompidos em um CSV traduzidoO Excel adivinhou a codificação erradaImporte-o com Dados > Obter Dados > De Texto/CSV
O upload é recusadoO arquivo é .xls ou precisa de senha para abrirSalve-o como um .xlsx normal sem senha de abertura (a proteção de planilha sozinha está ok)

A mesma ideia se aplica a slides: uma apresentação do PowerPoint também mantém texto em locais que um tradutor pula, e o verificador para esse artigo funciona da mesma forma que este.

Posts Relacionados