Glossário de tradução 101 — trave nomes de personagens e terminologia
Um glossário de tradução força a substituição de pares de termos origem→destino em cada lote e 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 placeholder, mais o fluxo com CSV. Supporter+.
Rode uma visual novel japonesa de 200 linhas pelo DeepL e o nome da heroína sai como Alice. As 200 linhas seguintes o transformam em Aris. O lote depois disso decide por Arisu. No quarto capítulo ela tem três nomes dependendo de qual cena você está lendo.
Este é o modo de falha mais comum da tradução automática em jogos narrativos longos — não a gramática, não o fraseado, mas os nomes próprios inconsistentes. O provedor não tem memória entre lotes; ele re-adivinha a romanização mais plausível toda vez que vê um nome. Ao longo de um RPG de 40 horas, essa deriva faz uma tradução legível parecer que quatro pessoas diferentes a traduziram.
Um glossário de tradução corrige isso. Você define os pares de termos origem-para-destino uma vez — アリス → Alice, 勇者 → Herói, 魔王 → Rei Demônio — e cada lote de tradução, em cada provedor, os honra. O provedor nunca vê esses termos em sua forma bruta.
O que é um glossário de tradução
Um glossário no RuneTranslate é uma lista de regras de três colunas:
- source — a substring no idioma de origem a travar (japonês por padrão; qualquer idioma de origem suportado), ex.:
勇者. - target — como você quer que seja renderizado na saída, ex.:
Herói. - targetLang — a qual idioma de saída a regra se aplica, para que um glossário possa cobrir português + espanhol + alemão de uma vez.
Adicione 30 dessas para um elenco típico de visual novel e você eliminou toda a classe de deriva de nomes próprios de uma só vez.
Como funciona a máscara de placeholder (agnóstica ao provedor)
A abordagem ingênua — trocar o termo de destino por regex depois que o provedor roda — mais ou menos funciona no DeepL mas quebra nos LLMs, que já reformularam a frase em torno do termo que traduziram, deixando artigos soltos e capitalização estranha.
O RuneTranslate mascara os termos do glossário antes de eles chegarem ao provedor. O runner percorre cada string de origem em lote e substitui cada source do glossário por um placeholder numérico — [[G0]], [[G1]] e assim por diante (termo correspondente mais longo primeiro, então 魔王軍 vence sobre 魔王). O provedor vê tokens opacos que não pode traduzir errado. Na volta, esses placeholders viram seu termo target, e então a máscara de tags de motor (códigos do RPG Maker, tags KAG, interpolações do Ren'Py) é restaurada por cima. Resultado: os termos do glossário são renderizados de forma idêntica quer você esteja no DeepL, em um LLM, ou no Google Translate gratuito.
Ordem de prioridade — TM vence glossário vence provedor
Saber como um lote flui pelo runner explica por que edições de glossário não custam créditos de provedor e como a memória de tradução coopera:
- Curto-circuito da memória de tradução (TM). Se você já traduziu esta exata string de origem em qualquer projeto passado, a tradução em cache é servida instantaneamente — zero chamadas ao provedor. A unidade deixa o lote antes de o provedor vê-la.
- A máscara de glossário é aplicada a quaisquer unidades que a TM não serviu.
- A chamada ao provedor roda sobre o texto mascarado. Esta é a única etapa que custa dinheiro / conta contra a cota.
- Restauração — os placeholders de glossário viram seus termos de destino, e então as tags de motor são restauradas por cima.
- Gravação na TM — a linha traduzida final é armazenada em cache, então na próxima vez que você vir este japonês é um acerto gratuito da etapa 1.
A TM é a maior economia de custo; o glossário é a maior economia de qualidade. Juntos eles se compõem: edite uma linha à mão uma vez, ela é armazenada em cache na TM, e o glossário mantém os nomes próprios consistentes entre acertos de cache e lotes novos por igual.
Interação TM + glossário (o guarda de bypass)
Um caso extremo sutil: digamos que você traduziu 100 linhas com 勇者 há três meses sem um glossário, e a TM as armazenou como Guerreiro / Campeão / Herói aleatoriamente. Agora você adiciona 勇者 → Herói ao glossário.
Ingenuamente, a TM ainda devolveria Guerreiro — foi o que ficou em cache. O RuneTranslate protege contra isso: no momento do acerto de TM, se um source de glossário aparece na unidade mas o target em cache não contém a renderização target do glossário, o acerto de cache é ignorado e essa unidade cai para uma chamada nova ao provedor. O resumo da rodada mostra uma linha "N unidades ignoraram o cache para honrar mudanças de glossário". Então adicionar uma nova entrada de glossário a um projeto antigo nunca te deixa preso com nomes desatualizados — basta rodar de novo as unidades afetadas.
Construindo seu glossário — o que adicionar
Para um projeto típico, ordene por impacto:
- Lista de elenco primeiro. Cada personagem nomeado — puxe de uma wiki, do VNDB ou da própria tela de créditos do jogo. Isto sozinho elimina ~80% da deriva em jogos longos.
- Lugares em segundo. Cidades, masmorras, regiões, reinos — especialmente kanji com mais de uma romanização plausível.
- Ataques / habilidades marcantes em terceiro. Golpes de chefe, magias recorrentes, nomes de golpes especiais — importantes para RPGs e VNs cheias de combate.
- Terminologia específica do mundo em quarto. Palavras inventadas para raças, classes, artefatos, moeda.
O que não adicionar: palavras comuns. 剣 → espada convida a falsos positivos — trava todo composto contendo 剣 (魔剣, 聖剣, 剣士) que o provedor teria renderizado bem por conta própria. As entradas são correspondências de substring literais e sensíveis a maiúsculas, então mantenha-as longas o suficiente para serem únicas ao nome próprio que você está travando.
Importação / exportação CSV — compartilhando glossários
Traduzindo com colaboradores? A aba de glossário em Configurações tem botões Importar CSV e Exportar CSV que fazem o round-trip das suas entradas por um arquivo RFC-4180 com o cabeçalho source,target,targetLang e um termo por linha — ex.: 勇者,Herói,pt e 勇者,Héroe,es. A linha de cabeçalho é obrigatória; campos contendo vírgulas ou aspas são envolvidos em aspas duplas (aspas embutidas são duplicadas), e a importação lê UTF-8 com um BOM opcional (o padrão do Excel). Linhas vazias e linhas com um targetLang não suportado são puladas com um motivo por linha.
A importação oferece um modo Mesclar (adiciona as linhas do CSV por cima, deduplica por source + idioma, o CSV vence em conflito) ou um modo Substituir (apaga o existente e usa apenas o CSV). Mesclar é o padrão certo para colaboradores compartilhando um glossário parcial; Substituir é certo para restaurar um backup.
Limitações atuais
- Apenas correspondências de substring literais. Sem regex, sem curingas — para travar tanto
勇者よquanto勇者だ, adicione duas entradas. - Um idioma de destino por entrada. Uma linha está ligada a um idioma de saída, então "勇者 → Herói (pt) + Héroe (es) + Held (de)" são três linhas. O formato CSV suporta isso naturalmente.
- Apenas tiers pagos (Supporter e acima). O tier gratuito mostra o cartão de glossário, mas as entradas não afetam as rodadas de tradução; o diálogo de descoberta aponta para o Patreon.
Concluindo
De cada alavanca de qualidade na tradução automática, o glossário tem a maior razão de esforço para impacto — dez minutos construindo-o economizam horas de correção manual de nomes inconsistentes lá na frente. Comece com a lista de elenco, lance uma primeira passagem, e adicione termos conforme você lê o resultado e nota deriva.
Combine-o com um provedor que lida bem com o tom (o Anthropic Claude é meu padrão para VNs) e o refinador por IA, e sua saída já está além de "tradução automática legível" e em "poderia lançar como fan translation com edição manual leve".
Baixe o RuneTranslate para experimentar o glossário em um projeto real. É um recurso Supporter ($3/mo); o tier gratuito permanece totalmente desbloqueado para motores e 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
