Benvenuto Visitatore(Log In|Registrati)

> Traduzione giochi Legend, (già: "problemi del traduttore" Consigli per chiunque voglia
katoble
messaggio23 Jan 2009, 13:15
Messaggio #1





Gruppo: Gamer
Messaggi: 24
Iscritto il: 23 January 09
Utente Nr.: 15.901
BGE Might and Magic VI,VII,VIII, Morrowind
SO WinXP




Ho deciso di cominciare la dura vita del traduttore perchè alcuni giochi meritano di essere goduti a pieno in italiano e perchè spesso non sono facilmente reperibili in tale lingua.
Per cominciare ho letto parte della guida di Marco, alias CavaliereOmbra, per farmi un'idea su ciò che mi aspettava.
Decidendo di continuare, siccome avevo sul pc la versione inglese di Might and magic 8 ho provato ad iniziare da questo gioco.
Mi sono quindi imbattuto nella prima difficoltà tecnica: non riesco a trovare i file di testo.
Ho provato con dragon unpacker a vedere se c'erano archivi compressi ma non ho trovato niente di importante; allora sono passato all'editor esadecimale e codificando tramite ascii. Qualche parola in inglese mi veniva fuori ma per il resto non ho trovato nè dialoghi nè nomi di armi,quest o altro che potessi poi tradurre.

Chiedo quindi illuminazioni su cosa posso fare. E' possibile che un file abbia 2 codici (ascii ed un altro) ?
 
 
Start new topic
Risposte
Syxtem
messaggio11 Mar 2009, 19:40
Messaggio #2



Gruppo icone

Gruppo: UST Member
Messaggi: 497
Iscritto il: 17 February 03
Utente Nr.: 2.153
SO Win95




Ti dirò... mi ha intrigato un po' questo caso e mi sono messo a dare un'occhiata pure io.
Innanzitutto ti dico che sono d'accordo sul fatto che il decompressore non effettui il dump di tutti i dati, ma non credo riguardi i vocaboli che dici te. Mi riferisco soprattutto ai flag dei segmenti, che nel dump non vengono riportati.
Cmq mi son messo a guardare qualcosa. Ora come ora sto valutando se è più conveniente scrivere il compressore direttamente in c o in java, come invece preferirei (purtroppo in java non esistono i tipi numerici unsigned ^^' ).
CITAZIONE
ho visto delle cose tipo <%s%sn't think%s [...]> .

Probabilmente questa frase va bene così, non mancano cose che il decompressore non ha estratto. In C esistono diverse funzioni che sfruttano queste cose. La più classica ad esempio è la printf (per stampare a video) che fa uso di questi marcatori per inserire il contenuto di variabili nel testo da mostrare.
Mentre in Pascal (e quindi forse anche in Delphi, anche se mi sembrava che lì le cose le avessero potenziate un po'), se non ricordo male, si aveva una struttura del tipo:
CODICE
writeln('Stringa1 =',var1,' e Stringa2 =',var2)

in C la cosa diventa:
CODICE
printf("Stringa1 = %s e Stringa2 = %s",var1,var2)

Poi a seconda del tipo di dato, si deve usare un certo tipo di "marcatore", per indicare al compilare come deve rappresentare il contenuto della variabile (ad esempio come numero o come carattere).
Magari puoi dare un'occhiata qui: http://www.cplusplus.com/reference/clibrar...dio/printf.html
Guardi gli esempi e capisci subito.

Per questo dico che secondo me ci vanno. Molto probabilmente quella stringa viene data in pasto all'eseguibile così com'è e tramite funzioni di questo tipo poi si decide che valore sostituire a quei marcatori. Probabilmente si tratta di testo non costante che può variare nel gioco (io non ne ho idea visto che non l'ho mai giocato... anzi, non ho la più pallida idea di che gioco sia. Ho capito solamente che è un'avventura testuale), nel caso in cui il giocatore possa ad esempio scrivere il nome del proprio personaggio... oppure nelle frasi che si riferiscono a certi oggetti che il personaggio tiene nell'inventario e devono tenere conto se il giocatore ne possiede più di uno per coniugare la frase al singolare o plurale.... etc etc... I casi possono essere tanti.
Cmq ci tengo a sottolineare che a mio avviso è un po' improponibile tradurre un'avventura testuale inglese in questo modo proprio perchè, come qualcuno ha già fatto notare, il parser ragionerà in inglese su frasi in italiano e perciò secondo me ne verrà una schifezza. Già temo per tutte le coniugazioni dei verbi fatte ad cazzum e gli articoli completamente sballati.
Forse converrebbe di più rifare il gioco, con un linguaggio come Inform o simili (che ha già le librerie per avere un parser in italiano). Strada che hanno adottato molti per tradurre vecchi giochi col progetto "From Hell". Magari chiedete a RGrassi per queste cose, che lui ne capisce più di me.

Ad ogni modo come funziona il decompressore più o meno l'ho capito. Non ho avuto molto tempo invece per farmi un'idea precisa di come sono organizzate le informazioni correttamente dentro il file.
Da notare che non si tratta di una codifica Huffman "classica" in quanto il compressore si crea, inoltre, anche un dizionario con alcuni vocaboli che, in virtù di questo, possono essere letti in chiaro a partire dell'offset 0x412E del file SHANSTR.DAT
In questo caso invece di risalire tramite i bit alla singola lettera, si arriva direttamente a tutta la parola. Ora non so in base a cosa siano state scelte queste parole per entrare nel dizionario. Probabilmente in base alla loro frequenza. In questo caso si avrebbe probabilmente un tot di parole scelte per essere inserite nel dizionario. Per questo farebbe comodo un confronto con un altro file, in modo da determinare se questo numero è fisso o variabile (ad esempio potrebbe essere "metti nel dizionario tutte le parole con frequenza >= X).
L'unica cosa che finora sembra chiara è che, per calcolare la frequenza di queste parole, vengano considerate come parole le stringhe separate da spazi (pare solo da spazi a vedere il file... non ci sono parole nel dizionario che terminano con simboli diversi da spazi o lettere). Cioè, nel caso ci siano 2 frasi così:
CODICE
I am tall
I am young

le frequenze calcolate dovrebbero essere:
CODICE
"I "=2
"am "=2
"tall"=1
"young"=1

e non ad esempio "I am "=2
Inoltre beh... dettagli tecnici... i nodi sono identificati da due byte (short) [b1][b2]:
Nodo interno: bit più significativo = 1
Nodo foglia: bit più significativo = 0 (quindi vengono ribaltati tutti i bit, facendo quello xor con 0xFFFF)
Se è una foglia inoltre si controlla se si tratta di un carattere "normale" o se si punta ad una parola del dizionario. In questo caso si guarda il singolo byte (quello meno significativo dei 2) e la regola è:
Carattere: bit più significativo = 0
Parola del dizionario: bit più significativo = 1
Questo è lecito in quanto la codifica adottata è l'ASCII a 7bit.
Nel caso si abbia a che fare con una parola del dizionario, questo byte non rappresenta un carattere, ma bensì un indice (che viene perciò normalizzato, riportando a 0 il bit più significativo) che viene utilizzato per navigare tra il vettore di parole del dizionario.

PS: Ah... ho notato adesso che le parole contenute nel dizionario sono per l'appunto 128 (0-127)... questo fa intuire che la strada giusta sia l'ipotesi per la quale vengano scelte le 128 parole più frequenti blush.gif


--------------------
 
Alpobemp
messaggio11 Mar 2009, 23:01
Messaggio #3



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (Syxtem @ 11 Mar 2009, 19:40) *
CITAZIONE
ho visto delle cose tipo <%s%sn't think%s [...]> .

Probabilmente questa frase va bene così, non mancano cose che il decompressore non ha estratto. In C esistono diverse funzioni che sfruttano queste cose. La più classica ad esempio è la printf (per stampare a video) che fa uso di questi marcatori per inserire il contenuto di variabili nel testo da mostrare.


Guarda, questo è pacifico, tant'è vero che io stesso parlavo già di "variabili", nel senso che cose di questo genere sono comunissime nei parser delle avventure testuali (nell'AGI e anche nello SCI della Sierra) ; la mia paura e le mie perplessità erano esattamente quelle che esprimi tu, ma potrebbero esserci delle scappatoie possibili, provando a "piegare" le traduzioni verso espressioni più generalistiche, magari omettendo l'uso delle variabili nelle frasi tradotte, ove fosse possibile. Il problema è vedere se ciò non possa mandare in abend il motore del gioco, ma a questo punto ritorniamo da capo a dodici, nel senso che per fare questo esperiemento dobbiamo essere in grado di potere reinserire le frasi tradotte nei file di gioco e per far ciò ci serve un compressore compatibile.

Comunque per una settimana circa non potrò frequentare, dunque ... buon lavoro!

Ciao,
Alberto

Messaggio modificato da Alpobemp il 11 Mar 2009, 23:04


--------------------
--
alpobemp at libero punto it
 

Inserisci in questo messaggio
- katoble   Traduzione giochi Legend   23 Jan 2009, 13:15
- - Micartu   Ciao, allora....vedo che hai già fatto delle buone...   23 Jan 2009, 19:44
- - katoble   So che i might and magic sono anche in italiano ma...   23 Jan 2009, 21:25
- - Micartu   Certamente chiedi pure. Cmq, se frughi nella sezi...   23 Jan 2009, 22:04
- - Tsam   Nel mio piccolo se posso suggerirti ti consiglio d...   26 Jan 2009, 10:56
- - katoble   Dopo aver guardato un migliaio di giochi vecchi (a...   5 Feb 2009, 15:01
- - Micartu   I vecchi giochi hanno davvero tanti ma davvero tan...   5 Feb 2009, 15:17
- - Ragfox   Gran bel gioco, complimenti. Quand'è che ci bu...   5 Feb 2009, 15:57
- - katoble   Su un sito con le varie estensioni dei file ho tro...   5 Feb 2009, 21:19
- - Micartu   Ora faccio qualche ricerca pure io nel frattempo m...   5 Feb 2009, 21:44
- - katoble   Ecco il link della pagina . Ho trovato anche un de...   6 Feb 2009, 09:33
- - Micartu   Immagino tu abbia scaricato quantum.zip, dovresti ...   6 Feb 2009, 14:01
- - katoble   Su dosbox non mi vengono riconosciuti i comandi -x...   6 Feb 2009, 14:39
- - Micartu   Non devi usarlo sotto dosbox, devi usarlo sotto pr...   6 Feb 2009, 14:47
|- - Alpobemp   CITAZIONE (Micartu @ 6 Feb 2009, 14:47) R...   6 Feb 2009, 16:17
|- - Alpobemp   CITAZIONE (Alpobemp @ 6 Feb 2009, 16:17) ...   7 Feb 2009, 14:26
|- - Alpobemp   CITAZIONE (Alpobemp @ 6 Feb 2009, 16:17) ...   4 Jan 2013, 11:59
- - Micartu   Strana come cosa....nei vari siti viene riportato ...   7 Feb 2009, 15:49
|- - Alpobemp   CITAZIONE (Micartu @ 7 Feb 2009, 15:49) S...   7 Feb 2009, 16:31
- - DK   Mi sembra una variante LZ, altro non so   8 Feb 2009, 18:32
|- - Alpobemp   CITAZIONE (DK @ 8 Feb 2009, 18:32) Mi sem...   9 Feb 2009, 12:41
- - Micartu   Hai fatto bene, magari un aiuto te lo da'. Che...   9 Feb 2009, 13:18
|- - Ragfox   CITAZIONE (Micartu @ 9 Feb 2009, 13:18) H...   9 Feb 2009, 13:36
- - Micartu   Sì in effetti non mi è mai capitato di trovarne un...   9 Feb 2009, 14:28
|- - Ragfox   CITAZIONE (Micartu @ 9 Feb 2009, 14:28) S...   9 Feb 2009, 15:02
|- - Alpobemp   CITAZIONE (Ragfox @ 9 Feb 2009, 15:02) CI...   9 Feb 2009, 15:49
|- - Ragfox   CITAZIONE (Alpobemp @ 9 Feb 2009, 15:49) ...   9 Feb 2009, 17:03
|- - Alpobemp   CITAZIONE (Ragfox @ 9 Feb 2009, 17:03) CI...   9 Feb 2009, 19:04
- - Micartu   Speriamo bene! Alpo se ne hai la possibilità ...   9 Feb 2009, 19:16
|- - Ragfox   CITAZIONE (Micartu @ 9 Feb 2009, 19:16) ...   9 Feb 2009, 19:32
- - Micartu   Sì nell'exe c'è il testo di tutti i ...   9 Feb 2009, 19:37
|- - Ragfox   CITAZIONE (Micartu @ 9 Feb 2009, 19:37) I...   9 Feb 2009, 19:48
- - katoble   Riguardo ai file .q io ho ipotizzato che conteness...   9 Feb 2009, 19:54
- - Micartu   Sì infatti sto vedendo che la struttura è la stess...   9 Feb 2009, 22:31
- - Micartu   Niente non mi riesce di trovare una versione tedes...   9 Feb 2009, 23:28
|- - Alpobemp   Brutte notizie. Innanzitutto, si ricordava anche ...   10 Feb 2009, 18:06
- - katoble   Anche io non ho file DLG comunque escludendo gli ...   10 Feb 2009, 18:35
|- - Alpobemp   CITAZIONE (katoble @ 10 Feb 2009, 18:35) ...   10 Feb 2009, 18:49
- - Micartu   Per me è tutto nei dat e sui .q c'è cmq da lav...   10 Feb 2009, 19:48
|- - Ragfox   CITAZIONE (Micartu @ 10 Feb 2009, 19:48) ...   10 Feb 2009, 20:07
|- - Alpobemp   CITAZIONE (Micartu @ 10 Feb 2009, 19:48) ...   10 Feb 2009, 23:30
- - Micartu   Perché no mi pare un'ottima idea, proviamo a s...   10 Feb 2009, 20:15
- - Micartu   Scusa Alpo ma il tipo con cui hai parlato è Steve ...   11 Feb 2009, 07:43
|- - Alpobemp   CITAZIONE (Micartu @ 11 Feb 2009, 07:43) ...   11 Feb 2009, 10:13
- - katoble   Ok, mi metto subito al lavoro per vedere di cavarc...   11 Feb 2009, 14:03
- - Micartu   Grande Alpo! Direi che sono un sacco di inform...   11 Feb 2009, 15:19
- - Tsam   Direi che questa indagine mi esalta come non mai e...   11 Feb 2009, 17:01
- - katoble   Dopo vari tentativi non sono riuscito a scompattar...   11 Feb 2009, 21:06
|- - Alpobemp   CITAZIONE (katoble @ 11 Feb 2009, 21:06) ...   12 Feb 2009, 16:36
- - Micartu   No, è che, se non sbaglio, la Huffman è una delle ...   11 Feb 2009, 23:31
- - Tsam   Ve la butto lì. So che probabilmente mi prenderò d...   12 Feb 2009, 17:07
|- - Alpobemp   CITAZIONE (Tsam @ 12 Feb 2009, 17:07) Ve ...   12 Feb 2009, 18:31
- - katoble   Ho una bella notizia (forse) ed una brutta notizia...   13 Feb 2009, 09:15
- - DK   Non so che programma hai usato di preciso, ma un h...   13 Feb 2009, 12:54
|- - Alpobemp   CITAZIONE (DK @ 13 Feb 2009, 12:54) Non s...   24 Feb 2009, 16:27
|- - The Ancient One   CITAZIONE (Alpobemp @ 24 Feb 2009, 16:27)...   24 Feb 2009, 17:05
|- - Alpobemp   CITAZIONE (The Ancient One @ 24 Feb 2009, 17...   24 Feb 2009, 17:39
- - Micartu   Direi di lasciare l' "onore" ad Alpo...   13 Feb 2009, 13:11
|- - Alpobemp   CITAZIONE (Micartu @ 13 Feb 2009, 13:11) ...   13 Feb 2009, 19:58
- - katoble   CITAZIONE (DK @ 13 Feb 2009, 12:54) Non s...   13 Feb 2009, 13:40
- - Micartu   Credo che il programma invece di dare errore abbia...   13 Feb 2009, 14:48
- - katoble   Questo è il documento estratto: Shannara Il proble...   13 Feb 2009, 16:00
- - Micartu   Io sono registrato ma ho all'attivo 3 post, qu...   14 Feb 2009, 10:59
- - katoble   Ci sono novità? Se è improbabile trovare una soluz...   22 Feb 2009, 18:57
|- - Alpobemp   CITAZIONE (katoble @ 22 Feb 2009, 18:57) ...   23 Feb 2009, 14:50
- - The Ancient One   WOWOWOWOWOW! Alpo, sei un mito!!...   24 Feb 2009, 17:03
- - The Ancient One   Hai fatto bene a spiegare. A questo punto come p...   24 Feb 2009, 18:30
|- - Alpobemp   CITAZIONE (The Ancient One @ 24 Feb 2009, 18...   25 Feb 2009, 10:12
- - The Ancient One   Grazie delle risposte, Alpo! CITAZIONE Eh, lo...   25 Feb 2009, 11:18
- - Micartu   beh che dire....ottime notizie! Purtroppo dobb...   25 Feb 2009, 19:05
- - The Ancient One   Mi sono permesso di cambiare il titolo della discu...   26 Feb 2009, 01:08
- - Alpobemp   CITAZIONE (Gufino @ 3 Mar 2009, 19:00) Sh...   5 Mar 2009, 17:22
- - Syxtem   Ti dirò... mi ha intrigato un po' questo caso ...   11 Mar 2009, 19:40
|- - Alpobemp   CITAZIONE (Syxtem @ 11 Mar 2009, 19:40) C...   11 Mar 2009, 23:01
- - Syxtem   Beh... io ormai sono in periodo di esami, perciò p...   11 Mar 2009, 23:50
- - The Ancient One   Grandi, ragazzi! Ci capisco sempre meno, ma v...   12 Mar 2009, 10:09
- - DK   E la possibilità che i giochi Legend vengano suppo...   14 Mar 2009, 10:32
- - Syxtem   Oggi sono andato un po' avanti con il lavoro s...   22 Mar 2009, 12:46
|- - The Ancient One   CITAZIONE (Syxtem @ 22 Mar 2009, 12:46) C...   23 Mar 2009, 12:57
- - Syxtem   Che poi, ora che ci penso bene, non è nemmeno dett...   23 Mar 2009, 15:31
|- - The Ancient One   CITAZIONE (Syxtem @ 23 Mar 2009, 15:31) O...   23 Mar 2009, 15:47
- - Syxtem   CITAZIONE C'è speranza di poter tradurre quest...   23 Mar 2009, 17:37
- - The Ancient One   Alpo... Non fare scherzi. Non si scherza con i gio...   4 Jan 2013, 12:17
- - Micartu   Spellcasting, Eric... parla! XD   4 Jan 2013, 12:20
|- - The Ancient One   CITAZIONE (Micartu @ 4 Jan 2013, 12:20) S...   4 Jan 2013, 12:23
- - Alpobemp   Non ci siamo: riquoto meglio ed aggiungo altre vec...   4 Jan 2013, 13:31


Reply to this topicStart new topic
1 utenti stanno leggendo questa discussione (1 visitatori e 0 utenti anonimi)
0 utenti:

 

Modalità di visualizzazione: Passa a: Normale · Passa a: Lineare · Outline


Versione Lo-Fi Oggi è il: 3rd November 2026 - 11:28