Tradução Castlevania Lords Of Shadow 2 - Tradução Castlevania: Lords of Shadow 2 PT-BR - Traduções de Jogos - PT ...
Tradução Castlevania: Lords of Shadow 2 PT-BR - Traduções de Jogos - PT ...

Tradução de Castlevania: Lords of Shadow 2 no PC

Achei o jogo interessante, mas a versão em português da Konami trazia legendas cortadas e menus com fontes que não cabiam no texto. Decidi fazer a minha própria tradução porque a oficial não resolvia os problemas de layout.

O que envolve a tradução castlevania lords of shadow 2

O jogo roda em Unreal Engine 3, então os dados de texto ficam em arquivos .pak compactados. Dentro deles há tabelas de strings, arquivos UMX para áudio e texturas de UI com letras embutidas. A tradução não é só substituir palavras: precisa ajustar largura, reposicionar quadros de diálogo e, às vezes, regenerar texturas para manter a consistência visual. Na prática, o fluxo básico é: extrair, identificar os arquivos de texto, traduzir mantendo placeholders, inserir de volta, corrigir fontes/texture atlases e testar. O tempo varia entre 3 e 8 horas dependendo da qualidade dos arquivos extraídos e do quanto o layout original já está quebrado.

Como fazer, passo a passo

Comece fazendo backup de tudo. Copie a pasta do jogo para outro local e trabalhe nessa cópia. Se o jogo tiver DRM ou lançador, desative temporariamente para evitar verificações de integridade durante os testes. Use um extrator de .pak, como umodel ou um script Python baseado no formato UModel. Abra o arquivo principal e filtre por extensões .u, .utx e .umx. Anote os caminhos que contenham “local” ou “lang” — costuma haver pastas para cada idioma. No meu caso, encontrei uma pasta “pt” com strings incompletas e outra “en” como base.

Abra os arquivos .u com um viewer de pacotes ou exporte as tabelas de string. Muitos ficam em structs do tipo “LocalizeEntry”. Exporte para CSV, edite com Excel ou LibreOffice, mas preserve colunas como Key, Text e os marcadores %s, %d que indicam variáveis. Se perder esses marcadores, o jogo vai travar na exibição ou mostrar “%%%” na tela. Depois de editar, importe de volta. Aqui mora o detalhe mais chato: a engine espera strings em UTF-16 com terminador nulo. Se salvar em UTF-8, o texto aparece como caracteres quebrados. Use o próprio UModel para reimportar ou um conversor que garanta UTF-16 LE com BOM, conforme o padrão do Unreal 3.

Para os menus e legendas sobrepostas, há o problema das texturas de fonte. Em Lords of Shadow 2, algumas caixas de diálogo usam texturas atlas com letras fixas. Se o texto traduzido for maior que a caixa original, ele corta ou sobrepõe elementos. Minha solução foi exportar a textura da caixa, desenhar um retângulo translúcido no tamanho adequado no GIMP, reimportar como .utx e ajustar a UV no arquivo de material correspondente. Leva tempo, mas evita aquele visual de legenda colada no rosto do personagem. Teste frequentemente. Cada mudança nos arquivos .pak exige que o jogo recarregue a assets pack. Se o launcher validar checksums, o jogo pode rejeitar o patch. Nesse caso, copie o arquivo modificado para uma pasta de overlay ou use um loader de pacotes que preceda o padrão do jogo, se disponível na comunidade.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Problema específico que encontrei e como resolvi

Uma vez, ao traduzir os diálogos da cena final, o jogo travava ao exibir uma linha com acento circunflexo em UTF-16. O erro era uma inconsistência no código de escape do gerador de strings: ele não processava bem o caractere ^ combinado com vogais. A solução foi abrir o arquivo CSV, substituir manualmente os acentos por combinações de múltiplos caracteres e testar linha por linha. Identifiquei o padrão errado exportando cada string para um arquivo temporário e rodando um script que lia os bytes brutos. Assim, corrigi apenas as linhas problemáticas sem refazer todo o trabalho.

Dicas técnicas que realmente ajudam

Mantenha os placeholders intactos. Strings como “%s” e “%d” controlam inserções dinâmicas. Removê-los causa crashes ou textos truncados. Use nomes de chave consistentes. Ao reimportar, respeite os nomes originais das chaves. Mudar um identificador faz o jogo não encontrar a string e exibir “[MISSING]” na tela.

Verifique a largura máxima dos quadriláteros. Antes de traduzir, meça o espaço disponível no layout. Caixas de diálogo costumam ter largura fixa em pixels; textos longos precisam de quebra de linha manual no CSV, mas só se a engine permitir. Teste com uma string de 40 caracteres para calibrar. Pacotes de áudio. Se quiser dublagem, os arquivos .umx precisam ser convertidos para o codec correto. O Unreal 3 costuma usar Vorbis ou ADPCM. Se o áudio não sincronizar, ajuste o offset de tempo no arquivo de localização ou use um editor de áudio para alinhar manualmente.

Limitações e onde isso falha

Existem cenários em que a tradução não funciona bem. Arquivos protegidos por DRM, versões atualizadas que mudaram a estrutura dos .pak e jogos com assets compilados em formato fechado impedem a modificação direta. Além disso, patches da comunidade podem conflitar com atualizações oficiais, causando crashes após update. Outro ponto: a qualidade da tradução oficial pode ser ruim, mas refazer tudo do zero exige conhecimento técnico e tempo. Em alguns casos, vale mais a pena usar um patch de fãs já testado do que construir um package próprio do zero.

Se o jogo tiver anti-cheat ou validação de integridade ativa, qualquer alteração nos arquivos pode ser detectada. Nesse caso, a única via segura é trabalhar em uma cópia offline ou usar ferramentas que encapsulem as modificações sem alterar os arquivos originais.

Alternativas e recomendações práticas

Se o objetivo é apenas jogar em português, busque patches da comunidade que já passem por teste de compatibilidade. Eles costumam resolver os problemas comuns de layout e encoding sem exigir que você edite arquivos manualmente. Se quiser personalizar termos técnicos, nomes de habilidades ou legendas específicas, faça um pequeno pacote de overlay usando um loader de pacotes, mas mantenha os arquivos originais intactos para facilitar restauração. Documente cada mudança. Um log simples com datas, arquivos alterados e versões testadas economiza horas quando algo quebra após um update. A engine do jogo não perdoa inconsistências, então anotar o que foi feito é parte do processo, não burocracia.