Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-09-2004, 15:41   #1 (permalink)
Neuer User
 
Benutzerbild von marcodeneu
 
Registriert seit: Sep 2002
Beiträge: 352
String-Tabelle

hi!

in flash gibt's ja eine string-tabelle für mehrsprachigen text in dynamischen textfeldern. gibt's auch eine möglichkeit, die angezeigte sprache einzustellen und strings abzurufen, und zwar per action script 2.0?

danke im voraus!

cya
marcodeneu ist offline   Mit Zitat antworten
Alt 12-09-2004, 16:54   #2 (permalink)
Addicted to Flas
 
Benutzerbild von eliias
 
Registriert seit: Sep 2002
Ort: Salzburg/Austria
Beiträge: 335
also eine string table habe ich noch nicht gefunden , beschreib vielleicht etwas exakter was du meinst, bzw. das den namen auch verdient den du benutzt.

auf die schnelle würde ich mehrsprachige inhalte mit arrays lösen, jede sprache wird dann z.B. von einem objekt verwaltet, oder auch über Datenbank, wie auch immer das Problem bei Mehrsprachigkeit ist immer die Gleichheit des Inhaltes

mfg eliias


grüsse von salzburg nach salzbug
__________________
Blog
Ace of Mace
eliias ist offline   Mit Zitat antworten
Alt 13-09-2004, 08:03   #3 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
eliiias, markiere ein textfeld und klicke strg+F11
michael ist offline   Mit Zitat antworten
Alt 13-09-2004, 08:08   #4 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
Hmm

Was ich weiss wird die Sprache über das System bestimmt.

Code:
System.capabilities.language
da kann man auslesen was gesetzt ist und man kann es setzen. (afaik)
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten
Alt 13-09-2004, 08:58   #5 (permalink)
Addicted to Flas
 
Benutzerbild von eliias
 
Registriert seit: Sep 2002
Ort: Salzburg/Austria
Beiträge: 335
@gutknut: krass

edit:

aja und gibts schon jemanden der das verwendet
__________________
Blog
Ace of Mace

Geändert von eliias (13-09-2004 um 09:00 Uhr)
eliias ist offline   Mit Zitat antworten
Alt 13-09-2004, 09:27   #6 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
das ganze funktioniert über die klasse

mx.lang.Locale

ich dachte erst es müsste irgendwie so gehen,

ActionScript:
  1. function sprachwechsel ()
  2. {
  3.     test.text = mx.lang.Locale.loadString ("IDS_BEGR");
  4. }
  5. mx.lang.Locale.setLoadCallback (sprachwechsel);
  6.  
  7. btn.onRelease = function ()
  8. {
  9.     mx.lang.Locale.setDefaultLang ("en");
  10.     mx.lang.Locale.initialize ();
  11. };



aber
ActionScript:
  1. private static var xmlLang:String = System.capabilities.language;
macht mir da einen strich durch die rechnung.
Edit: die benutzung dieses panels erzeugt beim veröffentlichen einen exportierten movieclip, in dem nichts anders passiert als
ActionScript:
  1. #initclip 0
  2. mx.lang.Locale.setFlaName("test");
  3. mx.lang.Locale.setDefaultLang("de");
  4. mx.lang.Locale.addXMLPath("de", "de/test_de.xml");
  5. mx.lang.Locale.addXMLPath("en", "en/test_en.xml");
  6. mx.lang.Locale.addXMLPath("es", "es/test_es.xml");
  7. mx.lang.Locale.initialize();
  8. #endinitclip

Geändert von michael (13-09-2004 um 09:37 Uhr)
michael ist offline   Mit Zitat antworten
Alt 14-09-2004, 11:48   #7 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Ich habe mir das alles auch zum ersten Mal angeschaut. Eigentlich eine interessante Geschichte. Intern funktioniert das so, dass in jedem Frame, in dem ein registriertes Textfeld liegt, der gespeicherte Wert aus dem XML eingetragen wird. Das hätte man mit einer entsprechenden Methode sicher besser lösen können

ActionScript:
  1. //Das passiert in jedem Frame mit dem registrierten Textfeld mam
  2. if( mx.lang.Locale.checkXMLStatus() == true )
  3. {
  4.     mam.text = mx.lang.Locale.loadString("IDS_T3");
  5. }
  6. else
  7.     mx.lang.Locale.addDelayedInstance(mam, "IDS_T3");

Das mit der Umstellung zur Laufzeit scheint wirklich nicht vorgesehen zu sein. Jedenfalls fehlt der Setter für die Sprache. Vielleicht geht es mit der harten Methode:

ActionScript:
  1. mx.lang.Locale["xmlLang"] = "es";
  2. mx.lang.Locale.initialize ();

Wer nicht hören will, muss fühlen
mfg r.

Geändert von bokel (14-09-2004 um 11:53 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 14-09-2004, 12:01   #8 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
*brr*

Wie kann man das nur so implementieren *schüttel*
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten
Alt 14-09-2004, 12:06   #9 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Na ja, man muss immer was zum optimieren übrig lassen
mfg .r
bokel ist offline   Mit Zitat antworten
Alt 14-09-2004, 12:16   #10 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
*sarkasmus*

Am besten soviel Code wie möglich oder wie? Je mehr Code man hat um zu optimieren desto besser.
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten
Alt 14-09-2004, 12:17   #11 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
Zitat:
Zitat von bokel

ActionScript:
  1. mx.lang.Locale["xmlLang"] = "es";
  2. mx.lang.Locale.initialize ();

Wer nicht hören will, muss fühlen
mfg r.
brutal aber es funktioniert

wenn eine änderung zur laufzeit nicht vorgesehen ist, frage ich mich wozu man die möglichkeit gibt eine callback-funktion zu setzen.


micha
michael ist offline   Mit Zitat antworten
Alt 14-09-2004, 12:22   #12 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Ich glaube, man muss den callback gar nicht setzen, der wird eigentlich nur intern verwendet. Sprache einstellen und initialize sollte reichen.

Edit:
Achso nee, ohne Framewechsel würde dann wahrscheinlich nix passieren.
Also callback oder Framewechsel oder beides


Edit:
Achso, doch nicht nee, die Texte werden im onLoad neu zugewiesen, also
ein extra callback ist dafür nicht nötig.


mfg .r

Geändert von bokel (14-09-2004 um 12:29 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 14-09-2004, 12:38   #13 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
was es nicht so alles gibt ..sehr interessanter Thread !!! Hoffe das geht noch weiter

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 14-09-2004, 12:39   #14 (permalink)
thinkin aBout tha lib.
 
Benutzerbild von kaneda
 
Registriert seit: Nov 2001
Ort: Kölle
Beiträge: 1.379
Hmm

Für mich ist jetzt klar das ich selber was implementieren werd
__________________
Back to community with http://leichtgewicht.at
kaneda ist offline   Mit Zitat antworten
Alt 14-09-2004, 12:51   #15 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Zur Optimierung könnte man vielleicht einen Postprocessor in JSFL schreiben, der die Framescripte durch entsprechende Funktionsaufrufe ersetzt.

Edit:
Ach nee, schon wieder Quatsch erzählt
Die Scripte werden ja erst beim Veröffentlichen eingefügt. Da haben wir ja gar keine Möglichkeit, mit JSFL einzugreifen.


mfg .r

Geändert von bokel (14-09-2004 um 12:54 Uhr)
bokel ist offline   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 15:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele