Deixe o revisor ver as alterações primeiro: Como fazer uma tabela de diferenças de tradução que não seja enganosa
Um manuscrito traduzido para o inglês foi revisado dez vezes e não é eficiente para o revisor lê-lo sempre desde o início. A visão da diferença pode focar a atenção nas mudanças, mas há uma premissa: ela compara duas versões revisadas do mesmo idioma, em vez de diferenciar o texto original em chinês e a tradução em inglês, caractere por caractere, e depois usar as áreas vermelha e verde para avaliar a qualidade da tradução.
Quando a tradução chega à décima edição, se o revisor a lê sempre desde o início, a tarefa mais demorada muitas vezes é descobrir "o que foi alterado". A visão da diferença chama a atenção diretamente para as mudanças, que é o seu valor.
Mas a visão da diferença tem uma premissa: deve comparar duas revisões da mesma linguagem. Se você diferenciar o texto original em chinês e a tradução em inglês caractere por caractere e, em seguida, usar as áreas vermelha e verde para avaliar a qualidade da tradução, a conclusão será distorcida. Este artigo explica como usar difflib para gerar diferenças de tradução revisáveis e explica o que ele e o que não pode fazer.
Como comparar as diferenças nas traduções? Conclusão de uma frase
Apenas as versões revisadas no mesmo idioma são comparadas e as diferenças são usadas para ajudar os revisores a localizar as alterações. O julgamento da qualidade ainda é deixado para os humanos.
| sua situação | Práticas recomendadas | razão |
|---|---|---|
| Existem várias revisões em inglês do mesmo manuscrito de tradução | Compare as diferenças entre duas revisões em inglês | As diferenças refletem apenas a localização das alterações, tornando mais fácil para os revisores se concentrarem |
| Quer avaliar a qualidade da tradução | Não há necessidade de marcar áreas vermelhas e verdes | difflib apenas aponta alterações textuais e não determina se a terminologia e a semântica estão corretas. |
| A quebra de parágrafo é instável durante a exportação | Primeiro corrija o ID do parágrafo e a linha de tradução | Evite que o ruído tipográfico abafe mudanças reais |
| Precisa confirmar o significado da tradução | Retorne ao texto original para verificação bilíngue | As diferenças de revisão não substituem a inspeção do significado original |
| O relatório quer mostrar a semelhança | Não chame isso de"precisão da tradução" | A similaridade depende da segmentação e das regras de correspondência |
A diferença é uma pista de modificação, não um índice de qualidade
difflib pode gerar diferenças em nível de linha, que informam qual texto foi alterado, mas não julga se a escolha da terminologia está correta, nem entende as consequências comerciais ou técnicas de uma frase.
- Exclua uma palavra negativa, a diferença pode ser pequena, mas o impacto é enorme.
- Reorganize um parágrafo, a diferença pode ser enorme, mas o significado permanece basicamente o mesmo.
Estabilize a unidade de comparação primeiro
Comece fornecendo ao revisor uma unidade estável, como um ID de parágrafo e uma linha de tradução. Se o processo de exportação quebrar linhas aleatoriamente todas as vezes, as diferenças serão abafadas pelo ruído da composição.
Alterações na estrutura do documento de origem e modificações na tradução devem ser registradas separadamente e não podem ser misturadas em uma"atualização de texto".
Um exemplo de revisão sintética contendo riscos semânticos
Este artigo utiliza amostras sintéticas para demonstrar o método de processamento. O código foi verificado com exemplos em um ambiente isolado e não é garantia de todos os arquivos reais ou desempenho do produto. Antes de processar documentos importantes, guarde os originais e revise-os de acordo com os limites e itens de aceitação do texto.
import difflib
import html
before = ["Do not disconnect the cable.\n", "Wait for the green light.\n"]
after = ["Disconnect the cable.\n", "Wait for the green light.\n"]
delta = "".join(difflib.unified_diff(before, after,
fromfile="revision-A", tofile="revision-B"))
assert "-Do not disconnect" in delta
assert "+Disconnect" in delta
assert list(difflib.unified_diff(before, before)) == []
# 差异如需显示在网页中,按普通文本转义。
unsafe_line = "<script>alert(1)</script>"
assert "<script>" not in html.escape(unsafe_line)
print(delta)
Nenhuma operação de dispositivo é realizada aqui, apenas duas frases de texto sintético são usadas para explicar: Uma edição muito curta pode exigir uma revisão focada. A saída de amostra é uma diferença de texto para fins de revisão e não é a base para a aprovação automática de alterações pela máquina.
Como reduzir blocos vermelhos e verdes sem sentido
Os finais de linha podem ser unificados, os IDs de parágrafo estáveis preservados e o ruído exportado que claramente não afeta o significado pode ser processado separadamente.
Mas não remova todas as pontuações, números ou espaços apenas para fazer a diferença parecer boa. Os espaços em branco em códigos, fórmulas, tabelas e algumas linguagens têm significado por si só, e a normalização excessiva pode mascarar mudanças reais.
| Tipo de modificação | Como as diferentes visões podem ajudar | O que ainda precisa ser julgado manualmente |
|---|---|---|
| substituição de prazo | Encontre todos os locais modificados | Isso se ajusta ao contexto atual? |
| Mudanças de número | Expor valores antigos e novos | Verifique se a modificação tem base de origem |
| Mudanças de palavras negativas | Os leitores são lembrados de verificar | Se deve alterar o significado do comando |
| Movimento de parágrafo | Mostrar grandes pedaços excluídos e adicionados | É apenas um ajuste de posição? |
Não empacote similaridade em precisão
SequenceMatcher Uma classe de ferramentas de comparação cujos resultados dependem da segmentação de entrada e de regras de correspondência. Uma semelhança de string alta pode ser uma pequena mudança ou as palavras mais críticas podem ser perdidas; uma baixa similaridade pode ser apenas uma reorganização da expressão.
Simplesmente chamá-lo de"Precisão da Tradução"seria enganoso para as pessoas que usam o relatório.
A revisão das diferenças também deve poder retornar ao texto original correspondente. Especialmente ao revisar uma tradução, você não pode simplesmente escolher a frase"mais suave"entre as duas versões da tradução e esquecer se ela ainda expressa o significado do documento de origem.
Use as ferramentas no lugar certo
Você pode primeiro gerar um manuscrito de tradução para ser revisado no portal de tradução de documentos do OmniDoc (portal de produtos) e, em seguida, comparar as alterações antes e depois da revisão em seu próprio processo de gerenciamento de versão.
The bilingual check resolves the source meaning, and the revision diff resolves what has been changed. É mais claro usar os dois juntos, sem que um finja ser o outro.
Referências: Python difflib.
📊 Comparação principal
| Dimensões de contraste | Diferenças de revisão | verificação bilíngue |
|---|---|---|
| Objeto de comparação | Duas revisões do mesmo idioma | Texto original em chinês e tradução em inglês |
| Perguntas respondidas | O que foi alterado | Se a tradução ainda expressa o significado do texto fonte |
| fácil de encontrar | Altere a posição de termos, números, palavras negativas, etc. | Desvio e omissão de significado |
| Principais limitações | Não julgue certo ou errado, semelhança não é igual a precisão | Requer leitura manual e julgamento |
🎯 Qual método é adequado para você?
Se você precisar que o revisor localize rapidamente as alterações
Gere diferenças de revisões no mesmo idioma e fixe os IDs dos parágrafos para que os revisores vejam apenas as alterações.
Se você estiver avaliando a qualidade da tradução
Não use áreas vermelhas e verdes para pontuar. Primeiro use a verificação bilíngue para confirmar o significado e depois use a diferença para verificar se as alterações são bem fundamentadas.
Se você quiser relatar o progresso para outras pessoas
Chame a semelhança de "grau de mudança de texto", não de "precisão da tradução".
❓ Perguntas frequentes (FAQ)
1. Por que não comparar diretamente o texto original em chinês e a tradução em inglês?
As duas línguas são diferentes. Os blocos vermelhos e verdes na diferença caractere por caractere refletem a diferença na forma do texto e a qualidade da tradução não pode ser avaliada com base nisso.
2. Você pode remover todos os espaços e pontuação para reduzir os blocos vermelhos e verdes?
Não recomendado. Os espaços em branco em códigos, fórmulas, tabelas e algumas linguagens têm significado por si só, e a normalização excessiva pode mascarar mudanças reais.
3. A similaridade é muito alta, isso significa que a tradução está correta?
não pode. A alta similaridade pode ser apenas uma pequena mudança ou as palavras mais críticas podem ser perdidas.
📝 Resumo
A visualização das diferenças é adequada para ajudar os revisores a encontrar rapidamente as alterações na tradução, enquanto a verificação bilíngue é usada para confirmar se a tradução ainda expressa o significado do texto de origem. Os dois têm uma divisão clara de trabalho e são mais confiáveis quando usados em conjunto.
Experimente agora: carregue o documento para iniciar a tradução, mantendo o layout original


