PDA

Visualizza versione completa : [TRADUZIONI] di giochi DC...se ne era già parlato....(lungo)



Ghigi
17-04-2003, 12.11.44
Ho trovato questo tutorial. Potrebbe essere un inizio.

The translating games tutorial by BaSs:
------------------------------------------------------------------------------------

Since it is almost impossible to recompile binaries with new string data, the only
way to 'translate' the game is to replace the Japanese character strings with normal
alphabet strings.

The Japanese characters are (in most cases) refered to with the JIS standard. This is
a two byte code to refer to a Japanese character.
This JIS characterset contains Kanji, Katakana, Hiragana , various aplhabets and a
whole bunch of tokens. The first byte of a JIS code is bigger than 0x80.
It does not mean that this full set is included in the binary. In some cases only
the characters used in the game are included and the other characters are left out.
I don't know if the DC main rom contains a full Japanese character set.
In most cases however, the full alphabet is included, since this is mainly used for
usernames etc.

So how can we give it a go?
Step 1 :
Determine if the text used in the game is stored somewhere and that it is not encoded.
The easiest way is to create an image (for educational purpose ofcourse :P ) or to
copy the files to you harddisk of your PC.
Use a editor like Ultraedit. It has a hard time reading a full image because it
always copies the file to a temporary file first. But after it's finished copying,
it is fairly fast.
Use the 'find' option to locate a unique string out of the game. Preferably a normal
alphabet-string. Be aware that JIS also has 2-bytes codes to refer to alphabet
characters but these are in most cases as wide as the Japanese characters (that is
half as wide as normal alphabet characters). Als be aware that some text strings can
be actually pictures and thus will not show up in your binary.
In some cases the text is encoded and in that case is is really hard to find.
In most games, the text used in menus and in the actual games is seperatly stored in
various files.

If you use Ultraedit to search a string in a (hex) binary, make sure to select the
option 'Search ASCII', else it will not search properly.
If you found your unique string, you can like if you can locate more alphabet text
fragments. Most strings will be seperated by one ore more 0x00 bytes.
The easiest part is to just select a portion of the data before and after the
location your unique string showed up and paste it into another file.
Change this file into a HTML file by adding: .html

Include you copied section heren and do not forget at the end of the file. Use a
standard browser with Japanese language support to load the file we just created.
Make sure the character coding is set to Japanese SJIS. IE will start whining
immediately when you don't have Japanese support and make you download it. You can
now see is some more Japanese text is around the location where you found the unique
string. If it is there, then we are in the right location. If not, then you'll have
to continue searching. In case only the second byte of a JIS character is copied, a
strange characte is show in most cases.

Step 2:
Now we have found some Japanese text (maybe not all of it), we can test if we can
alter this text. replace all the text (maybe leave the zero's unchanged) by the
complete alphabet and all other characters on your keyboard. Replace a much strings
as possible. Save your image and burn it again to CD. (There is no DC emulator
unfortunately so we can't try the image on our harddisk directly). Go/play to the
position where you're unique string (you used to search previously) should be show.
If the text you just replaced the original strings with, shows up, then we can be
sure we can change the file without any problem. Some programs use a CRC or other
checking mechanism to prevent people tinkering with their work. In that case the
binary neesds to be dissasembled in order to disbale that check (that's quite
difficult).

Step 3:
Get a 'fresh' image with the original strings in it. Located your unique string again
and start working from there. Locate and note every start and end position of an
original string. Remember that they are seperated by zero's in many cases. The most
easy way is to copy the original string to an HTML file (like we just made) and note
the positions of is in the same HTML file. You get entries like : 1c12e4-1c1303
japanese text
You will get a long list of these entries, and you can also see if the parts you copy
will also make sense. If you also load this HTML file in a webbrowser, then you will
only have to save the file when you add something and then you can hit the reload
button of the browser too look.

Step 4:
After locating the strings, we can translate them.

Step 5:
Since we can only replace, we have to make sure that our translation fits in the
original location. Because of the 2 byte JIS coding, you will in most cases have
twice as much space for the normal alphabet. Always leave the zeros untouched since
these are used as seperators. You can enter the translations by hand. But if you have
al lot to enter, , make (or find on the internet?) a program to inject your
translation in the specified location. A 'space' is 0x20 and you can use this to
remove unwanted characters.

Step 6:
Burn the patched image to CD and check if you replaced and translated all strings.
Repeat the last steps until you are satisfied or can't find an other text to
translated. Be prepared to ruin quite a few CD's. For a simple translation like the
CVS2 fandisk, I spend over 5 CD's to fully translate the CVS2 fandisk. If you
translate for example a fighting-game, try to get hold of a good FAQ where the
original japanese terms are used. For a good online dictionary, try
http://www.alc.co.jp/ You can just cut and paste text into it (do not forget to set
it to Japanese English). If some text is impossible to translate, just try to
translate it as close as possible. Some strings can be merely impossible to translate.
But if you just translate 90% of the text, it will be more than enough for
non-japanese speakers to understand. It's not an easy task, and takes quite some
time.
--
Tutorial by BaSs - bramenjam@hellokitty.com

DrEaMcAsT_
17-04-2003, 12.15.58
non soi molto bene l'inglese
una piccola traduzione? :P

Ghigi
17-04-2003, 12.26.01
porc...mi ci vuole un pò di tempo !
Lo leggo e faccio un riassunto ok ?
Ghigi

J_S
17-04-2003, 19.16.53
Interessante! Qualcuno che lo traduca in ita?

Serge
17-04-2003, 20.23.32
Traduco io, va... ma solo la prima parte. Poi posto anche la seconda....

"Dal momento che è praticamente impossibile ricompilare file binari con nuovi file stringa, l'unica via per 'tradurre' i giochi è quella di rimpiazzare le stringhe di caratteri giapponesi con stringhe in alfabeto normale.

I caratteri giapponesi sono (nella maggior parte dei casi) riferiti al JIS standard. Questo è un codice a due byte riferito ai caratteri giapponesi.
Questo JIS characterset contiene Kanji, Katakana, Hiragana, vari alfabeti e qualche simbolo. Il primo byte di un codice JIS è più grande di 0x80. Questo non significa che questoset completo sia incluso nel file binario. Solo in qualche caso i caratteri usati nel gioco sono inclusi e gli altri caratteri sono lasciati fuori. Non so se la DC main rom contiene un set completo giapponese. Nella maggior parte dei casi comunque, l'alfabeto completo è incluso, dal momento che è molto usato per usernames, etc. etc. "


Alla prossima traduzione, ciao!
P.S. potrebbero esserci degli erroretti, non me ne vogliate... :D

Ghigi
17-04-2003, 22.37.24
Ecco la traduzione. Anche se la parte di Serge va benissimo !

Dal momento che è praticamente impossibile ricompilare dati binari con nuove stringhe di dati, il solo modo di "tradurre" il gioco è quello di sostituire le stringhe di caratteri giapponesi con
stringhe di alfabeto occidentale [n.d.t. prima era normale]I caratteri giapponesi sono (nella maggioranza dei casi) indentificati con lo standard JIS. Questo è un codice costituito da due byte usato per indicare una carattere giapponese.
Questo set di caratteri JIS contiene Kanji, Katakana, Hiragana, diversi alfabeti e un intero insieme di simboli. Il primo byte di un codice JIS è più grande di 0x80.
Ciò non significa che questo intero set sia incluso nel [file] binario. In alcuni casi soltanto i caratteri usati nel gioco sono presenti e gli altri sono lasciati fuori. Non so se l'unità rom principale del DC abbia o meno un intero set di caratteri giapponesi.
Nella maggioranza dei casi comunque è incluso l'intero alfabeto, dal momento che esso viene utilizzato principalmente per usernames ecc.

Allora in che modo possiamo cominciare ?
Passo 1 :
Determinate se il testo usato nel gioco sia posto in una directory e che non sia codificato. Il modo più semplice è quello di creare un'immagine (per scopi educativi naturalmente) oppure copiare i dati nel harddisk del vostro PC.
Usate un editor come Ultraedit. Impiega molto tempo a leggere l'intera immagine perchè tende sempre a copiare prima i files in una diretory temporanea. Ma, non appena finisce di
copiare, è piuttosto veloce.
Usate l'opzione "find" per individuare un'unica stringa dal gioco. Preferibilmente una stringa di alfabeto occidentale [n.d.t. ancora con l'aggettivo normale !!]. Fate attenzione che il JIS
usa un codice a 2 bytes riferito ai caratteri alfabetici occ. ma questi sono quasi sempre della stessa larghezza dei caratteri giapponesi (che in realtà sono la metà dei normali
caratteri alfabetici occ.). Considerate inoltre che alcune righe di testo potrebbero essere rappresentate come immagine e quindi non saranno visualizzabili nel file binario.
In alcuni casi il testo è codificato e per questo sarà molto difficile individuarlo.
Nella maggior parte dei giochi, il testo usato nei menù e nel gioco vero e proprio è contenuto in molteplici files differenti.


Se usate Ultraedit per cercare una stringa di (esadecimale)binario, siate certi di selezionare l'opzione "search ASCII", altrimenti la ricerca non verrò fatta in modo appropriato.
Se, trovando la vostra stringa unica, volete, potete individuare ulteriori frammenti di testo.La maggior parte delle righe saranno separate da uno o più 0x00 byte.
La parte più semplice è quella di selezionare una porzione di dati prima e dopo la posizione in cuila vostra stringa unica è apparsa e copiarla in una altro file.Modificate questo file in HTML rinominando la sua estensione in .html
Includete la selezione che avete copiato e anche, non
dimenticatelo, la fine del file [n.d.t. ????]
Usate un normale browser con il supporto per caratteri
giapponesi aprire il file appena creato.
Siate certi che la codifica del carattere sia impostata su Giapponese SJIS. Se non avete il supporto per il Giapponese, IE comincerà automaticamente il download del plug-in. Adesso potete vedere se, attorno alla posizione dove avete trovato la vostra stringa unica, è visibile dell'altro testo in giapponese. Se è presente, siamo nella posizione giusta. Se non lo vedete, allora
dovete continuare a cercare. Nel caso in cui solo il secondo byte del carattere JIS venga copiato, la maggior parte delle volte apparirà uno strano carattere.

Passo 2:
A questo punto abbiamo trovato del testo in giapponese (magari non tutto), possiamo provare a modificarlo. Sostituite tutto il testo (magari lasciate gli zero così come sono) con l'alfabeto completo e con tutti gli altri caratteri della vostra tastiera. Sostituite più righe possibili.
Salvate la vostra immagine del gioco e masterizzatela su un nuovo cd. (non esiste un emulatore DC quindi non è possibile verificare la nostra immagine direttamete su harddisk). Giocate sino alla posizione dove dovrebbe essere posizionata la stringa di testo (che avete precedentemente cercato).
Se appare il testo con il quale avete modificato la stringa originale allora possiamo essere sicuri di poter modificare il file senza problemi. Alcuni programmi usano il CRC o altri meccanismi di
controllo per impedire ad altre persone di modificare il loro lavoro. In quel caso è necessario disassemblare il binario per disabilitare il controllo (questo è abbastanza difficile).

Passo 3:
Prendete un'immagine pulita del gioco. Localizzate di nuovo la vostra stringa e cominciate al lavorare da quella posizione. Individuate ogni posizione di inzio e fine per una stringa originale.
Ricordate che esse sono separate quasi sempre dagli zeri. Il modo più semplice è quello di copiare la stringa originale su un file HTML (come abbiamo fatto prima) e annotare la posizione della
stessa sempre nel file HTML. Avrete una cosa del tipo 1c12e4-1c1303-testo giapponese.
Realizzerete una lunga lista di queste annotazioni, e potete anche constatare se le parti che copiate avranno un senso oppure no. Se poi caricate questo file .html nel web browser, avrete solo da salvare quando aggiungerete qualcosa di nuovo e poi schiacciare il tasto reload per guardare.

Passo 4:
Dopo aver individuato le stringhe, possiamo tradurle.

Passo 5:
Dal momento che possiamo fare solo sotituzioni, dobbiamo essere sicuri che le nostre traduzioni rientrino nello spazio originale. A causa della codifica JIS a 2 bytes, avrete spesso il doppio dello spazio per l'alfabeto occidentale. Lasciate sempre inalterati gli zeri dal momento
che funzionano da separatori. Potete inserire la traduzione a mano. Ma se ne dovete inserire molta, fatevi (o trovatelo sul web) un programma per inserire la traduzione nella posizione esatta. Lo spazio è indicato con 0x20 e potete usarlo per rimuovere caratteri che non desiderate.

Passo 6:
Masterizzate l'immagine patchata e controllate se avete sostituito e tradotto tutte le stringhe.
Ripetete gli ultimi passi fino a quando non sarete soddisfatti o fino a quando non troverete più testo da tradurre/sostituire. Preparatevi a buttare parecchi cd. Per una semplice traduzione
come quella del CapcomVsSNK2 Fan Disk, ho usato 5 cd. Se, ad esempio, volete tradurre un picchiaduro, cercate di recuperare delle FAQ dove vengono usati termini giapponesi. Per un ottimo
dizionario on-line, provate http://www.alc.co.jp/. Potete tagliare ed incollarci dentro del testo (non dimenticate di impostarlo su Japanese/English). Se parti di testo sono impossibili da
tradurre esattamente cercate di farlo rimanendo il più vicino possibile al senso. Alcune stringhe sono praticamente impossibili da tradurre. Ma se voi traducete il 90% del testo, sarà più che
abbastanza affinchè una persona che non conosce il giapponese lo capisca. Non è un lavoro semplice e vi impegnerà per un discreto periodo.

Ghigi

sharkone
19-04-2003, 13.49.43
mizzega o_0