Benvenuto Visitatore(Log In|Registrati)

 
Reply to this topicStart new topic
> Traduttore per Inform7, Progetto per la creazione di un traduttore per AT in Inform7
sabbiacinetica
messaggio9 Sep 2019, 15:52
Messaggio #1





Gruppo: Gamer
Messaggi: 6
Iscritto il: 9 September 19
Utente Nr.: 22.348
SO Windows7




Salve a tutti!
Premetto che mi sono appena iscritto e non sapevo se postare qui o nella Dev area, inoltre non ho trovato un eventuale subforum per le presentazioni...

Comunque sono un programmatore e mi piace giocare alle Avventure Testuali ma anche crearne qualcuna di semplice.
Nonostante io non sia dell'idea di italianizzare tutto (soprattutto nell'ambito della programmazione), proprio creando qualche semplice AT in Inform7 ho notato che diventa molto frustrante nominare e descrivere stanze e oggetti in italiano ma scrivere tutto il resto in inglese: lo trovo brutto da vedere e anche un po' contraddittorio per certi aspetti.

Così ho pensato di creare un piccolo traduttore che permetta di scrivere la propria avventura testuale completamente in italiano (con le stesse regole di inform7) e che poi traduca il tutto in modo che sia comprensibile ad inform.

Per farlo, avrei bisogno di un piccolo aiuto da parte vostra (soprattutto per chi è solito usare questo linguaggio):
- Innanzi tutto vorrei una vostra opinione/consigli/suggerimenti in merito,
- Dopodiché mi farebbe molto comodo che qualcuno mi fornisse dei frammenti di codice in italiano, molto vari tra loro, che comprendano possibilmente tutte le diverse caratteristiche che mette a disposizione inform7, con il rispettivo codice in inglese che ci si aspetterebbe come output dal traduttore in questione.

Il vostro supporto mi sarebbe molto d'aiuto, anche perché ci sono talmente tante caratteristiche che è facile dimenticarsene molte (anche piccole variazioni o trucchetti)...
man mano che il progetto si evolve, ho intenzione di pubblicare i risultati che ho ottenuto e una volta raggiunto un prodotto abbastanza completo e stabile lo renderò open-source e disponibile a tutti!

Grazie mille in anticipo del vostro aiuto,
fatemi sapere cosa ne pensate!
 
Capo
messaggio9 Sep 2019, 17:39
Messaggio #2



Gruppo icone

Gruppo: OldGamer
Messaggi: 1.637
Iscritto il: 10 December 03
Utente Nr.: 571
SO WinXP




Non posso aiutare ma mi sembra una gran bel progetto approved.gif


--------------------
 
Gwenelan
messaggio9 Sep 2019, 19:16
Messaggio #3



Gruppo icone

Gruppo: Admin
Messaggi: 14.410
Iscritto il: 8 October 12
Utente Nr.: 19.580
BGE Planescape: Torment
SO Windows7




Anche io non posso aiutarti all'atto pratico ma la tua idea mi sembra bellissima blush.gif!

Aspettiamo che passi qualcuno degli autori!


--------------------
Conformati.

What can change the nature of a man?
*My Youtube Channel*

La vita è dura e grama - e poi si muore.

Chi è intelligente per definizione non può avere qualcosa di negativo da dire contro lo studio e contro il buon senso.
- Duca


Tutti hanno opinioni: io le ho, tu le hai. E fin da quando abbiamo aperto gli occhi ci hanno detto che abbiamo diritto di avere nostre opinioni. Be’, è una stronzata, naturalmente. Non abbiamo diritto di avere opinioni, abbiamo diritto di avere opinioni informate. Senza studio, senza basi, senza comprensione, un’opinione non vale niente.
È solo un farfugliamento. È come una scoreggia nella galleria del vento, gente.

 
Leonardo Boselli
messaggio9 Sep 2019, 21:00
Messaggio #4



Gruppo icone

Gruppo: Oldgame Editor
Messaggi: 1.012
Iscritto il: 18 December 13
Da: Imperia
Utente Nr.: 20.217
BGE WarCraft III
Playing Fortnite Battle Royale
SO Altro




CITAZIONE (sabbiacinetica @ 9 Sep 2019, 16:52) *
Così ho pensato di creare un piccolo traduttore che permetta di scrivere la propria avventura testuale completamente in italiano (con le stesse regole di inform7) e che poi traduca il tutto in modo che sia comprensibile ad inform.

Anni fa lo stesso Graham Nelson aveva progettato di rendere possibile la traduzione del linguaggio di Inform 7 (che è appunto un inglese controllato) in qualsiasi linguaggio del mondo. Per farlo si era messo in contatto con i principali autori delle estensioni per Inform 7 nelle varie lingue (per quella italiana ha fatto riferimento a Massimo Stella) e gli aveva fornito molto materiale in anteprima. Il progetto era stato chiamato Champollion, per ovvi motivi ;)
Questo tentativo aveva portato alla versione 6L38 di Inform 7. Usando quella versione, gli autori delle estensioni dei vari linguaggi potevano estendere la sintassi di Inform 7 permettendo frasi come "Il salotto è una stanza." invece del normale "The salotto is a room."
Quando Massimo Stella mi ha passato il testimone, ho appunto modificato l'estensione in italiano perché venisse compreso un gran numero di frasi in italiano. Però non era possibile andare molto oltre. Frasi come "Instead of..." non potevano ancora essere tradotte.
Purtroppo dopo quei primi risultati, l'entusiasmo di Graham Nelson si deve essere affievolito ed è passato a lavorare ad altre parti di Inform 7 che porteranno tra poco alla pubblicazione del nuovo compilatore. In effetti con la versione 6M62 sono stati introdotti bug che hanno "rotto" quel poco che già si riusciva a fare. La risposta, per interposta persona, è stata questa: il supporto alle lingue straniere era sperimentale, non documentato e quindi soggetto a cambiamenti. Un peccato perché con la versione precedente si stava andando nella direzione giusta e tutto il lavoro impostato nel progetto Champollion sembra essere stato accantonato.

CITAZIONE (sabbiacinetica @ 9 Sep 2019, 16:52) *
Per farlo, avrei bisogno di un piccolo aiuto da parte vostra (soprattutto per chi è solito usare questo linguaggio):
- Innanzi tutto vorrei una vostra opinione/consigli/suggerimenti in merito,

Visto lo scherzo che ci è stato fatto con la versione 6M62, qualche mese fa avevo pensato che l'unica vera possibilità (visto l'accantonamento del progetto Champollion) consistesse nel programmare un traduttore che trasformasse sorgente Inform 7 scritto in italiano in sorgente in inglese. Probabilmente un simile modulo si potrebbe anche integrare nell'attuale IDE perché, se non sbaglio, i sorgenti dei vari IDE sono open source e perciò potrebbe anche diventare uno strumento "facile" da utilizzare per l'utente finale (un po' più complicato sarebbe l'utilizzo come tool esterno - richiederebbe più passaggi).
La cosa che mi ha trattenuto dall'iniziare l'impresa all'inizio dell'estate è stato un annuncio sorprendente: Graham Nelson ha deciso di rendere Inform 7 open source. Da allora sto piantonando https://github.com/ganelson per scaricare i sorgenti non appena saranno rilasciati. Ha parlato di autunno, perciò mancano poche settimane, nell'ipotesi più ottimistica.
Una volta che saranno disponibili i sorgenti si potrà verificare se quell'abbozzo del progetto Champollion è rimasto tra le righe e, nel caso, se è aggiustabile. Se ci fosse rimasto troppo poco, l'approccio che proponi sarebbe comunque integrabile più facilmente col resto, avendo a disposizione i sorgenti.

Nel caso tu volessi comunque intraprendere la strada del tool esterno (d'altra parte molto codice potrebbe essere riutilizzato quando i sorgenti saranno resi open source) chiedi pure a me se hai qualche dubbio.
Un aiuto ulteriore potrebbe venire da un file di testo che contiene gran parte delle frasi possibili in Inform 7. Purtroppo sul sito non riesco più a trovarlo: lo hanno ristrutturato di recente e potrebbero averlo rimosso. Magari l'ho salvato da qualche parte e, nel caso ti interessi, posso provare a cercarlo. Comunque nella documentazione ufficiale c'è di tutto e di più.
Naturalmente bisogna sperare che la sintassi non cambi troppo nella prossima versione (in passato è successo molte volte), altrimenti bisognerebbe ricontrollare molte frasi.

CITAZIONE (sabbiacinetica @ 9 Sep 2019, 16:52) *
- Dopodiché mi farebbe molto comodo che qualcuno mi fornisse dei frammenti di codice in italiano, molto vari tra loro, che comprendano possibilmente tutte le diverse caratteristiche che mette a disposizione inform7, con il rispettivo codice in inglese che ci si aspetterebbe come output dal traduttore in questione.
Il vostro supporto mi sarebbe molto d'aiuto, anche perché ci sono talmente tante caratteristiche che è facile dimenticarsene molte (anche piccole variazioni o trucchetti)...
man mano che il progetto si evolve, ho intenzione di pubblicare i risultati che ho ottenuto e una volta raggiunto un prodotto abbastanza completo e stabile lo renderò open-source e disponibile a tutti!

I frammenti di codice in italiano dovrei scriverli apposta: un lavoraccio. Non fai prima a prendere le frasi in inglese degli esempi della documentazione, traducendole in modo da evitare ambiguità?


--------------------
Mille e Una Avventura Canale YouTube di Narrativa Interattiva e altro ------ Twitch.tv / LeoBos67 Gameplay Live di Narrativa Interattiva ------ YouDev.it Game Development

 
Leonardo Boselli
messaggio9 Sep 2019, 21:24
Messaggio #5



Gruppo icone

Gruppo: Oldgame Editor
Messaggi: 1.012
Iscritto il: 18 December 13
Da: Imperia
Utente Nr.: 20.217
BGE WarCraft III
Playing Fortnite Battle Royale
SO Altro




CITAZIONE (Leonardo Boselli @ 9 Sep 2019, 22:00) *
Un aiuto ulteriore potrebbe venire da un file di testo che contiene gran parte delle frasi possibili in Inform 7. Purtroppo sul sito non riesco più a trovarlo: lo hanno ristrutturato di recente e potrebbero averlo rimosso. Magari l'ho salvato da qualche parte e, nel caso ti interessi, posso provare a cercarlo. Comunque nella documentazione ufficiale c'è di tutto e di più.


Sul sito non c'è davvero più e non ho trovato backup sul PC. Per fortuna c'è il sito WaybackMachine!

Ecco qui Il file di cui ti parlavo: http://youdev.it/if/syntax_i7.txt

Purtroppo l'ultimo aggiornamento è di 10 anni fa (versione 5Z71), però da un'idea della struttura delle frasi e, soprattutto, della mole di lavoro da fare.


--------------------
Mille e Una Avventura Canale YouTube di Narrativa Interattiva e altro ------ Twitch.tv / LeoBos67 Gameplay Live di Narrativa Interattiva ------ YouDev.it Game Development

 
sabbiacinetica
messaggio9 Sep 2019, 22:14
Messaggio #6





Gruppo: Gamer
Messaggi: 6
Iscritto il: 9 September 19
Utente Nr.: 22.348
SO Windows7




CITAZIONE (Leonardo Boselli @ 9 Sep 2019, 22:24) *
CITAZIONE (Leonardo Boselli @ 9 Sep 2019, 22:00) *
Un aiuto ulteriore potrebbe venire da un file di testo che contiene gran parte delle frasi possibili in Inform 7. Purtroppo sul sito non riesco più a trovarlo: lo hanno ristrutturato di recente e potrebbero averlo rimosso. Magari l'ho salvato da qualche parte e, nel caso ti interessi, posso provare a cercarlo. Comunque nella documentazione ufficiale c'è di tutto e di più.


Sul sito non c'è davvero più e non ho trovato backup sul PC. Per fortuna c'è il sito WaybackMachine!

Ecco qui Il file di cui ti parlavo: http://youdev.it/if/syntax_i7.txt

Purtroppo l'ultimo aggiornamento è di 10 anni fa (versione 5Z71), però da un'idea della struttura delle frasi e, soprattutto, della mole di lavoro da fare.


Innanzi tutti grazie per la risposta molto esaustiva!
Il file che hai postato è in effetti qualcosa di comodo che stavo cercando e al contempo spaventoso (a maggior ragione se è così datato).
In effetti io ambivo a fare un tool da usare a riga di comando, del tipo "traduci --sorgente --destinazione" senza integrare niente nell'IDE.
A dire il vero anch'io ho visto che il progetto verrà reso open-source e devo ammettere che sono molto curioso di vedere cosa c'è sotto il cofano di Inform!! Ad ogni modo ero comunque incuriosito dall'idea e ho iniziato a buttare giù qualcosa anche solo per rendermi conto della fattibilità del traduttore.

Comunque peccato per il progetto Champollion... Trovo che questo linguaggio sia più unico che raro perché permette di descrivere tutto in un linguaggio quasi naturale. Avere uno strumento del genere che parla italiano sarebbe fantastico! Magari chissà, una volta reso open-source ci si può mettere le mani insieme per farlo parlare italiano.

Messaggio modificato da sabbiacinetica il 9 Sep 2019, 22:23
 
sabbiacinetica
messaggio9 Sep 2019, 22:19
Messaggio #7





Gruppo: Gamer
Messaggi: 6
Iscritto il: 9 September 19
Utente Nr.: 22.348
SO Windows7




Un breve esempio per mostrare il risultato ottenuto in una giornata di lavoro.
Input:
CODICE
[Titoli]
"Prova 1" di Pinco Pallino
"Harry Potter" di "J.K. Rowling"

[Intestazioni]
Volume Primo
libro "Un titolo"
Parte 1 - Delle cose
capitolo Secondo: Una stanza buia
Sezione s

[Commenti]
[Questo è un commento]
[Per ora, commenti multilinea non sono supportati]
[Così come non sono supportate istruzioni multiple su una linea singola]
[o commenti affiancati ad un'istruzione (ovvero sulla stessa linea)]
[Inoltre sono ammessi solo identificatori alfanumerici codificati in snake case]
[Esempio: identificatore_valido, identificatore-non-valido, nemmeno questo è valido]

[Righe vuote]




[Nuovi tipi]
Un elettrodomestico è un tipo di dispositivo.
Un albero è un tipo di cosa.
Un indumento è un tipo di cosa.
Una scatola è un tipo di contenitore.
Dei pantaloni sono un tipo di indumento.
Delle calzature sono un tipo di indumento.

[Nuovi tipi con proprietà]
Un indumento è un tipo di cosa indossabile.
Una camicia_commestibile è un tipo di cosa indossabile ed edibile.
Degli scatoloni_di_feltro_masticabili sono un tipo di contenitore accessibile, indossabile ed edibile.
Delle scartoffie sono un tipo di cosa scenica e leggibile.

[Errori]
Questa istruzione non è riconosciuta e lancerà un errore!
Le istruzioni non riconosciute verranno comunque riportate così come sono nella traduzione.
La cameretta è una stanza. [Questo commento (che è sulla stessa linea di un istruzione, di per sé valida) non è ancora supportato]
La mela è una cosa. La pera è una cosa.
[La riga precedente contiene due frasi di per sé valide,
ma non sono ancora supportate perché sulla stessa riga.]
[Questo commento e quello precedente occupano più linee
e lanceranno un errore :)]


Output:
CODICE
[Titoli]
"Prova 1" by Pinco Pallino (in Italian)
"Harry Potter" by "J.K. Rowling" (in Italian)

[Intestazioni]
Volume Primo
Book "Un titolo"
Part 1 - Delle cose
Chapter Secondo: Una stanza buia
Section s

[Commenti]
[Questo è un commento]
[Per ora, commenti multilinea non sono supportati]
[Così come non sono supportate istruzioni multiple su una linea singola]
[o commenti affiancati ad un'istruzione (ovvero sulla stessa linea)]
[Inoltre sono ammessi solo identificatori alfanumerici codificati in snake case]
[Esempio: identificatore_valido, identificatore-non-valido, nemmeno questo è valido]

[Righe vuote]




[Nuovi tipi]
A elettrodomestico is a kind of device.
A albero is a kind of thing.
A indumento is a kind of thing.
A scatola (f) is a kind of container.
Some pantaloni are a kind of indumento.
Some calzature (f) are a kind of indumento.

[Nuovi tipi con proprietà]
A indumento is a kind of wearable thing.
A camicia_commestibile (f) is a kind of wearable, edible thing.
Some scatoloni_di_feltro_masticabili are a kind of enterable, edible container.
Some scartoffie (f) are a kind of scenery, readable thing.

[Errori]
Questa istruzione non è riconosciuta e lancerà un errore!
Le istruzioni non riconosciute verranno comunque riportate così come sono nella traduzione.
La cameretta è una stanza. [Questo commento (che è sulla stessa linea di un istruzione, di per sé valida) non è ancora supportato]
La mela è una cosa. La pera è una cosa.
[La riga precedente contiene due frasi di per sé valide,
ma non sono ancora supportate perché sulla stessa riga.]
[Questo commento e quello precedente occupano più linee
e lanceranno un errore :)]


(ovviamente il codice non ha senso e non è semanticamente corretto, ma le traduzioni riga per riga sono coerenti)

Messaggio modificato da sabbiacinetica il 9 Sep 2019, 22:21
 
Leonardo Boselli
messaggio10 Sep 2019, 08:58
Messaggio #8



Gruppo icone

Gruppo: Oldgame Editor
Messaggi: 1.012
Iscritto il: 18 December 13
Da: Imperia
Utente Nr.: 20.217
BGE WarCraft III
Playing Fortnite Battle Royale
SO Altro




CITAZIONE (sabbiacinetica @ 9 Sep 2019, 23:19) *
Un breve esempio per mostrare il risultato ottenuto in una giornata di lavoro.

Però! Sei velocissimo!

Non so se è più naturale "cosa" o "oggetto". Invece cambierei "edibile" in "commestibile".

Sarebbe bello poter utilizzare questo tool per la prossima Marmellata d'Avventura, ma temo che i tempi siano troppo ristretti (però vista la tua rapidità...)

Messaggio modificato da Leonardo Boselli il 10 Sep 2019, 08:59


--------------------
Mille e Una Avventura Canale YouTube di Narrativa Interattiva e altro ------ Twitch.tv / LeoBos67 Gameplay Live di Narrativa Interattiva ------ YouDev.it Game Development

 
sabbiacinetica
messaggio10 Sep 2019, 10:05
Messaggio #9





Gruppo: Gamer
Messaggi: 6
Iscritto il: 9 September 19
Utente Nr.: 22.348
SO Windows7




CITAZIONE (Leonardo Boselli @ 10 Sep 2019, 09:58) *
CITAZIONE (sabbiacinetica @ 9 Sep 2019, 23:19) *
Un breve esempio per mostrare il risultato ottenuto in una giornata di lavoro.

Però! Sei velocissimo!

Non so se è più naturale "cosa" o "oggetto". Invece cambierei "edibile" in "commestibile".

Sarebbe bello poter utilizzare questo tool per la prossima Marmellata d'Avventura, ma temo che i tempi siano troppo ristretti (però vista la tua rapidità...)


Se non sbaglio però Inform riconosce object e thing come due cose diverse, per quello ho tenuto cosa. E sì in effetti commestibile è meglio!

Comunque quando sarebbe la prossima edizione della Marmellata D'avventura?
 
Leonardo Boselli
messaggio10 Sep 2019, 10:13
Messaggio #10



Gruppo icone

Gruppo: Oldgame Editor
Messaggi: 1.012
Iscritto il: 18 December 13
Da: Imperia
Utente Nr.: 20.217
BGE WarCraft III
Playing Fortnite Battle Royale
SO Altro




CITAZIONE (sabbiacinetica @ 10 Sep 2019, 11:05) *
Comunque quando sarebbe la prossima edizione della Marmellata D'avventura?

Penso che a breve esca la notizia. Si dovrebbe concludere entro la fine dell'anno.
Probabilmente sarà troppo presto anche per poter utilizzare il nuovo Inform 7 open source (dato che le attuali estensioni in italiano non funzioneranno)


--------------------
Mille e Una Avventura Canale YouTube di Narrativa Interattiva e altro ------ Twitch.tv / LeoBos67 Gameplay Live di Narrativa Interattiva ------ YouDev.it Game Development

 
sabbiacinetica
messaggio10 Sep 2019, 11:58
Messaggio #11





Gruppo: Gamer
Messaggi: 6
Iscritto il: 9 September 19
Utente Nr.: 22.348
SO Windows7




Comunque aggiungendo nuove opzioni mi rendo conto che la.logica con cui sto creando il traduttore imporrebbe molti limiti (ad esempio quelli specificati nel codice sopra).
In effetti quello che fa il programma che sto buttando giù è prendere ogni riga e usare un'espressione regolare per identificarla e gestirla per poterla tradurre al meglio. Il problema è che le frasi possono variare moltissimo tra loro e avere piccole sfumature che le rendono diverse una dall'altra... A questo punto mi rendo conto che l'approccio che ho usato è sbagliato: anziché usare le espressioni regolari dovrei creare un parser che lavori su una grammatica predefinita... Ma allora mi sorgono alcuni dubbi:
- se dovessi effettivamente creare un parser, avrebbe più senso che traducesse in Inform6 o Inform7? A questo punto io direi 6;
- esiste già una grammatica (ovvero una descrizione BNF se sapete di cosa sto parlando) che descrive il linguaggio? Facendo delle ricerche ne ho trovato qualche frammento, ma niente di completo (magari Leonardo Boselli sapresti dove trovarla?)... Perché avendo già una grammatica il lavoro sarebbe moooolto più facile e fedele all'originale;
- a questo punto conviene aspettare che Inform7 diventi open source? Magari pubblicano grammatiche e sorgenti del parser che potrebbero facilmente essere tradotti...
 
Leonardo Boselli
messaggio10 Sep 2019, 18:50
Messaggio #12



Gruppo icone

Gruppo: Oldgame Editor
Messaggi: 1.012
Iscritto il: 18 December 13
Da: Imperia
Utente Nr.: 20.217
BGE WarCraft III
Playing Fortnite Battle Royale
SO Altro




CITAZIONE (sabbiacinetica @ 10 Sep 2019, 12:58) *
Comunque aggiungendo nuove opzioni mi rendo conto che la.logica con cui sto creando il traduttore imporrebbe molti limiti (ad esempio quelli specificati nel codice sopra).
In effetti quello che fa il programma che sto buttando giù è prendere ogni riga e usare un'espressione regolare per identificarla e gestirla per poterla tradurre al meglio. Il problema è che le frasi possono variare moltissimo tra loro e avere piccole sfumature che le rendono diverse una dall'altra... A questo punto mi rendo conto che l'approccio che ho usato è sbagliato: anziché usare le espressioni regolari dovrei creare un parser che lavori su una grammatica predefinita... Ma allora mi sorgono alcuni dubbi:
- se dovessi effettivamente creare un parser, avrebbe più senso che traducesse in Inform6 o Inform7? A questo punto io direi 6;
- esiste già una grammatica (ovvero una descrizione BNF se sapete di cosa sto parlando) che descrive il linguaggio? Facendo delle ricerche ne ho trovato qualche frammento, ma niente di completo (magari Leonardo Boselli sapresti dove trovarla?)... Perché avendo già una grammatica il lavoro sarebbe moooolto più facile e fedele all'originale;

Purtroppo su Inform 6 mi trovi impreparato.
Comunque non mi pare che l'approccio che sfrutta le espressioni regolari sia sbagliato: le frasi di Inform 7 sono molto rigide e bastano poche parole chiave per capire di quale frase si tratti. Penso che in italiano non cambi molto. Bisogna convincersi che il "linguaggio naturale" di Inform 7 è un'illusione, perché se non si scrivono le frasi in un certo modo, il compilatore non le capisce.

CITAZIONE (sabbiacinetica @ 10 Sep 2019, 12:58) *
- a questo punto conviene aspettare che Inform7 diventi open source? Magari pubblicano grammatiche e sorgenti del parser che potrebbero facilmente essere tradotti...

Probabilmente sì. Anche se temo che i sorgenti saranno una sorpresa per molti. Graham Nelson è un fedele seguace del "literate programming", paradigma di programmazione introdotto da Donald Knuth in cui un programma per computer viene fornito come una spiegazione della sua logica in un linguaggio naturale, come l'inglese, intervallata da frammenti di macro e codice sorgente tradizionale, da cui può essere generato codice sorgente compilabile. Ci sarà da divertirsi! blush.gif


--------------------
Mille e Una Avventura Canale YouTube di Narrativa Interattiva e altro ------ Twitch.tv / LeoBos67 Gameplay Live di Narrativa Interattiva ------ YouDev.it Game Development

 
sabbiacinetica
messaggio10 Sep 2019, 21:32
Messaggio #13





Gruppo: Gamer
Messaggi: 6
Iscritto il: 9 September 19
Utente Nr.: 22.348
SO Windows7




Piccolo aggiornamento, ecco i risultati di oggi...
Input:
CODICE
[Titoli]
"Prova 1" di Pinco Pallino
"Harry Potter" di "J.K. Rowling"

[Intestazioni]
Volume Primo
libro "Un titolo"
Parte 1 - Delle cose
capitolo Secondo: Una stanza buia
Sezione s

[Commenti]
[Questo è un commento]
[Per ora, commenti multilinea non sono supportati]
[Così come non sono supportate istruzioni multiple su una linea singola]
[o commenti affiancati ad un'istruzione (ovvero sulla stessa linea)]
[Inoltre sono ammessi solo identificatori alfanumerici codificati in snake case]
[Esempio: identificatore_valido, identificatore-non-valido, nemmeno questo è valido]

[Righe vuote]




[Nuovi tipi semplici]
Un elettrodomestico è un tipo di dispositivo.
Un albero è un tipo di cosa.
Un indumento è un tipo di cosa.
Una scatola è un tipo di contenitore.
Dei pantaloni sono un tipo di indumento.
Delle calzature sono un tipo di indumento.

[Nuovi tipi con proprietà]
Un indumento è un tipo di cosa indossabile.
Una camicia_commestibile è un tipo di cosa indossabile e commestibile.
Degli scatoloni_di_feltro_masticabili sono un tipo di contenitore accessibile, indossabile e commestibile.
Delle scartoffie sono un tipo di cosa scenica e leggibile.

[Nuove cose semplici]
Il cellulare è un dispositivo.
La penna è una cosa.
Gli alberi sono uno sfondo.
Le infradito sono delle scarpe.

[Nuove cose con proprietà]
Il cappello è una cosa indossabile.
La mela_stampata è una cosa commestibile e leggibile.
I pantaloni sono una cosa indossabile.
Le scatole_giganti sono un contenitore aperto, bloccabile, accessibile e scenico.

[Nuove cose con posizione]
Il fiammifero è un dispositivo nella scatola.
La frutta è una cosa nel frigo.
I letti sono un supporto in camera.
Le tegole sono una cosa sul tetto.

[Nuove cose con proprietà e posizione]
Il sommergibile è un veicolo chiuso, bloccato e sbloccabile in mare.
La maglia è una cosa indossabile nell'armadio.
I chiodi sono una cosa scenica sopra il tavolo_di_lavoro.
Le pietre_preziose sono una cosa scenica dentro la pietra.

[Nuovi attributi espliciti generici]
Un alimento ha un numero_reale chiamato calorie.
Una parola ha un carattere_unicode detto iniziale.
Dei pantaloni hanno un contenitore detto tasca.
Delle piante hanno un testo chiamato nome_latino.

[Nuovi attributi espliciti specifici]
Il led ha uno stato chiamato acceso.
La banana ha un testo detto colore.
I piedi hanno un numero chiamato dita.
Le pietre hanno un tempo chiamato età.

[Nuovi attributi impliciti]
Esso ha un testo detto incisione.
Ha un numero detto angoli.
Hanno uno stato chiamato vivo.
Esse hanno un valore detto qualcosa.

[Errori]
Questa istruzione non è riconosciuta e lancerà un errore!
Le istruzioni non riconosciute verranno comunque riportate così come sono nella traduzione.
La cameretta è una stanza. [Questo commento (che è sulla stessa linea di un istruzione, di per sé valida) non è ancora supportato]
La mela è una cosa. La pera è una cosa.
[La riga precedente contiene due frasi di per sé valide,
ma non sono ancora supportate perché sulla stessa riga.]
[Questo commento e quello precedente occupano più linee
e lanceranno un errore :)]

[Righe inalterate]
Every turn:                             #
    if the player is in the camera:   #
        say "qualcosa!".                #


Output:
CODICE
[Titoli]
"Prova 1" by Pinco Pallino (in Italian)
"Harry Potter" by "J.K. Rowling" (in Italian)

[Intestazioni]
Volume Primo
Book "Un titolo"
Part 1 - Delle cose
Chapter Secondo: Una stanza buia
Section s

[Commenti]
[Questo è un commento]
[Per ora, commenti multilinea non sono supportati]
[Così come non sono supportate istruzioni multiple su una linea singola]
[o commenti affiancati ad un'istruzione (ovvero sulla stessa linea)]
[Inoltre sono ammessi solo identificatori alfanumerici codificati in snake case]
[Esempio: identificatore_valido, identificatore-non-valido, nemmeno questo è valido]

[Righe vuote]




[Nuovi tipi semplici]
A elettrodomestico is a kind of device.
A albero is a kind of thing.
A indumento is a kind of thing.
A scatola (f) is a kind of container.
Some pantaloni are a kind of indumento.
Some calzature (f) are a kind of indumento.

[Nuovi tipi con proprietà]
A indumento is a kind of wearable thing.
A camicia_commestibile (f) is a kind of wearable, edible thing.
Some scatoloni_di_feltro_masticabili are a kind of enterable, wearable, edible container.
Some scartoffie (f) are a kind of scenery, readable thing.

[Nuove cose semplici]
The cellulare is a device.
The penna (f) is a thing.
The alberi are a backdrop.
The infradito (f) are some scarpe.

[Nuove cose con proprietà]
The cappello is a wearable thing.
The mela_stampata (f) is a edible, readable thing.
The pantaloni are a wearable thing.
The scatole_giganti (f) are a open, lockable, enterable, scenery container.

[Nuove cose con posizione]
The fiammifero is a device in the scatola.
The frutta (f) is a thing in the frigo.
The letti are a supporter in camera.
The tegole (f) are a thing on the tetto.

[Nuove cose con proprietà e posizione]
The sommergibile is a closed, locked, unlockable vehicle in mare.
The maglia (f) is a wearable thing in the armadio.
The chiodi are a scenery thing on the tavolo_di_lavoro.
The pietre_preziose (f) are a scenery thing in the pietra.

[Nuovi attributi espliciti generici]
A alimento has a real number called calorie.
A parola has a unicode character called iniziale.
Some pantaloni have a container called tasca.
Some piante have a text called nome_latino.

[Nuovi attributi espliciti specifici]
The led has a truth state called acceso.
The banana has a text called colore.
The piedi have a number called dita.
The pietre have a time called età.

[Nuovi attributi impliciti]
It has a text called incisione.
It has a number called angoli.
They have a truth state called vivo.
They have a value called qualcosa.

[Errori]
Questa istruzione non è riconosciuta e lancerà un errore!
Le istruzioni non riconosciute verranno comunque riportate così come sono nella traduzione.
La cameretta è una stanza. [Questo commento (che è sulla stessa linea di un istruzione, di per sé valida) non è ancora supportato]
La mela è una cosa. La pera è una cosa.
[La riga precedente contiene due frasi di per sé valide,
ma non sono ancora supportate perché sulla stessa riga.]
[Questo commento e quello precedente occupano più linee
e lanceranno un errore :)]

[Righe inalterate]
Every turn:                            
    if the player is in the camera:  
        say "qualcosa!".


Ribadisco che ovviamente le istruzioni non hanno senso tra loro, ma ogni riga è un test...
Mi chiedevo se ad Inform bastasse articolo e/o verbo plurale per capire che un nome è plural-named oppure se bisognasse specificarlo.

Messaggio modificato da sabbiacinetica il 10 Sep 2019, 21:41
 
Leonardo Boselli
messaggio11 Sep 2019, 18:06
Messaggio #14



Gruppo icone

Gruppo: Oldgame Editor
Messaggi: 1.012
Iscritto il: 18 December 13
Da: Imperia
Utente Nr.: 20.217
BGE WarCraft III
Playing Fortnite Battle Royale
SO Altro




CITAZIONE (sabbiacinetica @ 10 Sep 2019, 22:32) *
Mi chiedevo se ad Inform bastasse articolo e/o verbo plurale per capire che un nome è plural-named oppure se bisognasse specificarlo.

Basta l'articolo anche per differenziare tra countable e uncountable.
Inoltre nell'estensione italiana 6M62 basta inserire una (f) per specificare se il nome è femminile.

__The penna (f) is a thing.

Nella versione precedente 6L38 bastava scrivere:

__La penna is a thing.

e il compilatore capiva il genere dall'articolo.
Ma addirittura si poteva scrivere:

__La penna è una cosa.

- Commenti:

Forse "scenario" è preferibile a "cosa scenica" come traduzione di "scenery".

Poi mi chiedevo: meglio "sfondo" o "fondale"?

Naturalmente "mela_stampata", "scatole_giganti" ecc. dovranno funzionare senza underscore nella versione finale.



--------------------
Mille e Una Avventura Canale YouTube di Narrativa Interattiva e altro ------ Twitch.tv / LeoBos67 Gameplay Live di Narrativa Interattiva ------ YouDev.it Game Development

 

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

 

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


Versione Lo-Fi Oggi è il: 22nd September 2019 - 02:44