D7WS HOMEPAGE WORKSHOP NEUE XTRAS GALERIE WORKSHOP Automatic Translation LESERSERVICE BUCH NEWS

HowTo: Systemsprache ermitteln

 

 

 

Home
Workshop-Seite

In mehrsprachig angelegten Produktionen ist es oft praktisch, dem Anwender seine (vermutete) Muttersprache als Default-Einstellung vorzuschlagen, was eine Erkennung der Sprache des Betriebssystems bzw. der aktuellen Systemeinstellungen voraussetzt. Da es auch in der aktuellen Version 8.0 keine entsprechende Property(*) im Standard-Lingo gibt, sind Workarounds gerfragt...

*) Die in Director 8 hinzugekommene Property osLanguage der Systemproperty the environment ist weitgehend sinnlos. Sie liefert nämlich für die nicht von Director unterstützten Sprachen (also Englisch, Deutsch, Französisch, Japanisch) den Wert "other" zurück - ist also denkbar schlecht geeignet, um etwa zwischen Holländisch und Spanisch zu unterscheiden...



 

 

 

 

Die Funktion getlanguage() des Xtras UIHelper / the environment.uilanguage

Die Property uilanguage wurde der Systemproperty the environment erst in Version 7.0.2 hinzugefügt, was das Fehlen des Eintrags in der Online-Hilfe erklärt. Das Readme zur Version 7.0.2 beschreibt die Funktionalität etwas nebulös:

Die Eigenschaft uiLanguage gibt die Sprache zurück, die zum Anzeigen der Benutzeroberfläche im Benutzersystem verwendet wird.

Innerhalb der Autorenumgebung ist der Wert der Eigenschaft klar: die aktuelle Sprache der Director-Version. Sie erhalten also z.B. "English", wenn Sie mit dem englischen Director unter deutschen MacOS bzw. Windows arbeiten. Interessanterweise liefert ein mit dem englischen Director produzierter Projektor aber den Wert "German" - also doch die Sprache des OS? Auf jeden Fall ist der Wert der Eigenschaft nicht einfach die Sprache des Projektors, wie gelegentlich in einschlägigen Foren zu lesen...

Dasselbe Testergebnis liefert das schon länger verfügbare Xtra UIHelper. Macromedia rät von der Verwendung des im Lieferumfang von Director 6.5/7 enthaltenen Xtras außerhalb der Autorenumgebung ab, was freilich nichts daran ändert, dass es sich dort offenbar problemlos nutzen läßt. Unter anderem bietet UIHelper die globale Funktion getlanguage(). Diese erkennt laut Dokumentation allerdings nur die vier Director-Sprachversionen und liefert den entsprechenden Zahlencode als Ergebnis:
0: englisch; 1: japanisch; 2: französisch; 3: deutsch
Ob und was diese Funktion im Projektor auf einem anderssprachigen System als Ergebnis liefert, ist mir unbekannt.

Sicher scheint lediglich, dass sowohl die Property #uilanguage wie auch die Funktion getlanguage() bei der Verwendung in Projektoren keine verläßlichen Resultate liefern.




 

 

 

 

Mac only I.: Das Xtra getSystemLanguage

Das Freeware-Xtra getSystemLanguage der Frankfurter Firma Pergamon interactive besitzt eine einzige globale Funktion: Der Aufruf von get_systemlanguage() liefert den Landescode der aktuellen MacOS-Version. Das Xtra verwendet die in "Inside Macintosh" bzw. von Apple hier online dokumentierten Codierungen.

getSystemLanguage Download (1.100 kB sit-Datei)




 

 

 

 

Mac only II.: Das Xtra baLanguage

Gary Smith, der Autor des unter Window nahezu unverzichtbaren Xtras Buddy API, bedient den Mac-Markt nur auf den ersten Blick stiefmütterlich. Zwar ist die aktuelle Mac-Version von Budyy API noch immer 1.1b (unter Windows ist mittlerweile 3.x aktuell), jedoch sind diverse Funktionen vorab in Gestalt separater Xtras erschienen; so auch die Beta-Version von baLanguage(). Das Xtra stellt Director bzw. dem Projektor eine gleichnamige globale Funktion zur Verfügung, welche die gleichen Landescodes verwendet wie das Xtra getSystemLanguage.

Leider existiert in der aktuellen Windows-Version 3.31 von Buddy API keine gleichnamige Funktion, so dass auch diese Alternative kein plattformübergreifendes Skripting ermöglicht.

Buddy API Beta-Page




 

 

 

 

Win only: Parsing der Datei Win.ini

Unter Windows lassen sich in der Systemsteuerung landesspezifische Einstellungen (z.B. Zahlen-, Datums- und Währungsformat) vornehmen, die Windows in der Datei Win.ini speichert. Selbstverständlich kann die hier ausgewählte Sprache von der Sprach-Version der Windows-Installation abweichen. Da normalerweise davon ausgegeangen werden kann, dass in der Systemsteuerung die tatsächlich bevorzugte Sprache ausgewählt wurde, ist das Auslesen der Win.ini ein praktikabler Weg.

Details zur Ermittlung der Sprache finden Sie im Beitrag Ermittlung länderspezifischer Einstellungen aus der Datei "Win.ini". Der Beitrag "Ini-File-Parsing" stellt die universell einsetzbare Technik der Konvertierung einer beliebigen Ini-Datei in eine verschachtelte Properylist vor.

Gerd Gillmaier





Directorworkshop.de ist © Joachim Gola & Gerd Gillmaier 1998-2002. Alle Rechte vorbehalten.