Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-04-2009, 11:06   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 2
Question Locale.loadLanguageXML und Codierung

Ahoi,

ich habe seit einigen Tagen ein Problem, das mich schier wahnsinnig macht:

Ich arbeite an einem mehrsprachigen Projekt in AS3, das unter anderem polnische und russische Sprachversionen enthalten soll. Die Ressourcen werden in den Flash-üblichen XML-Files gespeichert und per
Code:
Locale.loadLanguageXML()
eingelesen. Die erste Hürde, nämlich das Einbetten einer Font, die die benötigten Sonderzeichen enthält, habe ich nach langem Kampf inzwischen erfolgreich bewältigt. Nun tut sich aber ein neuer Abgrund auf:

Obwohl ich die Sprachdateien ordnungsgemäß als UTF-8 gespeichert habe, und mir diese auch in regulären Texteditoren korrekt als solches angezeigt werden, wandelt der Flash Player trotz
Code:
System.useCodePage=false;
intern scheinbar alle Zeichen nach Mac Roman (meine System-Codepage) um. Ein Beispiel: Das Zeichen ł sollte den Codewert 179 haben. Erzeuge ich ein solches über ActionScript, nämlich per
Code:
String.fromCharCode(179);
so wird das Zeichen korrekt dargestellt. Lese ich es aus der XML-Datei ein, erhält dasselbe Zeichen einen Wert über 300 (ermittelt über
Code:
String.charCodeAt()
- der dem Zeichenwert in Mac Roman entspricht - und erscheint als leeres Quadrat.

Ich vermute inzwischen, dass die Locale den Codepage-Wert einfach ignoriert und die Dateien verträumt mit der defaultmäßigen Systemeinstellung einliest, aber es gibt a) keinen Weg, das zu prüfen, und b) keine Möglichkeit, diese Einstellung derart zu überschreiben, dass das XML korrekt als UTF-8 erkannt wird. Oder doch? Was mache ich falsch?
Ich könnte natürlich die Dateien explizit über einen Loader einlesen, aber das würde ich gern vermeiden, um die Locale-Methoden benutzen zu können...

Bin gespannt auf Eure Ideen!

P.S: Ich benutze Eclipse/FDT mit Flex SDK 3, arbeite jedoch NICHT auf Flex- sondern auf FLA-Basis. Die Schriften werden über SWC eingebunden, die verwendeten Fonts sind Arial CE und Arial Cyr.

Geändert von mr.nospam (15-04-2009 um 11:14 Uhr)
mr.nospam ist offline   Mit Zitat antworten
Alt 15-04-2009, 12:24   #2 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Beiträge: 2
Nevermind...

Urrgs...

Für Interessierte hier die - ernüchternde - Auflösung:
1.) UTF-8 codierte Dateien funktionieren NUR mit Unicode-Schriften (in diesem Falle wurde aus vielen einzelnen Fonts dann doch die Arial Unicode MS)
2.) Sonderzeichen werden teilweise nicht angezeigt, wenn die Schriftglättung deaktiviert ist!

Punkt 2 hat mich ungefähr 3 Tage Arbeit gekostet - danke, Adobe!

Wir warten weiterhin auf eine Lösung für lokalisierte Anwendungen, die auch wirklich funktioniert...
mr.nospam ist offline   Mit Zitat antworten
Alt 15-04-2009, 15:43   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Ort: Braunschweig
Beiträge: 164
Hallo Mr NoSpam,

Punkt 1 war mir bekannt. Punkt 2 ist neu, gut zu wissen.
Ich hoffe, eure Anwendung verlangt keine Texteingaben.
Hier ist die Situation nämlich noch komplizierter.
Siehe z.B.:
http://bugs.adobe.com/jira/browse/FP...#action_247577
und
http://bugs.adobe.com/jira/browse/FP...#action_245352

Die Suche mit keyboard input auf der Bug Datenbank ergibt eine lange Liste.

Grüße,
Matthias Kievernagel
mkiever ist offline   Mit Zitat antworten
Alt 01-09-2009, 17:40   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 181
Ich habe die Erfahrung gemacht, dass Schriftzeichen immer nach der Eisntellung des User-Systems angezeigt werden. Ich bin gerade dran, eine App für den Japanischen Markt zu erstellen. Bei Tests habe ich feststellen können, dass ohne Einbetten von Schriften oder speziellen Lokalen Einstellungen, immer die Japanischen Schriftzeichen angezeigt wurden.

Weiss nicht ob das dann auch so abgespeichert werden würde. Ich denke, es werden die eingegbenen Zeichen Abgespeichert und einfach vom Client-System entsprechend der Systemkonfiguration angezeigt.
__________________
Gruß Michael
xoos ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
as3, locale, mehrsprachigkeit, sonderzeichen, xml

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 11:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele