http://digilander.libero.it/Cenati VBS Multilingue |
home | e-mail e contatti | Introduzione al sito | Cosa e' e come imparare VbScript |
|
|
||
|
Come creare programmi multilingua Il codice di questa pagina è disponibile anche nel file Zip da scaricare. Mi sono fatto prendere da un attacco di internazionalità ed ho pensato ad un modo semplice per scrivere programmi che possono parlare lingue diverse. Come ad esempio tanti applicativi per i quali basta scaricare il file corrispondente alla lingua desiderata e per magia il programma cambia nazionalità. Non è difficile, ma ho voluto preparare una struttura che possa essere adattata facilmente a più programmi. Anzi, due strutture diverse in modo da creare (anche) un codice più leggibile per noi e per chi ci dovrà mettere le mani. Lo script "ospite" chiede due numeri e li somma. Nulla di particolarmente complicato. Prima di entrare nel vivo del programma, però, chiama una sub "LoadLanguage" per caricare il file con i messaggi nella lingua desiderata. Per comodità tutti i file relativi al programma iniziano con lo stesso nome dello script, in modo che possano essere facilmente copiati o spostati tutti insieme. Anche il "Readme" relativo allo scripp "multilingue.vbs" si chiamerà "multilingue readme.txt". La sub "LoadLanguage" definisce in una lingua di "default" i testi che dovranno apparire all'utente. Qui scrivo cinque righe in italiano, da m(0) a m(4). Poi controllo se esiste il file "Multilingue.default.lan". Se lo trovo, lo leggo e sostituisco al mio vettore m(..) i testi trovati nel file. Se non trovo nessun file con questo nome, saranno utilizzati i messaggi in italiano come descritto all'inizio della sub. Nel file di esempio ho messo una cattiva traduzione in italiano ed in francese dei messaggi. Per far parlare inglese lo script bisogna rinominare "multilingue.en.lan" in "multilingue.default.lan". Per farlo parlare francese bisogna rinominare "multilingue.fr.lan" in "multilingue.default.lan". Ecco il programma.
Il contenuto del file multilingue.active.lan potrà essere del tipo: Mulilingue.vbs by Cenati Giovanni Un codice più leggibile Mi rendo conto che è più facile capire un codice con msgbox "ciao" piuttosto che msgbox m(4), quindi passo ad una seconda possibilità che è più elaborata ma che è utile a rendere il codice più leggibile. Anzichè usare variabili come m(0), m(5), ecc, uso delle variabili in qualche modo "autoesplicative". I file con le diverse lingue non conterranno più solo i testi, ma anche i nomi delle variabili. Per attivare le variabili uso la funzione "include" della quale ho spiegato il funzionamento in un'altra pagina. Per non creare incidenti con altre variabili usate nello script, utilizzo un prefisso per i messaggi nazionalizzati. Ad esempio tutti i testi saranno contenuti in variabili che iniziano per ML_ Quindi ML_Titolo, ML_Introduzione, ML_PrimoNumero, ML_SecondoNumero, ML_Risultato. Regionalizzare il programma comporterà un piccolo sforzo in più, ma il codice ne guadagnerà molto in leggibilità.
Il contenuto del file multilingue2.active.lan potrà essere del tipo: ML_Titolo="Mulilingue.vbs by Cenati Giovanni" Giovanni Cenati
|
|
|
|
© Cenati Giovanni 2004/2010 - http://digilander.libero.it/Cenati - Reventlov at Katamail com
|
|