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

Como traduzir um jogo Unity para o português

9 de jun. de 2026·6 min de leitura

Traduza jogos Unity com o RuneTranslate — lendo TextAssets, campos de MonoBehaviour (Mono e IL2CPP) e StreamingAssets, por que é apenas texto externalizado, e como o guarda de identificadores impede que você quebre o jogo.

O Unity é o motor por trás de uma fatia crescente de jogos indie e visual novels japonesas — e o mais complicado dos motores comuns de traduzir, porque o Unity não tem um único formato de texto. O diálogo pode morar em blobs TextAsset, em campos de string de MonoBehaviour, em scripts soltos de StreamingAssets, ou compilado direto em uma DLL C#. Este guia percorre a tradução de um jogo Unity com o RuneTranslate e, tão importante quanto, explica a única regra que torna o Unity diferente: apenas texto externalizado.

A grande ressalva primeiro: apenas texto externalizado

O RuneTranslate traduz texto do Unity que mora em dados — arquivos de asset que o motor carrega em tempo de execução, incluindo os campos de string dos componentes MonoBehaviour (diálogos, nomes, rótulos). Ele lê esses campos em builds tanto Mono quanto IL2CPP: o layout de tipos vem das próprias DLLs do jogo no Mono, ou é reconstruído a partir dos metadados IL2CPP quando não há pasta Managed/. O que ele não consegue alcançar é texto fixo no próprio código C# compilado (Assembly-CSharp.dll). Na prática, jogos que mantêm seu script em assets e componentes traduzem bem — e abrir o projeto, o primeiro passo, te diz o que você tem.

O que você precisa

  • RuneTranslate para Windows — gratuito, todos os motores e provedores desbloqueados.
  • Uma pasta de jogo Unity — o diretório com o .exe do jogo e uma pasta <GameName>_Data/ (contendo globalgamemanagers, resources.assets, data.unity3d e arquivos level*).
  • Um idioma de destino — português, inglês, espanhol, francês, alemão, russo, chinês, italiano, turco, vietnamita e mais de 20 outros.
  • Um provedor de tradução. 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.

Passo 1: Abra a pasta do jogo

Inicie o RuneTranslate, clique em Novo projeto e aponte-o para o diretório do jogo Unity. A detecção de motor procura pela pasta _Data/ e identifica o projeto como Unity. Um sidecar Python UnityPy embutido (enviado dentro do instalador) abre os arquivos de asset e lista as strings legíveis em um espaço de trabalho por projeto em %APPDATA%/RuneTranslate/unity-workspace/<projectId>/. Sua pasta de jogo original nunca é modificada. O Unity é um motor de melhor esforço — verifique se a build exportada roda antes de redistribuir.

Passo 2: Como as strings são extraídas

O RuneTranslate lê texto de todo lugar em que o Unity o externaliza:

  • TextAssets — blobs de JSON / CSV / script embutidos em .assets e AssetBundles, fatiados por um extrator ciente do formato.
  • Campos de string de MonoBehaviour — texto de exibição nos componentes (diálogos, nomes, rótulos), em builds tanto Mono quanto IL2CPP (a informação de tipo vem das DLLs do jogo, ou é reconstruída a partir dos metadados IL2CPP).
  • StreamingAssets — arquivos de script soltos percorridos diretamente no disco (.json, .txt, .csv, .tsv, .xml, .yaml, .ks e mais).
  • AssetBundles Addressable criptografados — jogos que criptografam com AES seus AssetBundles Addressable são descriptografados automaticamente (a chave é derivada do próprio nome de arquivo do bundle), então seu texto extrai como qualquer outro bundle.

O Unity também é onde a supertradução causa mais dano, então o RuneTranslate traz um guarda para isso. Muitas strings de MonoBehaviour não são texto de exibição de forma alguma — são identificadores de controle e operandos de fluxo: nomes de cena que uma chamada LoadScene resolve por string, chaves de roteamento de mensagens, nomes de clipes de animação / som, nomes de partes Live2D, e os valores de comparação dentro da lógica If / SetVariable do Fungus (ex.: uma flag como 村落出口). Traduza esses e o jogo quebra silenciosamente — o sintoma clássico é uma tela de "carregando" infinita sem erro. O RuneTranslate os classifica automaticamente como excluídos (mostrados em vermelho, apenas opt-in), então o editor destaca diálogos e rótulos genuínos e deixa o maquinário em paz. As substituições {$var} do Fungus e a marcação {color=...} / TMP <...> são mascaradas atrás de placeholders para que sobrevivam intactas à tradução.

Passo 3: Traduza e revise

Escolha um provedor e rode. O DeepL ou um LLM leem melhor para diálogos; o Google Translate gratuito cobre menus e nomes de itens. Coloque seu elenco e termos recorrentes no glossário primeiro — veja o Glossário 101. Cada linha chega ao editor ao lado de sua origem; edite inline (salva ao desfocar ou com Ctrl+Enter), e rode o refinador por IA opcional para uma revisão de segunda passagem. O tier gratuito roda com um limite modesto (cerca de 2× mais lento nos provedores de IA, menos nos scrapers) — mesmos motores, mesma qualidade de saída; o pago apenas roda em velocidade máxima.

Passo 4: Exporte uma build jogável

Clique em Exportar. O RuneTranslate copia o jogo e então aplica as strings traduzidas de volta nos arquivos de asset no lugar. O mesmo guarda de exclusão roda na regravação, então um projeto antigo não pode acidentalmente enviar um nome de cena ou operando de fluxo traduzido na reexportação. A saída é uma cópia completa e executável do jogo no local que você escolher — inicie o .exe e ele joga no seu idioma de destino.

Traduzindo para um idioma não-latino (chinês, japonês, coreano, tailandês, árabe) cujos glifos a fonte integrada do jogo não consegue renderizar? O RuneTranslate injeta uma fonte de fallback na pilha de fontes do TextMeshPro na exportação, para que o texto traduzido apareça em vez de quadradinhos de glifo faltando.

Limitações conhecidas

  • Apenas texto externalizado: strings fixas no código C# compilado (Assembly-CSharp.dll no Mono, ou o binário IL2CPP) não são traduzidas. Campos de dados de MonoBehaviour são — em builds tanto Mono quanto IL2CPP.
  • A leitura de MonoBehaviour em IL2CPP precisa de um global-metadata.dat analisável; metadados muito ofuscados podem não ser reconstruídos (melhor esforço).
  • Melhor esforço: confirme se o jogo exportado inicia e é lido corretamente antes de compartilhá-lo.
  • Texto em imagem (logos, interface desenhada à mão, legendas de CG) não é traduzido — fora do escopo da tradução automática.

Por que isto é mais fácil do que o jeito antigo

A tradução manual de Unity significava descompactar assets com UABE ou AssetStudio, caçar quais TextAssets e campos de MonoBehaviour guardavam texto de verdade, evitar à mão as strings de identificador que travam o jogo, e então reimportar sem corromper a tabela de assets. O RuneTranslate dobra extrair, classificar (para você não traduzir maquinário), traduzir e aplicar-no-lugar em alguns cliques — com o editor aberto para você controlar as palavras.

Veja a página do motor Unity para a lista completa de recursos, leia o guia de TyranoBuilder para um motor baseado em HTML, ou baixe o RuneTranslate e experimente em um jogo real.

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 Godot para o português

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

Como traduzir um jogo Ren'Py para o português (tutorial completo)

renpytutorialengine9 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