Como traduzir um jogo de TyranoBuilder / TyranoScript para o inglês
Um guia passo a passo para traduzir visual novels de TyranoBuilder / TyranoScript para o inglês com o RuneTranslate — extraindo os scripts data/scenario/*.ks, mascarando as tags KAG, traduzindo os nomes exibidos dos personagens e exportando uma build jogável em HTML5 ou Electron.
O TyranoBuilder e o motor TyranoScript no qual ele se baseia dão vida a um vasto catálogo de visual novels japonesas independentes — é a alternativa de tecnologia web (HTML5 / JavaScript) ao Kirikiri e ao Ren'Py, e distribui os jogos tanto como pastas HTML5 autônomas quanto como executáveis empacotados com Electron. Seus cenários usam a mesma sintaxe de script .ks no estilo KAG do Kirikiri, o que facilita chegar ao texto assim que você sabe onde ele fica. Este guia percorre a tradução completa de um jogo de TyranoBuilder com o RuneTranslate, incluindo a parte específica do motor que a maioria das ferramentas ignora: os nomes exibidos dos personagens.
O que você precisa
- RuneTranslate para Windows — gratuito, com todos os motores e provedores desbloqueados.
- Um jogo de TyranoBuilder. Seja uma pasta HTML5 autônoma (diretórios soltos
data/etyrano/na raiz) ou uma build empacotada com Electron (umresources/app.asarcontendotyrano/tyrano.jsedata/scenario/*.ks). O RuneTranslate detecta ambas. - Um idioma de destino — inglês, espanhol, francês, alemão, português, russo, chinês, italiano, turco, vietnamita e mais de 20 outros.
- Um provedor de tradução. As visual novels têm muitos diálogos, então um LLM (OpenAI / Anthropic) ou o DeepL geralmente ficam melhores; o Google Translate gratuito funciona de imediato.
Passo 1: Abra a pasta do jogo
Inicie o RuneTranslate, clique em Novo projeto e aponte-o para o diretório do jogo (ou para a pasta que contém o .exe nas builds empacotadas com Electron). A detecção de motor roda automaticamente e reconhece o TyranoBuilder pelo seu runtime tyrano/ mais os scripts de data/scenario/. Nas builds de Electron, o RuneTranslate lê o app.asar diretamente — você não precisa desempacotar nada. Seu jogo original nunca é modificado.
Passo 2: Como as strings são extraídas
O RuneTranslate extrai o texto traduzível de todos os lugares onde o TyranoBuilder o armazena:
- Scripts de cenário — todos os arquivos
data/scenario/**/*.ks, incluindo o_preview.kse os espelhossystem/_*.ksdos quais os jogos com builds criptografadas dependem. - Interface e configuração — as strings de interface de
tyrano/lang.jsedata/system/Config.tjs. - Nomes exibidos dos personagens — os rótulos de quem fala mostrados acima do diálogo (veja a próxima seção).
As tags inline do KAG — quebras de linha [r], esperas de clique [p], quebras de página [改ページ], [font color=...] e outras tags com nome em japonês — são mascaradas atrás de marcadores numéricos [[U#]] antes de qualquer coisa chegar ao provedor, e depois restauradas na exportação, de modo que a formatação do motor sobrevive intacta. Arquivos .ks binários ou criptografados são detectados por uma verificação de UTF-8 e nunca são sobrescritos.
Passo 3: Nomes dos personagens — a parte específica do Tyrano
Os cenários do TyranoBuilder frequentemente se referem a quem fala com uma abreviação inline como [yuki] — um ID de personagem, não texto exibido. O RuneTranslate nunca reescreve essas referências inline (reescrevê-las quebraria a busca de personagens do motor e travaria a cena). Em vez disso, ele traduz o nome exibido do personagem e injeta uma entrada [chara_new name=... jname=...] adequada em data/system/chara_define.ks na exportação. O resultado: o nome mostrado na tela é traduzido, enquanto o ID que o script usa para encontrar aquele personagem permanece intocado.
Passo 4: Traduza e revise
Escolha um provedor e execute. O OpenAI GPT-4o ou o Anthropic Claude ficam melhores para a voz dos personagens e a fala estilizada; o DeepL é rápido e limpo para a narração; o Google Translate gratuito cobre os menus. Monte primeiro um glossário com o seu elenco e os termos recorrentes para que os nomes apareçam idênticos em cada rota — veja Glossário 101. Cada linha aparece no editor ao lado do original; edite inline (salva ao perder o foco ou com Ctrl+Enter), use localizar e substituir, ou execute o refinador de IA opcional para uma segunda revisão com contexto. O RuneTranslate no nível gratuito é limitado a ~3–4× mais lento que o pago — com a mesma qualidade de saída.
Passo 5: Exporte uma build jogável
Clique em Exportar. Para jogos HTML5 autônomos, o RuneTranslate grava os scripts .ks traduzidos, o lang.js, a configuração e o chara_define.ks injetado em uma cópia do jogo. Para jogos empacotados com Electron, ele reempacota um app.asar modificado. De qualquer forma, a saída é uma cópia completa e executável no local que você escolher — inicie-a e ela roda no seu idioma de destino.
Limitações conhecidas
- Arquivos
.kscriptografados (detectados como não UTF-8) são deixados intactos — se uma build criptografa seus cenários, essas linhas não serão traduzidas. - Texto em imagens (logotipos, interface desenhada à mão, legendas de CG) não é traduzido — está fora do escopo da tradução automática.
- Plugins personalizados que constroem strings de diálogo em tempo de execução podem precisar de um rápido ajuste manual no editor.
Por que isso é mais fácil que o jeito antigo
A rota manual significava desempacotar o app.asar, encontrar todos os arquivos .ks (incluindo os espelhos de sistema fáceis de perder), traduzir contornando as tags KAG na mão, decifrar a injeção de nomes de personagens para que os rótulos de quem fala realmente mudassem, e depois reempacotar o asar sem corrompê-lo. O RuneTranslate condensa toda essa cadeia em alguns cliques, com o editor aberto para que você controle a redação.
Veja a página do motor TyranoBuilder para a lista completa de recursos, leia o guia do Kirikiri para o motor KAG relacionado, ou baixe o RuneTranslate e teste-o em um jogo real.
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