[ Oz1708 @ 29.07.2008. 23:10 ] @
Kako napraviti cetvorojezicnu flash stranicu a da ne bude bas preteska....postoji li neka caka za to?
[ StarCraft @ 30.07.2008. 10:04 ] @
Ako me nesto nervira kod izrade aplikacija, to su PREVODI NA VISE JEZIKA!!

ja sam recimo na ovom sajtu www.nutrilans.com pretvorio SVAKI text objekat u movieClip sa vise fejmova u sebi - onoliko koliko jezika i prevoda imam. i svaki na sebi ima kôd:

Code:
onClipEvent (load) {
    _root.registracija(this);
}
onClipEvent (unload) {
    _root.brisanje(this);
}

A u _root-u se nalaze te funkcije:

Code:
// ovo se poziva SA text objekata prevoda onog momenta kada se pojave na ekranu
function registracija(ovo, i:Number) {
    ovo.gotoAndStop(aktuelniJezik); // "aktuelniJezik" je number - broj frejma na kojem se nalazi odgovarajuci jezik

    for (i = 1; i <= brojElemenata; i++) {
        if (objektiZaPrevod[i - 1] == ovo) {
            i = 0;
            break;  // objekat se vec nalazi u ovom array-u
        }
    }

    if (i) {
        brojElemenata = objektiZaPrevod.push(ovo); // ako ga nema u array-u elemanata, dodaj ga
    }
}

// ovo se poziva sa text objekata sa vise jecikih frejmova u sebi, onog trenutka kada se "sklone sa ekrana"
function brisanje(ovo, i:Number) {
    // ovo dole radi po principu: za svaki element sa "number" ID-om u "objektiZaPrevod", uradi sledece
    for (i in objektiZaPrevod) {
        if (objektiZaPrevod[i] == ovo) { // pronadji taj element u array-u
            objektiZaPrevod.splice(i,1); // izbaci taj element iz Array-a
            brojElemenata--; // smanji broj elemenata (globalna promenljiva)
        }
    }
}


i svaki put kad neko klikne na promenu jezika:

Code:
// ova funkcija prebacuje sve vidljive objekte (iz prevod-array-a) na frejm za odredjeni jezik
// treba joj predati parametar "frejm" (redni broj jezika-prevoda)
function promeniJezik(frejm, i:Number) {
    aktuelniJezik = frejm;
    // ovo dole radi po principu: za svaki "Number" elementa u objektiZaPrevod, uradi...
    for (i in objektiZaPrevod) {
        objektiZaPrevod[i].gotoAndStop(frejm);
    }
}


Kao sto vidis, nista lakse ;)

Ovaj princip je do jaja jer sve radis u jednom SWF-u i kakvu god promenu da napravis u tom fajlu, ne moras da menjas to isto i u ostalim SWF-ovima koji su uradjeni na drugim jezicima. Pored toga, korisnik ne mora da ceka da se ucita drugi swf nego "odma dobije rezultat".

A pritom cekam prevod na kineski i francuski... tako da sam "mislio na buducnost" :)
(smaranje nevidjeno...)

[Ovu poruku je menjao StarCraft dana 30.07.2008. u 11:18 GMT+1]
[ gordon_beneth @ 30.07.2008. 17:05 ] @
Postoju u Flashu panel Strings (Window->Other Panels->Strings) koji bi upravo za to trebao da služi, ja nisam imao nešto volje a ni potrebe da se bakćem sa tim, ako je neko to koristio, baš bih voleo da čujem iskustva.
[ Oz1708 @ 31.07.2008. 01:04 ] @
Mnogo hvala, rijesio sam sve!!
[ StarCraft @ 31.07.2008. 11:54 ] @
Kako?
[ MOHOK7 @ 09.09.2008. 11:49 ] @
Mi to radimo sa variablama
ako posetilac odabere jedan jezik (klikne na buttona) onda je dinamicko tekst polje ispunjeno odgovarajucim tekstom.
Evo primera:
Uputstvo za upotrebu:
http://www.studio-medison.com/display/h3ddemo.php?demoId=336
Direktni link:
http://www.web3d-system.net/pa...?folder=test&objekt=OBJ244
Ili sa XML (ne znam dokle su dosli sa podizanjem stranice ali tu bi trebalo da bude)
http://test.schletterer.com/unternehmen.html

http://www.schletterer.com/

Pozdrav i postovanje s ove strane ALPA
MOHOK


[ gonzos @ 09.09.2008. 20:38 ] @
XML je rjesenje za sve.
U Flash 8 Sample files ima jedan takav primjer!