Glossário de tradução 101 — fixando nomes de personagens e terminologia na tradução automática
A tradução automática achata os nomes próprios. Um glossário de tradução força a substituição de pares de termos origem→destino em cada lote, em cada provedor — para que o nome da sua heroína apareça igual no capítulo 1 e no capítulo 47. Como funciona a máscara de marcadores do RuneTranslate, quando a TM e o glossário trabalham juntos, e o fluxo de trabalho em CSV para compartilhar glossários entre tradutores.
Passe uma visual novel japonesa de 200 linhas pelo DeepL e o nome da heroína sai como Alice. Passe as próximas 200 linhas e vira Aris. O lote seguinte decide por Arisu. No capítulo quatro ela já tem três nomes, dependendo da cena que você lê.
Esse é o modo de falha mais comum da tradução automática em jogos narrativos longos — não a gramática ruim, nem as frases estranhas, mas os nomes próprios inconsistentes. O provedor não tem memória entre os lotes; ele apenas adivinha a romanização mais plausível toda vez que vê um nome. Ao longo de um RPG de 40 horas, essa variação transforma uma tradução legível em algo que parece ter sido traduzido por quatro pessoas diferentes.
Um glossário de tradução resolve isso. Você define os pares de termos origem-destino uma única vez — アリス → Alice, 勇者 → Hero, 魔王 → Demon Lord — e cada lote de tradução, em cada provedor, os respeita. O provedor nem chega a ver esses termos na forma bruta. É sobre isso que este post fala.
O que um glossário realmente é
Um glossário no RuneTranslate é uma lista de regras de três colunas:
- source — a substring no idioma de origem que se quer fixar (japonês por padrão; qualquer idioma de origem suportado) (ex.:
勇者) - target — como você quer que seja exibido na saída (ex.:
Hero) - targetLang — a qual idioma de saída esta regra se aplica (assim você pode ter um único glossário que cobre inglês + espanhol + alemão de uma vez)
Adicione 30 dessas para o elenco típico de uma visual novel e você elimina toda essa categoria de variação de nomes próprios de uma só vez.
Como a máscara de marcadores funciona (independente do provedor)
A forma ingênua de aplicar um glossário é escrever uma expressão regular que troca o termo de destino depois que o provedor roda. Isso mais ou menos funciona no DeepL, mas falha nos provedores LLM: o LLM já reformulou a frase em torno do termo que traduziu, e a sua troca por regex deixa artigos soltos e maiúsculas estranhas.
O RuneTranslate mascara os termos do glossário antes de eles chegarem ao provedor. O runner percorre cada string de origem do lote e substitui cada source do glossário por um marcador numérico — [[G0]], [[G1]], etc. O provedor vê tokens opacos que não consegue traduzir errado. Na volta, esses marcadores são substituídos pelo seu termo target, e então a máscara de tags do motor (códigos do RPG Maker, tags KAG, interpolações do Ren'Py) é restaurada por cima.
O resultado: os termos do glossário são exibidos de forma idêntica quer você esteja no DeepL, OpenAI GPT-4o, Anthropic Claude ou no Google Translate gratuito. As mesmas máscaras, o mesmo passo de restauração, a mesma saída final.
Ordem de prioridade — a TM vence o glossário, que vence o provedor
Vale a pena saber como um lote de tradução é processado dentro do runner, porque isso explica por que as edições do glossário não custam créditos de provedor e como a memória de tradução coopera com o glossário:
- Curto-circuito da memória de tradução (TM). Se você já traduziu exatamente esta string de origem em qualquer projeto anterior, a tradução em cache é servida na hora — zero chamadas ao provedor, zero custo. A unidade é removida do lote antes de o provedor vê-la.
- A máscara do glossário é aplicada às unidades que a TM não serviu.
- A chamada ao provedor acontece sobre o texto mascarado. Esse é o único passo que custa dinheiro / consome cota.
- Restauração — os marcadores do glossário viram os seus termos de destino, e então as tags do motor são restauradas por cima.
- Gravação na TM — a linha traduzida final vai para o cache, para que na próxima vez que você ver este japonês, ela volte ao passo 1 de graça.
Os acertos de TM são a maior economia de custo. O glossário é a maior economia de qualidade. Juntos eles se somam: edite uma linha à mão uma vez, ela é armazenada na TM, e o glossário mantém os nomes próprios consistentes tanto nos acertos de cache QUANTO nos lotes novos.
Interação entre TM e glossário (a proteção de bypass)
Há um caso extremo sutil que vale conhecer: e se você tiver traduzido 100 linhas contendo 勇者 três meses atrás sem glossário, a TM as tiver armazenado como Warrior / Champion / Hero aleatoriamente — e agora você adiciona 勇者 → Hero ao glossário?
De forma ingênua, a TM ainda devolveria Warrior na próxima vez que você visse 勇者 — afinal, foi isso que ficou em cache. O RuneTranslate protege contra isso: no momento do acerto de TM, se um source do glossário aparece na unidade atual E o destino em cache não contém a representação de destino do glossário, o acerto de cache é ignorado e essa unidade cai para uma nova chamada ao provedor. O resumo do fim da execução mostrará uma linha «N unidades ignoraram o cache para respeitar mudanças do glossário» para você saber que aconteceu.
Efeito líquido: adicionar uma nova entrada de glossário a um projeto antigo não te deixa preso a traduções desatualizadas. Basta rodar de novo a passagem de tradução nas unidades afetadas.
Montando seu glossário — o que adicionar
Para um projeto típico, ordene por impacto:
- O elenco primeiro. Todo personagem com nome. Puxe de uma wiki / VNDB / da própria tela de créditos do jogo se puder. Só isso já elimina 80% da variação em jogos longos.
- Os lugares em segundo. Vilas, masmorras, regiões, reinos. Especialmente qualquer coisa escrita com kanji que tenha mais de uma romanização plausível.
- Os ataques / habilidades característicos em terceiro. Nomes de ataques de chefes, nomes de magias recorrentes, nomes de golpes especiais. Importante para RPGs e VNs com muito combate.
- A terminologia específica do mundo em quarto. Palavras inventadas que o jogo usa para raças / classes / artefatos / moeda.
O que não adicionar: palavras comuns. 剣 → sword é uma receita para falsos positivos — você fixaria todo composto que contém 剣 (魔剣, 聖剣, 剣士) que o provedor teria exibido bem sozinho. As entradas do glossário são correspondências literais de substring; deixe-as longas o suficiente para serem únicas do nome próprio que você está tentando fixar.
Importação / exportação CSV — compartilhando glossários
Traduzindo um projeto de tradução fan com colaboradores? A aba de glossário em Configurações tem botões de Importar CSV e Exportar CSV que fazem o vai-e-volta das suas entradas através de um arquivo CSV RFC-4180:
source,target,targetLang 勇者,Hero,en アリス,Alice,en 魔王,Demon Lord,en 村人A,Villager A,en 勇者,Héroe,es
A linha de cabeçalho é obrigatória. Campos que contêm vírgulas, aspas ou quebras de linha são envolvidos em aspas duplas; aspas internas são escapadas como "". UTF-8 com BOM opcional na importação (o Excel exporta UTF-8-BOM por padrão). Linhas vazias e linhas com códigos de targetLang não suportados são ignoradas com um motivo por linha.
A importação oferece um modo Mesclar (adiciona as linhas do CSV por cima do seu glossário atual, remove duplicatas por source+idioma, o CSV vence em conflito) ou um modo Substituir (apaga o existente e usa apenas o que está no CSV). Mesclar é o padrão certo para colaboradores compartilhando um glossário parcial; Substituir é o certo para arquivar / restaurar backups.
Limitações atuais
- Apenas correspondências literais de substring. Sem regex, sem curingas. Se você precisar fixar tanto
勇者よquanto勇者だ, por enquanto você adiciona duas entradas. - Pares por idioma de destino. Uma entrada de glossário está vinculada a um único idioma de saída. Você não pode definir «source=勇者, targets=Hero (en) + Héroe (es) + Held (de)» em uma só linha — você adiciona três linhas. O formato CSV suporta isso naturalmente.
- Apenas nível Supporter / Pro. O nível gratuito mostra o cartão do glossário, mas as entradas não afetam as execuções de tradução. A caixa de diálogo de descoberta aponta para o Patreon.
Finalizando
De todas as alavancas de qualidade na tradução automática, o glossário tem a maior relação entre esforço e impacto — dez minutos montando-o economizam horas de conserto manual de nomes inconsistentes depois. Comece pelo elenco, publique uma primeira passagem e adicione termos conforme lê o resultado e percebe variações.
Combine-o com um provedor que lida bem com o tom (Anthropic Claude é minha escolha padrão para VNs) e a sua saída já terá passado do limiar da «tradução automática legível» e entrado no território de «poderia ser publicada como tradução fan com uma leve edição manual».
Baixe o RuneTranslate para testar o glossário em um projeto real. É um recurso de Supporter ($3/mo); o nível gratuito continua totalmente desbloqueado para motores + provedores.
Pronto para experimentar o RuneTranslate?
O plano gratuito libera todos os motores + todos os provedores de tradução. O plano Supporter ($3/mo) libera velocidade total.
Baixar para Windows