Aus beruflichen Gründen muss ich mich zur Zeit mit einer Flex/Flash Anwendung für das Internet beschäftigen. Da es sich dabei sprachlich um eine Mischung zwischen Delphi und C++ mit etwas XML handelt, war der Einstieg nicht besonders schwer für mich. Als Vorgabe für das Projekt hieß es, dass es mehrere Sprachen unterstützen können muss. Es musste also lokalisiert werden. Unter Flex sind auch Lokalisierungsmechanismen vorgesehen, die man relativ leicht benutzen kann -- wenn da nicht die Hilfe wäre, in der zwar viel steht zu diesem Thema aber nicht konkret, wie man vorzugehen hat. Hilfe diesbezüglich fand ich dann in einem Flex-Forum. Wenn man weiß, wie es geht, ist es wirklich ganz einfach, man muss nur 9 Schritte nacheinander Schritt für Schritt durchgehen.
btnShowMsgBoxCaption=Messagebox öffnenPlatzhalten könne auch verwendet werden:
MsgBoxText=Dies ist der Text, der im Nachrichtendialog angezeigt wird. Und dies ist ein Platzhalter: {0}.<mx:Metadata>
[ResourceBundle("language")]
</mx:Metadata>Dabei entspricht der Name des Bundles dem Dateinamen der properties-Datei ohne die Dateinamenerweiterung properties.resourceManager.localeChain = ["en_US"];
<mx:Button label="{resourceManager.getString('language', 'btnShowMsgBoxCaption')}/>"
Oder: Alert.show(resourceManager.getString('language', 'MsgBoxText', ['Platzhalter'])); Die Werte für die Platzhalter werden als dritter Parameter in einem Array angegeben.Die sprachabhängigen Ressourcen werden, wenn man ResourcenBundles verwendt, in die Anwendung einkompiliert. Will man dies nicht, dann muss man Ressourcen Module verwenden. Auch können sprachabhängige binäre Ressourcen eingebunden werden, wie zum Beispiel Grafiken oder der gleichen.
In der Demo-Anwendung LocalizedApp wird noch gezeigt, wie man zur Laufzeit die Sprache wechseln kann.
| LocalizedApp.zip | Wednesday, 20-Aug-2008 14:26:48 CEST | 421K |