EnginesGuiasFAQPatreonDiscordBaixar
Entrar
RuneTranslate · traduza jogos japoneses de ponta a ponta
EnginesGuiasCompararTexto em imagensEditor de savesModo CheatFAQBaixarPatreonDiscordYouTubePrivacidadeTermosContato
Todos os posts
nscripter · onscripter · engine

Como traduzir visual novels NScripter / ONScripter

16 de jun. de 2026·6 min de leitura

O RuneTranslate traduz visual novels NScripter e ONScripter para o português e mais de 30 idiomas — decodificando o nscript.dat ofuscado por XOR, tratando Shift-JIS / CP932 e exportando uma cópia pronta para rodar. Novo; relate qualquer coisa que não carregar.

O RuneTranslate lê uma das famílias de motor mais antigas das visual novels japonesas: o NScripter e seu irmão de código aberto ONScripter. Essas VNs doujin clássicas — as que vêm como uma pasta de arquivos .dat enigmáticos e scripts Shift-JIS — historicamente foram as mais dolorosas de abrir à mão, e as que as ferramentas de tradução automática costumam pular. O RuneTranslate detecta o motor, lê o texto do script, e pode até traduzir o japonês pintado na tela de título e nos botões de menu.

Este suporte a motor é recém-adicionado e ainda não verificado em jogos reais, então, se você apontar o RuneTranslate para um jogo NScripter / ONScripter e ele não detectar ou não carregar, por favor nos avise — mais sobre isso no final.

O que o NScripter e o ONScripter realmente são

O NScripter é um motor de scripting de VN para Windows de código fechado, de Naoki Takahashi, amplamente usado no Japão a partir do início dos anos 2000. Sua licença livre de royalties para uso pessoal e comercial, seu empacotador de arquivos integrado e sua linguagem de scripting famosamente de baixo nível fizeram dele um pilar da cena doujin; estúdios como a Nekonekosoft se apoiaram nele quase exclusivamente.

O ONScripter é uma reimplementação separada e de código aberto (GPL) do runtime do NScripter por um programador conhecido como Ogapee. Construído sobre SDL e compatível de forma drop-in, ele roda onde o NScripter não consegue — Linux, macOS, Android e mais — então a comunidade de localização o adotou (e forks como o ONScripter-EN e o Ponscripter para fontes Unicode proporcionais) como o runtime de fato para distribuir builds traduzidas.

Versão curta: o NScripter é o motor Windows fechado original no qual os jogos foram criados; o ONScripter é o runtime aberto e multiplataforma no qual os tradutores amadores rodam suas builds. O RuneTranslate trabalha a partir dos scripts e assets do jogo, então ele cobre títulos de qualquer um dos campos.

Por que esses jogos têm sido tão difíceis de traduzir

Comparado a um motor moderno como o Ren'Py ou o Kirikiri, o NScripter / ONScripter é um campo minado de peculiaridades da época do motor. Quatro em particular fizeram dele uma barreira tanto para tradutores manuais quanto para ferramentas de MT ingênuas:

  • Codificação Shift-JIS / CP932. Scripts legados são Shift-JIS (CP932). Decodifique errado e você recebe mojibake; recodifique de forma descuidada e alguns runtimes antigos corrompem a memória e travam. Scripts nativos modernos podem ser UTF-8, mas o catálogo antigo é CP932.
  • O `nscript.dat` ofuscado por XOR-`0x84`. O script compilado geralmente mora em nscript.dat (ou pscript.dat no Ponscripter), com cada byte submetido a XOR contra a constante 0x84. Não é criptografia — apenas uma proteção contra spoilers acidentais — mas mesmo assim você não consegue abri-lo em um editor de texto. Jogos em texto puro distribuem o script como 0.utf / 0.utf.txt (UTF-8) ou 0.txt / 00.txt (Shift-JIS).
  • Texto embutido em arte de imagem. Telas de título, menus e botões são frequentemente bitmaps pré-renderizados, então o japonês neles são pixels, não strings — um extrator de strings não consegue tocá-los.
  • A sutil: linhas que começam com Latim são reinterpretadas como comandos. O parser do NScripter começa cada linha em modo comando. Isso era seguro quando o motor só aceitava japonês de dois bytes, mas uma linha começando com uma letra Latina de um byte parece exatamente um comando e o motor tenta executá-la. A correção da comunidade é um marcador de texto reservado (o acento grave ` ` no ONScripter legado; ^` no Ponscripter) que força o modo texto — que um find-and-replace ingênuo não vai adicionar.

O que o RuneTranslate faz agora

O RuneTranslate trata o NScripter / ONScripter como um motor de primeira classe e cuida das duas metades do problema:

  • O texto do script. Ele lê o script do jogo — um arquivo solto em texto puro ou um nscript.dat ofuscado com XOR 0x84 — decodifica os diálogos em Shift-JIS / CP932, lista cada linha traduzível no editor, e na exportação escreve o script de volta na forma que o motor espera, reaplicando o XOR quando o original o usava. Ele também insere o marcador de texto de um byte automaticamente para que o português traduzido não seja mal interpretado como um comando. (Um script que mora apenas dentro de um arquivo .nsa / .sar, sem cópia solta, ainda não é lido — veja as limitações.)
  • O texto pintado em imagens. O japonês nas telas de título e menus é tratado pela tradução de texto em imagem: delimite as palavras, reconheça-as, traduza com o seu próprio provedor e regrave o resultado para que o jogo carregue sua arte traduzida.

Japonês → português é o ponto forte — é sobre isso que gira a história de fan-translation deste motor — mas você pode mirar em mais de 30 idiomas. Em scripts Shift-JIS legados, um destino não-latino é limitado pelas fontes que o motor consegue renderizar.

O que você precisa

  • RuneTranslate para Windows — gratuito, todos os motores e provedores desbloqueados.
  • Uma pasta de jogo NScripter ou ONScripter — o diretório com o .exe do jogo (ou um binário ONScripter), seu script (nscript.dat, ou um 0.txt / 0.utf solto) e quaisquer arquivos .nsa / .sar.
  • Um idioma de destino — português, inglês, espanhol, francês, alemão, chinês, e mais de 30 outros.
  • Um provedor. O Google Translate gratuito funciona de imediato; o DeepL tem um tier gratuito; o OpenAI, o Anthropic, um modelo local e qualquer API compatível com OpenAI exigem sua própria chave. Esses jogos têm muitos diálogos, então um LLM ou o DeepL lê melhor.

Passo 1: Abra a pasta do jogo

Inicie o RuneTranslate, clique em Novo projeto e aponte-o para o diretório do jogo. A detecção roda automaticamente: um nscript.dat / pscript.dat, ou um 0.utf / 0.utf.txt em texto puro, basta por si só. Um 0.txt Shift-JIS sozinho ou um arquivo .nsa isolado só é reconhecido ao lado de um sinal corroborante — um binário ONScripter, uma fonte de jogo ou um arquivo acompanhante — para evitar correspondências falsas. Sua pasta de jogo original nunca é modificada.

Passo 2: Como o script é lido

O RuneTranslate lê o script que o jogo distribui solto em sua raiz e o decodifica para você:

  • `nscript.dat` ofuscado — revertido por XOR contra 0x84 e lido como Shift-JIS, para que você pule uma etapa separada de nsdec.
  • Scripts em texto puro — 0.utf / 0.utf.txt (UTF-8) ou 0.txt / 00.txt (Shift-JIS), lidos diretamente.
  • Imagens arquivadas — extraídas dos arquivos .nsa / .sar do jogo para a etapa de texto em imagem. (O próprio script é lido dos arquivos soltos da raiz; um script empacotado apenas dentro de um arquivo ainda não é lido.)

Diálogos e texto exibido são listados no editor, agrupados por arquivo. A marcação do motor e os tokens de comando são mascarados atrás de placeholders numéricos antes de chegar ao provedor, e então restaurados na saída — e o marcador de texto de um byte é aplicado onde necessário, para que o motor não confunda uma linha traduzida com um comando.

Passo 3: Traduza

Escolha um provedor e rode. Um LLM (OpenAI / Anthropic) é o melhor para a voz dos personagens, o DeepL é rápido e limpo para narração, e o Google Translate gratuito serve bem para strings curtas de menu. Coloque seu elenco no glossário logo de início para que os nomes sejam renderizados de forma idêntica — veja o Glossário 101. Quando terminar, uma passagem opcional com o refinador por IA relê cada linha em contexto e aperta o fraseado engessado e literal que a MT costuma deixar.

Passo 4: Traduza o texto nas imagens

Como boa parte da interface do NScripter é arte pré-renderizada, esta etapa importa mais aqui do que na maioria dos motores. Abra uma imagem de título ou menu, delimite cada trecho de japonês, reconheça-o, traduza-o com o mesmo provedor e, na exportação, o RuneTranslate regrava a tradução e a escreve solta na cópia exportada, para que o motor carregue sua arte traduzida por cima do original arquivado. (Sua pasta original permanece intocada; arte comprimida em SPB e algumas variantes exóticas de imagem ainda estão sendo aprimoradas.) Tutorial completo: tradução de texto em imagem.

Passo 5: Exporte uma cópia pronta para rodar

Clique em Exportar. O RuneTranslate escreve uma cópia traduzida do jogo — o script recodificado para Shift-JIS / CP932 e reofuscado com XOR 0x84 se o original o usava, escrito como um script solto que o motor carrega por cima de qualquer cópia arquivada, mais quaisquer imagens traduzidas ao lado. Rode-o e ele joga no seu idioma de destino, seja no runtime original do NScripter ou no ONScripter / ONScripter-EN.

Limitações conhecidas

  • A ofuscação XOR-0x84 é tratada, mas um jogo com criptografia personalizada genuína pode não abrir.
  • Um script empacotado apenas dentro de um arquivo .nsa / .sar, sem nscript.dat / 0.txt solto na raiz, ainda não é extraído — a maioria dos jogos o distribui solto, mas alguns não.
  • A tradução de texto em imagem alcança menus, títulos e botões pintados, mas arte comprimida em SPB e logos muito estilizados podem querer um retoque manual.
  • O motor exato pode variar por lançamento — alguns títulos associados ao NScripter foram reengenheirados para relançamentos específicos de Steam / console. Verifique na sua cópia.

É novíssimo — conte-nos o que quebra

Este motor é uma adição recente, ainda não testada em campo. O NScripter / ONScripter tem décadas de variantes, forks e peculiaridades por estúdio que nem todas vimos. Então, se você apontar o RuneTranslate para um e ele não detectar, não carregar, ou exportar algo que o runtime não abre, por favor relate — o nome do jogo e como ele está empacotado (0.txt solto, nscript.dat, arquivos .nsa) nos ajuda a fortalecê-lo mais rápido.

Baixe o RuneTranslate, aponte-o para aquela VN clássica que você pretendia ler, e experimente. Para um motor de VN mais moderno, leia o tutorial de Ren'Py a seguir.

Leitura relacionada
01

Como traduzir os arquivos .po e .mo de um jogo (gettext)

gettextpomoenginetutorial4 de ago. de 2026 · 7 min
Ler →
02

Como traduzir jogos AliceSoft System (Rance, Evenicle…)

alicesoftranceengine26 de jun. de 2026 · 6 min
Ler →
03

Como traduzir visual novels YU-RIS para o português

yu-risengine25 de jun. de 2026 · 6 min
Ler →

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