Creare un sito Flash Multilingua con AS2 e AS3

- Letture: 3.803

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

Creare un sito Flash Multilingua AS2

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]

Creare un sito Flash Multilingua AS3

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]

Stratega, Docente, Speaker con più di 12 anni di esperienza in strategie creative multicanale. Oggi sono Partner & Chief Innovation Officer di ThinkingHat, Innovation Studio specializzato in tecnologie emergenti per aziende e brand audaci.

23 Commenti

  1. carolina 2008

    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 :)

  2. @carolina Quando cambi la lingua, cambi totalmente il contenuto dei tuoi testi ed eventuali link al suo interno

  3. 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.

  4. 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?!

  5. 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!

  6. 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”)
    }

  7. @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

  8. Ho già provato con _lockroot ma non va. Prima di fondere gli swf provo a pensare un’altra soluzione. Ti tengo aggiornato!

    Comunque grazie!

  9. Ciao Julius, come sempre trovo interessantissimi i tuoi articoli e sto apprendendo un sacco di cose!
    La mia domanda è molto semplice:
    invece del combobox vorrei usare dei pulsanti, ma non riesco a passargli i paramentri It e En. Uso AS2.

    grazie e ancora complimenti!

  10. Ciao,
    è la prima volta che scrivo, ed oltre a farti i complimenti, ti scoccio con un piccolo problema. Ho utilizzato questo tutorial Translator AS2 , ma non mi fa selezionare la stessa lingua per più di una volta.
    Ti sarei grato se mi dessi un consiglio….GRAZIE

  11. ciao a tutti… invece della combo per cambiare la lingua si potrebbe usare qualcosa del genere loadMovieNum(“mio.swf?lingua=en”,5) ?

    grazie anticipatamente.

  12. ciao Julius, ho un sito tutto in flash.. vorrei fare un frame dove ci sn le bandierine, cliccando sulla bandierina passi al frame successivo con nextFrame(); però che ci devo mettere prima per caricare una determinata lingua?

    on (release) {
    IL CODICE PER CARICARE LA LINGUA
    nextFrame();
    }

    grazie anticipatamente

  13. scusate ma la classe Translator per as3 esiste ancora? perchè io non la trovo in nessun manuale as3… e poi l’esempio allegato per as3 non è più disponibile? qualcuno me lo potrebbe dare? grazie infinite…

  14. Ciao Julius, ho utilizzato il tuo esempio in as2 per il cambio lingua e tutto ok ma sorgono dubbi e perplessità a cui tu spero possa dare risposta:
    Se uso delle maschere il testo non si vede;
    Nell’esempio crei una funzione testi. Casualmente ho notato che se compilata parzialmente (il loadstring per capirci) tutti i testi cambiano lo stesso. E’ dunque necessario compilarla tutta comunque?
    Grazie

Commenti