Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-02-2008, 08:39   #1 (permalink)
Art Director
 
Benutzerbild von tomtom69
 
Registriert seit: Sep 2002
Ort: Mülheim/Ruhr
Beiträge: 698
Mehrsprachigkeit mit LoadVars

Morgähn,

ich bin grad dabei, eine mehrsprachige Seite aufzubauen.

Die Inhalte hole ich mir aus php Dateien mit dem LV Objekt.

Beim 1. Aufruf lese ich die Systemsprache aus, baue damit meinen Loadpath zusammen und lade die Sprachdatei.

Nun soll das ganze auch auf klick wechseln. Und das funzt nur bedingt.
Bin einfach hingegangen und weise dem selben LV Objekt erneut einen loadbefehl mit der entsprechenden Sprachdatei zu.

Nun erstelle ich z.B. die Menüleite nach erfolgreichem Laden per AS. Separat dazu habe ich 3 links, die sich bereits auf der Bühne befinden. Deren Beschriftung wechselt sofort in die richtige Sprache, die Beschriftung der per AS erstellten Menüleiste verschwindet?!?!?!?

PHP-Code:
var alles_lv:LoadVars = new LoadVars();
alles_lv.load(serverpfad+speech+"/lang.php");
alles_lv.onLoad = function(erfolgreich:Boolean) { 
    if (
erfolgreich) {
_global.linksMCs = [];
        for (var 
i:Number 0this.gesamtmenui++) {
            
//TExtübergabe an die vordefinierten Textvariablen!
            
_global["copy"+i+"TXT"] = this["copy"+i+"_txt"];
            
_global["head"+i+"TXT"] = this["head"+i+"_txt"];
            if(
linksMCs.length <= this.gesamtmenu) {
                var 
links:MovieClip _root.attachMovie("basisLink_mc","link"+i+"_mc",_root.getNextHighestDepth());
                
linksMCs.push(links);
                
links._y 30;
                
links._x 179;
                
links.basisLink_txt.autoSize "left";
                
links.basisLink_txt.type "dynamic";
                
links.basisLink_txt.embedFonts true;
                
links.basisLink_txt.antiAliasType "advanced";
            }
//hier ist die Textzuweisung
            
links.basisLink_txt.text this["link"+i];
            
trace("Menu "+speech+" ="+this["link"+i]+"\n");
            
links.basisLink_txt.setTextFormat(menuFont);
.
.

Getraced wird auch das richtige. Weiß einer, wohin mein Text verschwindet?

Sonnige Grüße,

der Tom
__________________
__________________________________________
"… blubb!"
tomtom69 ist offline   Mit Zitat antworten
Alt 13-02-2008, 11:58   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Trace mal nach deinem letzten trace noch den MC "links" und seine eingebettete Textfeldinstanz.

BTW: ich hab auch schon mehrsprachige Systeme erstellt. Deine Vorgehensweise halte ich für unpraktisch, da du die Textfelder wieder alle neu erstellen musst. Nimm besser mehrdimensionale Arrays, bei denen bspw. der erste Index die Sprache ist. Mal als Ansatz:
PHP-Code:
sprache 1;//bspw. 1 für dt, 0 für engl etc
sprachzuweisung(sprache);

function 
sprachzuweisung(sprache){
   
texte = new Array();
   
texte[0] = new Array();
   
//hier mal demohalber hardcodiert:
   
texte[0][0] = "Help";
   
texte[0][1] = "Hilfe";
   
trace("text="+texte[0][sprache]);

Du kannst dann sowohl den Wert für "sprache" als auch alle Werte für "texte" über die LoadVars-Klasse holen, bspw. auch über kommaseparierte Sprachlisten. Du musst dann nach einem entsprechenden Sprachwechsel, bspw. über einen Schaltflächenevent, nur noch die Sprachzuweisungsfunktion einmal durchlaufen.
  Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele