Oggi vedremo come realizzare e progettare un sito Flash Multilingua utilizzando ActionScript 2 e ActionScript 3
Molti clienti mi richiedono la possibilità di tradurre il proprio sito Flash in più lingue, questo comporta maggiore visibilità in campo internazionale.
Vediamo ora come creare un sito Flash Multilingua utilizzando AS2 e AS3
Per gestire le differenti lingue possiamo usare il pannello Stringhe, che permette di creare da subito le traduzioni all’interno dell’ambiente di sviluppo Flash
Il pannello Stringhe lo possiamo trovare da Strumenti >> Altri Pannelli >> Stringhe oppure tasto rapido CTRL+ F11

Il pulsante Imposta XML viene usato qualora avessimo gia un file XML da importare.
Premendo il pulsante Impostazioni, potremo scegliere le lingue da noi stabilite per la traduzione e scegliere quella predefinita, in questo caso l’Italiano

A questo punto inseriamo un ID nel pannello Stringhe ad esempio ciao, questo verrà cambiato in IDS_CIAO

Dopo aver compilato i campi nelle due lingue, italiano e inglese, salviamo il nostro progetto .fla ed esportiamo il filmato .swf [tasto rapido CTRL+ENTER]
Verranno automaticamente create due cartelle en e it in cui troveremo i file XML

A questo punto ci basterà individuare la lingua con la classe capabalites o dare la possibilità all’utente di cambiare linguaggio.
Scarica esempio sito Flash Multilingua in AS2
via [HTML.it]
Per creare un sito flash Multilingua con Actionscript 3 useremo la classe Translator
La classe translator permette di creare un file in cui racchiudere tutte le lingue desiderate per effettuare la traduzione
In questo caso non avremo bisogno di un file XML esterno, in quanto grazie a Languages.as verranno gestite tutte le lingue adoperando le stesse classi.
Per ogni lingua ci basterà creare una classe in questo modo
public static var it:Object = new Object();
public static var en:Object = new Object();
Nel file Languages.as invece ci basterà inserire le traduzioni delle varie lingue in questo modo
it.main = "Ciao Mondo!";
en.main ="Hello World!";
Possiamo notare l’uso di identificazione uguale alle classi, il nome dell’oggetto corrisponde alla sigla della lingua e viceversa, per rendere il tutto più intuitivo e semplice
Scarica esempio sito Flash Multilingua in AS3
via [Marcello Surdi]
Design, File, Flash, Free, Grafica, Immagini, Sviluppo, Traduzione, Tutorial, tips & trick

16 Commenti
Marchino
30 Giugno 2008 alle 10:33 am
Ottimi consigli Julius!
Yoda
30 Giugno 2008 alle 10:34 am
Ottima la classe Translator per AS3!!!
gipris
30 Giugno 2008 alle 11:33 am
Utilissimo come sempre! questa mi era sconosciuta
carolina 2008
30 Giugno 2008 alle 17:57 pm
ottimo lavoro… però mi sorge spontanea una domanda julius…
sei io cambio lingua in una pagina, cè un modo affinchè io possa cambiare link o pagina restando nella lingua selezionata senza dover tutte le volte ri-selezionare la lingua?
grazieee
Julius
30 Giugno 2008 alle 21:24 pm
@carolina Quando cambi la lingua, cambi totalmente il contenuto dei tuoi testi ed eventuali link al suo interno
Vitix
30 Giugno 2008 alle 22:12 pm
Come sempre…grande!!!
carolina 2008
1 Luglio 2008 alle 9:18 am
capito Ju grande come sempre
nauli
25 Luglio 2008 alle 9:54 am
Ciao Juilus, ho un piccolo quesito.
Seguendo le tue indicazioni, come sempre precise e puntuali, ho realizzato un . swf multilingua in AS2 e fin qui tutto bene.
I problemi nascono quando all’interno di questo .swf ne carico un altro (tramite loadMovie) avente anch’esso la gestione delle stringhe multilingua.
Separatamente funzionano; insieme no (nessuno dei due). Entrambi i file includono la classe mx.lang.Locale (che a differenza delle altre è compilata nel .swf e non fa parte del player) e forse il problema sta proprio lì ma non ne sono sicuro. Puoi aiutarmi in qualche modo.
Grazie.
luca83
28 Luglio 2008 alle 15:32 pm
Un tutorial veramente interessante, se nn ci fossi tu julius!lol
Ti vorrei fare una domandina xò…
Usando AS2, come potri fare a cambiare automaticamente l’ordine dei due linguaggi nella combobox in base al linguaggio scelto automaticamente al runtime?!
Julius
28 Luglio 2008 alle 21:18 pm
@luca83 puoi usare una combox che si popola a seconda di una variabile impostata in runtime
luca83
29 Luglio 2008 alle 11:25 am
grazie julius, in effetti era quello a cui avevo pensato… riusciresti a farmi un esempio su come potrei impostare la variabile? non so come ricavarmi il langcode al runtime… pardon, è che non sono molto esperto!
luca83
30 Luglio 2008 alle 14:10 pm
Credo di aver trovato un metodo… forse troppo arcano xò, chiedo qui che magari mi dite se è sbagliato.
Ho inserito un nuovo id nel pannello stringhe e l’ho chiamato IDS_LANG, quindi ho assegnato come valori “en” e “it”.
var Langcode:String = Locale.loadString(”IDS_LANG”);
if (Langcode == en) {
lingua.addItem(”English”,”en”)
lingua.addItem(”Italiano”,”it”)
}else{
lingua.addItem(”Italiano”,”it”)
lingua.addItem(”English”,”en”)
}
nauli
1 Agosto 2008 alle 11:26 am
Nessuno mi può aiutare?
(Commento del 25 Luglio 2008 alle 9:54 am)
Julius
1 Agosto 2008 alle 11:30 am
@luca83 si è una soluzione..
@nauli probabilmente va in conflitto con l’atrlo swf
prova a importarlo in questo modo, se l’errore persiste prova a fondere i due swf
nauli
1 Agosto 2008 alle 11:57 am
Ho già provato con _lockroot ma non va. Prima di fondere gli swf provo a pensare un’altra soluzione. Ti tengo aggiornato!
Comunque grazie!
Marco B
21 Agosto 2008 alle 9:29 am
As 1 non si può ?
Scrivi un Commento
tag abilitati: <code> </code> | <a href=""> </a> | <strong> </strong> | <i> </i>