Tradução Jogos de Celular(Básico)
Autor: ♣♠_KamiKaze_♠♣ | Publicado: 2012-09-20T08:54:00-07:00








Então querem aprender a traduzir seus jogos favoritos de celular?

Você pode pensar que é uma tarefa dificil, mas muito pelo contrário, traduzir jogos é uma coisa muito simples.

O Tutorial a seguir foi todo feito pelo nosso amigo Jperes, e está disponível em seus blog. Esse  breve tutorial é feito com o conhecimento básico em tradução, o  que já  serve para a tradução de muitos jogos java para celular, será  usado  conteúdo retirado de outros sites para complementar as informações   (fontes citadas no final).

Programas necessários:


Antes de começar, veja se você tem esses programas ou similares (caso não tenha, baixe-os clicando nos links abaixo)

WinRar – Shareware
Xvi32 – Freeware


Em alguns casos, também podemos usar o Bloco de Notas do seu sistema operacional. Será usado nesse tutorial os programas descritos acima, mas use o de sua preferência. Note que alguns Editores Hexadecimais tem formas de exibição dos caracteres um pouco diferente (explicado mais a frente);


Extraindo o Jogo:


&nbsp;



Essa é a parte mais fácil, simplesmente selecione o jogo que deseja traduzir (com extensão .JAR), dê um clique direito e selecione “Extrair para XxX”. Em seguida, vá a pasta que foi criada.



Achando o(s) arquivo(s) de texto:




Em  alguns jogos será fácil de achar o arquivo (ou OS arquivos)  que  deve(m) ser traduzido(s). Simplesmente pelo fato de estarem em  “.txt”,  mas na maioria das vezes, as empresas adoram usar extensões  diferentes  como “.lang” (Fishlabs), “.bin” (EA) “.package”  ou somente  letra ou  número sem extensão (Gameloft) e diversas outras extensões. Para começar, usaremos o jogo Sven004, após extrair ele você verá o arquivo “text.txt” que é o arquivo onde estão os textos.



Agora, veja os textos que podem ser traduzidos, se aceita acentuação e MÃOS-A-OBRA! Nesse texto, note que “^” é usado para mostrar algo e não deve ser removido do texto. Você pode mudar o lugar dele, mas deve colocar no texto.






Lembre-se: Traduza  uma certa quantia de  textos e salve. Isso é como modo de previnir que  perca tempo traduzindo  muito texto e depois acabar dando erro.

Entendendo o código Hexadecimal:

Antes de começar a falar da tradução, temos que aprender o que é o código hexadecimal. Bem, números decimais já sabemos o que é, aquilo que aprendemos desde pequenos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Decimais (a palavra já endica 10) são 10 números, e eles formam todos numeros existentes. 

Os numeros hexadecimais, fogem as regras dos 10 números, e eles tem como o próprio nome diz, 16 caracteres. Mas tambem usa os 10 números antigos, e mais umas letras para completar os 16. Assim é o alfabeto hexadecimal: 00h, 01h, 02h, 03h, 04h, 05h, 06h, 07h, 08h, 09h, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, OFh, 10h, 11h, 12h, 13h, 14h, 15h, 16h, 17h, 18h... Lembrando que o "h" significa hexadecimal.

Mas para quê precimos aprender isso? Simples, um byte de memória consegue representar 16 caracteres. Nos editores hexadecimais (o próprio nome diz) aparece vários numeros hexadecimais em uma janela a esquerda. Na rom em si, eles aparecem na janela da esquerda do editor hexadecimal, e você traduzirá os textos na janela a direita, e as vezes terá editar nos hexadecimais (para aumentar o tamanho da palavra por exemplo), mas o mais importante de saber números hexadecimais é para calcularmos ponteiros (coisa que não veremos nesse tutorial).



Modos de Tradução:




Usando o Bloco de Notas



Em  alguns jogos, os textos podem ser facilmente editados usando o  simples  Bloco de Notas do sistema operacional (já visto acima), devendo  ver os  seguintes detalhes:

O jogo aceita acentuação?
Aceita todos caracteres? (como: ã, õ, ç, …)
 Cada texto está numa linha separada?
Há código de cores nos textos ou para dar espaço?


Nem  todos jogos aceitam acentuação, por isso, pegue uma palavra e  acentue  por exemplo: NEW GAME tente COMEÇAR para saber se o jogo  aceitará o Ç,  você também pode tentar usar outros como Õ, Ã, É, Ç para  ver se aceita  todos caracteres. Tenha cuidado com as linhas, em alguns  textos, o fato  de cada texto possuir uma linha deve ser respeitada pois  se não haverá  erro ao executar o jogo. Os jogos tambem podem ter códigos de  cores ou nova linha e etc...  Por exemplo: Jogos da Gameloft usam /H e  /h ou /0 e outros para  colorir os textos. Jogos como da Firemint e  outras produtoras menores,  usam /n para dar uma nova linha.



Se você abrir o arquivo e ele estiver com os textos tudo junto… siga ao próximo passo.&nbsp; 




Usando o Editor de Hexadecimal





Podemos usar o bloco de notas para traduzir o “text.txt”, mas agora vamos tentar traduzir de “outra forma”. Abra o text.txt com a opção “Abrir com…” e escolha o “XVI32.exe”. Ao abrir o arquivo você verá como na imagem.


O  lado ESQUERDO do editor representa o código Hexadecimal, já o  lado  DIREITO representa os textos, alterando de um lado, você   automaticamente alterará o outro lado. Note que na 3ª imagem, há umas linhas vermelhas, elas mostram do lado “Hexa” (Esquerdo) o código 0D0A, esse código aperece do lado “Texto” (Direita) aparece como 02 espaços. Primeiro  vá até a opção TOOLS e veja se a opção Overwrite está  marcada. Em  seguida vá ao lado dos textos e edite os textos. Mas devemos  ter em  mente que a string 0D0A não deve ser apagada, mas e então como  aumentar  os textos?






Vá em EDIT e em Insert String, insira o texto e aperte ENTER (ou clique em OK). Quem gosta de apanhar é sadomasoquista, então use o Bloco de Notas que é mais fácil e rápido para esse arquivo.






Agora  vamos pegar um arquivo que deve usar o editor Hexa,  usaremos o arquivo  bin.all do jogo Saints Row 2, localize nele  (apertando CTRL+F) o texto  “English” e veja que antes desse texto há dois espaços vazios. Olhe do lado Hexa e veja que temos o código 0007. A  primeira parte desse hexa é o “00″, isso significa que ali  começa o  texto (por assim dizer, para ficar mais fácil de entender) e o  “07″  significa a quantia de letras que virá depois, nesse caso, ENGLISH –   que tem 07 letras. Mas e como colocar o texto PORTUGUÊS?


Veja  que a palavra PORTUGUÊS pode conter 9 ou 10 caracteres  dependendo da  limitação do jogo. Agora você deverá saber se o jogo vai  aceitar a  acentuação normal ou em Hexadecimal. Como fazer isso? Simples. No  local de English, coloque Inglês (só para TESTAR).  Compacte o jogo e  teste, se abrir e aparecer o “ê”, beleza, se não  aparecer ou o jogo não  iniciar, vamos ao método de acentuação  Hexadecimal, ou seja, Português  terá 10 caracteres!


Faremos o seguinte: vá onde está os dois  espaços vazios e aperte a  tecla “TAB” do teclado (acima do Caps Lock)  para trocar de lado  exatamente onde aparecerá o 0007. Troque para 000A e  aperte TAB  novamente para voltar ao lado do texto… Mas por que diabos  000A? 0A  significa que o que vir a seguir dele terá 10 caracteres  (veja a parte "Entendendo o código Hexadecimal"). Voltando ao texto... Se você apertou TAB  após trocar para  000A, você estará com a seleção no 2º quadro vazio  antes da palavra.  agora vá trocando o English por Portugu e PARE! Ai já foram 07 caracteres e agora? Vá em EDIT, Insert String no modo “Text String” escreva isso: XXs. Mas por que essa baboseira?

Ao dar ENTER (ou apertar o ok), você notará que o jogo inseriu os 3 caracteres, ficando com 10 ao invés dos 07 de antes.



Tá,  mas agora ficou PortuguXXs, que coisa é essa? Volte a  seleção até o  1º dos “X” e aperte TAB (indo ao lado do Hexa) e escreva  C3AA, isso  deixará do lado texto isso: Ãª, correto? Então perfeito! É  assim que  ficará: PortuguÃªs (10 Caracteres!). Mas por que C3AA? Veja a  tabela  mais abaixo. Mais abaixo estarão as tabelas de códigos das letras e números Hexa.







Para tirar a prova, vá até onde está o 000A e olhe na parte de baixo do editor.


Algumas limitações:






Algumas  empresas, principalmente a Gameloft (e acho que a única), coloca  seus textos de modo “unidos venceremos” ou seja, algo do  tipo assim :  BACKMENUHELPOPTIONS. O que fazer nesse caso? Como eu  disse, esse  tutorial é básico... não entra nessa parte... pois ai  envolve ponteiros  e outras coisas mais… Mas você pode traduzir assim  mesmo, mas não  ficará uma tradução boa.



Textos como os da Fishlabs, por exemplo  pode conter algo do tipo:  0104, isso significa que ali possui mais de  300 caracteres. Durante os  textos podem conter a string 0A sozinha,  que significa que é uma nova  linha, entre outros... Mas isso são casos  particulares, então cada jogo  deve ser testado várias vezes antes de  concluir a tradução.



Caracteres mais comuns:


Veja aqui os caracteres mais comuns usados nos arquivos.



       &nbsp;A&nbsp;       À= c380 Á= c381 Â= c382 Ã= c383 à= c3a0 á= c3a1 â= c3a2 ã= c383     
       &nbsp;C&nbsp;       Ç= c387 ç= c3a7     
       &nbsp;E&nbsp;       È= c388 É= c389 Ê= c38a è= c3a8 é= c3a9 ê= c3aa     
       &nbsp;I&nbsp;       Í= c38d í= c3ad     
       &nbsp;O&nbsp;       Ó= c393 Ô= c394 Õ= c395 ó= c3b3 ô= c3b4 õ= c3b5     
       &nbsp;U&nbsp;       Ú= c39a ú= c3ba     
 



Nota Final:




Esse  é o básico (bem básico) da tradução de games de celular em  Java. É  possível usar outros programas e métodos de tradução. Caso  queira  maiores informações dê uma olhada nos sites das fontes. Tutorial totalmente escrito por JPeres.


Fontes:




Gamevicio, CDJinfo &amp; JPeres.
Algumas modificações feitas por Gabriel Dark.
GameBots

 bb_bid = "187048";
 bb_lang = "pt-BR";
 bb_keywords = "";
 bb_name = "custom";
 bb_limit = "7";
 bb_format = "bbc";