Questo documento contiene appunti sparsi sul lavoro di traduzione e sull’uso della libreria Alan Italian. Man mano che la documentazione prenderà forma questi appunti verranno integrati nelle sezioni debite.
Note sull’uso di $v
Nelle stringhe di risposta dei verbi, la libreria originale inglese faceva abbondante uso del simbolo speciale $v
, che Alan sostituisce con il verbo digitato dal giocatore.
Per esempio, ipotizzando che il giocatore abbia digitato “talk to wall,” queste stringhe di codice produrrebero:
"You can’t $v to $+1."
|
→ You can’t talk to the wall. |
"$ving to $+1 is useless."
|
→ Talking to the wall is useless. |
Poiché in inglese il verbo imperativo digitato dal giocatore corrisponde alla forma base del verbo, il simbolo $v
è utilizzabile in svariati tempi verbali, e per ottenere il participio presente basta aggiungervi “ing” ($ving
).
Nella libreria inglese, questo ha reso possibile la creazione di attributi stringa per risposte riutilizzabili con svariati verbi e in maniera flessibile. Inoltre, nel caso di verbi con sinonimi o sintassi alternative, ha consentito di poter includere nella risposta l’esatto verbo digitato dal giocatore, consentendo una maggior flessibilità nel riutilizzo dei verbi.
Nell’output, |
In italiano, purtroppo, l’impiego di $v
nelle risposte non è altrettanto flessibile.
Nel caso di verbi il cui imperativo termina in ‘a’, è possibile utilizzare $v
come nella libreria inglese.
Per esempio, ipotizzando che il giocatore abbia digitato “mangia il maestro”:
"Non puoi $vre $+1."
|
→ Non puoi mangiare il maestro. |
"$+1 non vuol essere $vto."
|
→ Il maestro non vuol essere mangiato. |
"$+1 non è $vbile."
|
→ Il maestro non è mangiabile. |
Ma in italiano sono frequenti i verbi in cui questo non funzionerebbe.
Per esempio, dai seguenti verbi non è possibile derivare l’infinito dalla forma imperativa del comando usando la formula $+v
+re
("$vre"
):
bevi |
→ bevire. |
siediti |
→ sieditire. |
dai |
→ daire. |
Questo problema ha determinato un uso limitato di $v
nella della libreria italiana, e ad una rielaborazione dell’intero corpo degli attributi stringa dei messaggi, nonché della loro modalità d’uso all’interno dei verbi, disconstandosi parecchio dalla libreria originale.
Laddove la libreria originale definiva attributi stringa con risposte complete, e condivise da più verbi, grazie all’uso di $v
, nella libreria italiana si è dovuto creare messaggi parziali in cui è omesso il verbo, facendo ricadere sul corpo del verbo l’onore di completare la frase.
Ad esempio, la libreria inglese definisce i seguenti attributi per le risposte in caso di parametri non idonei al verbo:
HAS illegal_parameter_sg "That's not something you can $v.".
HAS illegal_parameter_pl "Those are not something you can $v.".
Ciascun attributo è una risposta completa e non richiede ulteriore testo. Nella libreria italiana questi attributi sono stati tradotti così:
HAS ogg1_inadatto_sg "$+1 non è qualcosa che puoi".
HAS ogg1_inadatto_pl "$+1 non sono qualcosa che puoi".
L’impedimento ad usare $v
ha costretto a troncare le frasi negli attributi, e a doverle completare nel codice dei verbi stessi.
Ad esempio:
SYNTAX ispeziona = ispeziona (ogg)
WHERE ogg IsA THING
ELSE
IF ogg IS NOT plurale
THEN SAY mia_AT:ogg1_inadatto_sg.
ELSE SAY mia_AT:ogg1_inadatto_pl.
END IF. "ispezionare."
SYNONYMS perquisisci = ispeziona.
Questo approccio consente di riutilizzare il messaggio con tutti i verbi, inclusi quelli che non terminano per ‘a’.
Nel caso di messaggi più complessi, nei quali il verbo ricade necessariamente al centro della frase, è impossibile creare un messaggio completo tramite un solo attributo stringa. Per esempio, messaggi della libreria originale come questo:
HAS check_obj_not_in_worn2 "It doesn't make sense to $v something you're wearing.".
non possono essere tradotti in italiano se non utilizzando due attributi distinti (scelta poco pratica). In simili casi la frase della risposta va rimpiazzata con una più adatta all’uso, oppure si rinuncia ad usare un attributo stringa e si implementa la risposta usando semplici stringhe nel corpo verbo.
Ritornando all’esempio precedente, si noterà che l’infinito del verbo è rappresentato da una stringa letterale, perciò il verbo mostrato nella risposta sarà sempre “ispezionare”, anche quando il giocatore userà il sinonimo ‘perquisisci’.
Questo è per via del fatto che ‘perquisisci’sarebbe inadatto all’uso di $vre
(= '`perquisiscire’).
Quando tutte le sintassi ed i sinonimi di un verbo terminano in ‘a’ si può anche ricorrere al’uso $v
nel codice del verbo.
Questo rende le risposte più fluide, specie nel caso di verbi che coprono sintassi simili ma con significati diversi (e.s. ‘graffia’ e ‘gratta’ come traduzione del verbo inglese ‘scratch’).
Il rischio però è che un autore possa aggiungere ulteriori sinonimi o sintassi per il verbo, e che alcuni di essi possano condurre a risposte sgrammaticate.
In alcuni casi l’implementazione di sinonimi è finalizzata a catturare potenziali comandi del giocatore mal formulati; in questi casi l’utilizzo di un verbo diverso da quello digitato serve anche a sottolineare al giocatore quale sia il corretto verbo di base associato all’azione.