Provo a rispondere a un po' di domande, riassumendo anche cose già
dette nella discussione
Le informazioni sui file ccp sono nella Documentazione OEF, "Funzioni
avanzate", "Fichiers source prétraités"
https://openwims.matapp.unimib.it/wims/wims.cgi?lang=it&+module=help%2Foefdoc&+cmd=new&+special_parm=oefadv&+subject=oefadv
Un manuale è contenuto nel corso aperto "Aide au développement de
ressources"
https://openwims.matapp.unimib.it/wims/wims.cgi?lang=it&+module=home&+user=anonymous%2C9001%2Canonymous
In particolare ci interessa la parte sui "Moduli multilanguage"
Sezione "Thème 5 Utilisation de Modtool", "DocAide Modules d'exercices
OEF", "Module multilangage". Allego la versione stampabile pdf di
questa parte.
Il motivo per cui si è scelta questa modalità e non una come quella
suggerita da Maurizio (che dal punto di vista di programmazione sembra
molto più efficente) è che in questo modo si produce un file oef
editabile dai docenti (si è quindi voluto mantenere il principio che
il docente possa copiare l'esercizio nel suo corso e eventualmente
modificarlo per adattarlo ai suoi studenti). Se si utilizzano comandi
come "record", etc. l'esercizio non è più copiabile nel corso.
Mi sono anche accorta di un ulteriore bug (o feature di sicurezza) di
WIMS: tutti i comandi che leggono file di dati (quindi record, etc)
non funzionano nelle versioni stampabili dei test di autovalutazione
Esempio
https://openwims.matapp.unimib.it/wims/wims.cgi?lang=it&+module=adm%2Fsheet&+job=read&+sh=it%2FE1%2F1301%2Fsheet17
se clicchi su "versione stampabile" vengono a mancare tutte le figure.
Si è parlato (ma mai realizzato, quindi si può pensare di riproporre
il problema) di generare invece di un unico oef con tutti gli if
\if{\lang==it}{\text{saluti=buongiorno}}
\if{\lang==en}{\text{saluti=goodmorning}}
\if{\lang==fr}{\text{saluti=bonjour}}
\if{\lang==es}{\text{saluti=buenas dias}}
tanti oef, uno per ogni lingua (in modo che, stando al principio
sopra, il docente del corso quando importa un esercizio nel suo corso
si trovi solo con la lingua che gli interessa). Va però progettata
bene la cosa (e quindi è bene parlare e discutere le casistiche) per
capire la realizzabilità tecnica. Credo comunque che l'organizzazione
del "cpp" come descritto nel file che ho allegato possa funzionare
come base da cui sviluppare il resto.
Per quel che riguarda lo stato delle traduzioni (su cui molto c'è da
fare), tieni presente che io considero 4 livelli di utenti
(1) studenti
(2) docenti
(3) sviluppatori
(4) gestori di sito
Per le pagine accessibili da (1) tutte le traduzioni devono essere
"perfette" (chiare e corrispondenti a quello che succede).
Per le pagine accessibili da (2) ci sto provando, ma ci sono ancora
alcune cose che ho scelto di lasciare in inglese (o in Francese quando
proprio non c'è niente da fare).
Per le pagine di (3) e (4), sorry, per ora non mi pongo il problema...
In questo senso il file "filedesc" compete (3), e quindi non mi
preoccupo che sia in una sola lingua, mentre considererei più
importante lavorare su "observation" che compete (2).
Quindi c'è da lavorare e si può metter su un bel gruppo di sviluppo.
Alcune risposte a domande sparse di Maurizio
- il passaggio da cpp a oef in fase di preprocessing avviene senza che
sia definita la lingua (quindi la variabile lang non è definita in
nessuna delle varianti che hai cercato di usare)
- il file intro.phtml e introhook.phtml si possono rendere
multilingue: guarda un esempio di modulo multilingue ad esempio
https://openwims.matapp.unimib.it/wims/wims.cgi?module=U1/arithmetic/modarith.en
Mi pare che queste siano le cose principali, fammi sapere se ho
dimenticato qualcosa
Marina