[lnkForumImage]
Download FREE Software.

Confronta i prezzi di migliaia di prodotti.
News Forum Italiano
 Home | Login | Registrati | Ricerca 


 

Forums >

it.comp.giochi.avventure.testuali

[Inform 7] IFcomp 2014 si avvicina!

(Leonardo Boselli)

20/08/2014 23:03:44

IFcomp 2014, la nota competizione di narrativa interattiva in inglese, si avvicina http://www....

Ho pensato quindi di rendere più facile la traduzione in inglese di avventure testuali scritte in italiano con Inform 7 e il "MilleUna Framework".
Finora il framework era finalizzato all'italiano, ma recuperando alcune estensioni inglesi non disponibili e traducendo quelle solo in italiano, il legame con la nostra lingua non è più così stretto.
Ora per convertire un'avventura che usi il "MilleUna" da italiano a inglese (o viceversa) è "sufficiente" preoccuparsi di tradurre i nomi degli oggetti e le frasi tra virgolette, mentre prima mancavano del tutto "blocchi da costruzione" compatibili.

Per provare online l'esempio nelle due versioni: http://yo...
Per saperne di più: http://youdev.it/page/MilleUna...

4 Risposte

paolo.sfredda

21/08/2014 08:30:57

0

Il 21/08/14 01:03, Leonardo Boselli ha scritto:
> IFcomp 2014, la nota competizione di narrativa interattiva in
> inglese, si avvicina http://www....
>
> Ho pensato quindi di rendere più facile la traduzione in inglese di
> avventure testuali scritte in italiano con Inform 7 e il "MilleUna
> Framework". Finora il framework era finalizzato all'italiano, ma
> recuperando alcune estensioni inglesi non disponibili e traducendo
> quelle solo in italiano, il legame con la nostra lingua non è più
> così stretto. Ora per convertire un'avventura che usi il "MilleUna"
> da italiano a inglese (o viceversa) è "sufficiente" preoccuparsi di
> tradurre i nomi degli oggetti e le frasi tra virgolette, mentre prima
> mancavano del tutto "blocchi da costruzione" compatibili.
>
> Per provare online l'esempio nelle due versioni: http://yo...
> Per saperne di più: http://youdev.it/page/MilleUna...
>
Ciao.

Domanda:
i testi tra virgolette possono essere agevolmente catalogati e raccolti
in un unico file?

Sarebbe comodo, infatti, usare nel sorgente solo dei riferimenti stile
array simbolico il cui indice sia una stringa che ricorda il contenuto
mentre il contenuto effettivo potrebbe essere in un include che è
diverso a seconda della lingua scelta.

Un po' come è già previsto ora per le answer delle regole.

Esempio sorgente:
instead of examining the telephone:
say phrases(examining_tel);

Esempio include o altra parte del sorgente:
phrases is an array.
phrases(examining_tel) is "testo in lingua".

pg

(Leonardo Boselli)

21/08/2014 14:06:12

0

Il giorno giovedì 21 agosto 2014 10:30:57 UTC+2, pgsfredda ha scritto:
>
> Sarebbe comodo, infatti, usare nel sorgente solo dei riferimenti stile
> array simbolico il cui indice sia una stringa che ricorda il contenuto
> mentre il contenuto effettivo potrebbe essere in un include che ?
> diverso a seconda della lingua scelta.

Stavo appunto provando qual è il metodo più comodo (almeno per me). L'esempio del framework non fa altro che suddividere le parti del sorgente dipendenti dalla lingua in due versioni. Non mi sembra che il metodo delle "responses" sia applicabile (in modo comodo) in questo caso, perché richiederebbe definizioni di regole a tutto spiano.

Infatti il problema è la definizione degli oggetti che, nelle due lingue, devono avere nomi diversi. Forse si potrebbe procedere in questo modo:

Nel codice comune alle due lingue:

The box (f) is a closed, openable container. The description is "[desc-box]"

Nella parte inglese:

To say desc-box: say "A large [box] that [are] [if the box is closed]closed.[otherwise]open."

Nella parte italiana:

To say desc-box: say "Una grande [box] che [sei] [if the box is closed][chiuso].[otherwise][aperto]."
The printed name of the box is "scatola".

Scrivere [box] è necessario per attivare gli hyperlink, mentre [sei] serve solo se si vuole cambiare tempo alla storia (presente/passato) e [aperto]/[chiuso] servono se si pensa di cambiare oggetto nel seguito ("box" potrebbe diventare "scatolone" - così si dovrebbe cambiare genere a box togliendo (f), ma rimarrebbe quell'"Una" nella descrizione.
Comunque se si sceglie il tempo fin dall'inizio e gli oggetti sono già ben definiti si risparmia un sacco di lavoro.

Ma tornando alla tua domanda, per quanto riguarda, cioè, gli array di frasi, io farei così:

Nel codice comune (immagina tante regole tipo questa):

Instead of opening the box:
if the player does not carry the magic wand:
say "[box-is-blocked-because]";
otherwise:
say "[box-opens]";
now the box is open.

Poi nella parte italiana e inglse si definirebbero tanti:

To say box-is-blocked-because: ...
To say box-opens: ...

Oppure di potrebbero numerare le risposte:

To say answer#45: ...

però un testo corto descrittivo è più comprensibile.

Proverò un'avventurina "bilingue" seguendo queste idee per vedere se è fattibile senza metterci più del doppio del tempo ;)

(Leonardo Boselli)

21/08/2014 14:22:39

0

Il giorno giovedì 21 agosto 2014 16:06:12 UTC+2, Leonardo Boselli ha scritto:
>
> Infatti il problema è la definizione degli oggetti che,
> nelle due lingue, devono avere nomi diversi. Forse si
> potrebbe procedere in questo modo...

No, ritiro tutta la parte sugli oggetti. La proprietà "printed name" non funziona perché il giocatore italiano nei suoi comandi non potrebbe scrivere:

prendi la scatola

visto che un oggetto "scatola" non c'è. Infatti dovrebbe scrivere:

prendi la box

A meno di non usare tanti:

understand "scatola" as box.

Ma allora tanto vale seguire la strada dell'esempio "Titolo.infrom"... oppure no? Boh?

Il resto del post (sui "tu say" al posto degli array) invece mi sembra corretto e indica il modo più semplice di procedere.

(Leonardo Boselli)

21/08/2014 19:53:43

0

Il giorno giovedì 21 agosto 2014 16:22:39 UTC+2, Leonardo Boselli ha scritto:
> A meno di non usare tanti:
> understand "scatola" as box.

Ho fatto alcune prove e il metodo migliore per creare avventure testuali bilingue (nel senso di pubblicabili in versione sia italiana che inglese) mi pare sia quello seguito nel nuovo esempio del framework che si può scaricare da qui: https://sourceforge.net/projects/milleuna/files/Exten...

In sintesi.
1) All'inizio si deve inserire il "MilleUna Framework" per la lingua scelta e anche il "release along with" specifico. Per esempio:

"Titolo" by Autore (in Italian)

Include Milleuna Framework IT by Leonardo Boselli.
Include Exit Descriptions IT by Leonardo Boselli.
Release along with cover art, the source text, a file of "Introduzione alle Avventure Testuali" called "Introduzione alle Avventure Testuali.pdf", a "MilleUna-it" website and a "MilleUna-it" interpreter.

(nell'esempio sono disponibili entrambe le versioni, "commentabili" alternativamente)

2) Poi si deve scrivere l'avventura in inglese, definendo i testi con dei "to say...", a meno che non siano all'interno di "rules" dove vanno marcate con delle lettere (A), (B) ecc. per sfruttare il meccanismo delle responses.

3) Poi, per la versione italiana, occorre inserire sezioni del tipo:

Section IT (for use with Italian Language by Massimo Stella)

in cui si inseriscono le modifiche necessarie, che sono:

a) traduzione di nomi degli oggetti con una combinazione di Understand e Printed Name:

Understand "tavolo" as table. The printed name of table is "tavolo".

in cui occorre anche specificare la proprietà "feminine gender" se l'oggetto è di genere femminile.

b) Definizione dei "to say..." con testo in italiano

c) Ridefinizione in italiano delle "responses" delle "rules"

Mi pare sia tutto quello che si deve fare.

Il vantaggio rispetto al metodo di tenere due progetti separati consiste nel fatto che una modifica si ripercuote in entrambe le versioni senza possibilità di errori o dimenticanze.

Naturalmente se la versione inglese non interessa, è tutto molto più semplice. Si può procedere come spiegato nel tutorial su http:/... riguardante l'estensione "Italian Language" e il sorgente risulta anche più leggibile ;)