Tradução RPG Maker MV vs MZ: o que muda para tradutores
Os dois motores compartilham a maior parte da superfície de tradução, mas os parâmetros de plugin, os códigos de controle e o layout da pasta de dados mudam no MZ. Notas práticas para tradutores que alternam entre projetos RPG Maker MV e MZ.
Para a tradução RPG Maker MV vs MZ, os dois motores são 90% iguais. Ambos armazenam diálogos, escolhas, itens, habilidades e termos como JSON, usam os mesmos códigos de comando de evento e honram os mesmos códigos de controle (\C[1], \N[2], \V[3], etc.). Os 10% restantes — layout de pasta e formato de parâmetro de plugin — são o que confunde os tradutores quando eles alternam entre os dois. Este post é uma referência rápida.
Layout de pasta: a diferença mais visível
- MV armazena dados em
www/data/*.json, com assets, plugins e o runtime empacotado ao lado. - MZ descarta o invólucro
www/e armazena dados emdata/*.jsondiretamente.
Para o RuneTranslate isso é invisível — a detecção checa ambos os caminhos e escolhe o que existir. Só importa se você inspecionar um arquivo à mão: lembre do prefixo.
Diálogos, escolhas e códigos de evento
A estrutura de comandos de evento é a mesma nos dois motores, então a superfície de tradução é idêntica. O RuneTranslate lê:
401— uma linha de Mostrar Texto. Cada linha visível é seu próprio401.405— uma linha de Mostrar Texto Rolante (créditos, longos rolar de monólogos).102— texto de opção de escolha (e402, o rótulo do ramo de cada escolha).320,324,325— Alterar Nome, Apelido e Perfil do Ator (usados para renomeações e biografias de personagens).108/408— comentários. Estes não são voltados ao jogador, então são excluídos por padrão e nunca traduzidos automaticamente (você pode incluir uma linha se precisar).
O RuneTranslate analisa todos esses de forma idêntica entre MV e MZ. No MZ, o 101 também carrega o nome do falante mostrado acima da caixa de mensagem, que também é capturado.
Quebra de linha para a caixa de mensagem
Tanto MV quanto MZ quebram os diálogos na borda da janela de mensagem — a caixa padrão comporta cerca de 46 caracteres de byte único por linha. O RuneTranslate quebra os diálogos automaticamente na exportação (aplicado às linhas 401 / 405) para que o texto traduzido não estoure a caixa de fala.
A largura de quebra é configurável por projeto — aumente-a para uma janela mais larga, ou desative a quebra inteiramente para um jogo que lida com suas próprias quebras de linha. O RuneTranslate também injeta uma opção de encolhimento automático de fonte na exportação (MV e MZ) que escala linhas grandes demais para caberem em vez de cortá-las, o que cobre a maioria dos casos de fonte personalizada sem encurtar à mão.
Strings de parâmetro de plugin
Ambos os motores armazenam a configuração de plugin em js/plugins.js (sob www/ no MV) como um bloco PluginManager.parameters por plugin, com strings visíveis inline.
O RuneTranslate faz a correspondência dos valores de parâmetro de nível superior cujas chaves se leem como texto de exibição — text, message, label, caption, title, description, tooltip, button, menu e similares. Ele não decodifica recursivamente estruturas de parâmetro aninhadas codificadas em JSON; um plugin que empacota japonês em uma estrutura mais profunda apresenta essas strings como linhas excluídas que você pode incluir e corrigir à mão no editor. Então nada é perdido silenciosamente — qualquer coisa que a whitelist não traduz automaticamente ainda fica visível para revisão.
Códigos de controle: idênticos, nunca os deixe se perder
Ambos os motores suportam a mesma família de códigos de controle:
\C[n]— troca a cor do texto para o índice de paletan.\N[n]— imprime o nome do atorn.\V[n]— imprime o valor da variável de jogon.\.,\|,\^— modificadores de pausa / espera.
Estes precisam sobreviver à tradução literalmente. Se um provedor descarta ou corrompe \N[1], o jogo imprime lixo de barra invertida bruta em vez do nome do jogador. O RuneTranslate mascara cada código de controle com um placeholder opaco antes de enviar ao provedor, e então os restaura exatamente — e se algum placeholder falhar no round-trip, a unidade é marcada como falha para que o japonês original permaneça.
Exes empacotados (Enigma Virtual Box)
Alguns jogos MV/MZ vêm com a pasta data/ empacotada dentro do .exe via Enigma Virtual Box, então não há arquivos JSON soltos para apontar uma ferramenta. O RuneTranslate os detecta, descompacta os dados embutidos com um sidecar embutido e os traduz normalmente — a exportação escreve uma cópia completa, descompactada e executável com a data/ traduzida aplicada.
Dicas práticas de fluxo de trabalho
- Não edite os arquivos JSON à mão. Use o editor integrado para correções manuais — ele rastreia quais unidades você editou para que rodar o tradutor de novo preserve seu trabalho.
- Traduza os parâmetros de plugin por último. A maioria é texto de config / interface; rode os diálogos primeiro, e então os plugins em uma passagem separada com um provedor barato.
- Mantenha os saves entre retraduções. O RPG Maker carrega saves por índice de linha de dados, não por string, então desde que você não reordene eventos, os jogadores mantêm seus saves em uma retradução.
Para o tutorial completo de RPG Maker, veja a página do motor RPG Maker, ou baixe o RuneTranslate (gratuito — todos os motores e provedores incluídos) e experimente no seu jogo. Para comparar provedores para RPG Maker, veja Os melhores provedores para traduzir jogos japoneses.
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
