Bidirektionale Sprachen
Nach oben zu Anwendungen für den internationalen Markt - Index
In bestimmten Sprachen gilt nicht die Leserichtung von links nach rechts, wie sie in westlichen Sprachen üblich ist. Stattdessen werden Wörter von rechts nach links und Zahlen von links nach rechts gelesen. Man bezeichnet diese Sprachen deshalb als bidirektionale (BiDi) Sprachen. Neben den bekannten bidirektionalen Sprachen Arabisch und Hebräisch sind im Nahen Osten weitere bidirektionale Sprachen gebräuchlich.
Die VCL unterstützt Lokalisierungen für bidirektionale Sprachen durch die Eigenschaften BiDiMode und ParentBiDiMode. TApplication verfügt über die beiden Eigenschaften BiDiKeyboard und NonBiDiKeyboard, mit deren Hilfe sich das Tastaturlayout festlegen lässt.
VCL-Objekte, die bidirektionale Sprachen unterstützen:
Standard | Zusätzlich | Win32 | Datensteuerung | Weitere Klassen |
---|---|---|---|---|
|
|
|
|
|
Hinweis: THintWindow übernimmt den BiDiMode des Steuerelements, das den Hinweis aktiviert hat.
Inhaltsverzeichnis
Die Eigenschaft BiDiMode
Die Eigenschaft BiDiMode steuert, in welche Richtung der Text gelesen, wo die vertikale Bildlaufleiste platziert und ob die Ausrichtung des Textes geändert wird. Für Steuerelemente, die über eine Text-Eigenschaft verfügen, wie z.B. Name, wird die Eigenschaft BiDiMode im Objektinspektor angezeigt.
Die Eigenschaft BiDiMode gehört zum Aufzählungstyp TBiDiMode. TBiDiMode unterstützt vier Zustände: bdLeftToRight, bdRightToLeft, bdRightToLeftNoAlign und bdRightToLeftReadingOnly.
Zustand |
Beschreibung |
Beispiel |
---|---|---|
bdLeftToRight |
Zeigt Text von links nach rechts an. Die Ausrichtung und die Bildlaufleisten ändern sich nicht. Wenn beispielsweise arabischer oder hebräischer Text eingegeben wird, für den die Rechts-/Links-Leserichtung gilt, erfolgt die Eingabe von rechts nach links. Bei Sprachen mit lateinischer Wurzel (Englisch, Französisch usw.) erfolgt die Texteingabe dagegen von links nach rechts. bdLeftToRight ist der voreingestellte Wert. |
|
bdRightToLeft |
Zeigt Text von rechts nach links an. Die Ausrichtung und die Bildlaufleiste ändern sich. Die Eingabe von Text erfolgt für Sprachen mit Rechts-/Links-Leserichtung (Arabisch, Hebräisch usw.) korrekt. Bei Sprachen mit lateinischer Wurzel erfolgt die Texteingabe von links nach rechts. |
|
bdRightToLeftNoAlign |
Zeigt Text von rechts nach links an. Die Ausrichtung ändert sich nicht und die Bildlaufleiste wird verlagert. |
|
bdRightToLeftReadingOnly |
Zeigt Text von rechts nach links an. Die Ausrichtung und die Bildlaufleisten ändern sich nicht. |
Die Eigenschaft ParentBiDiMode
ParentBiDiMode ist eine boolesche Eigenschaft. Bei True
(Voreinstellung) übernimmt das Steuerelement die BiDiMode-Einstellung seines übergeordneten Steuerelements. Wenn es sich bei dem Steuerelement um ein TForm-Objekt handelt, übernimmt das Formular die BiDiMode-Einstellung von Application. Wenn die BiDiMode-Einstellung von Application geändert wird, während alle ParentBiDiMode-Eigenschaften auf True
gesetzt sind, übernehmen alle Formulare und Steuerelemente im Projekt die neue Einstellung.
Die Methode FlipChildren
Mit der Methode FlipChildren können Sie die Positionen der untergeordneten Elemente eines Container-Steuerelements vertauschen. Ein Container-Steuerelement kann andere Steuerelemente enthalten. Container-Steuerelemente sind z.B. TForm, TPanel und TGroupBox. FlipChildren verfügt über einen booleschen Parameter namens AllLevels. Wenn dieser den Wert False
hat, werden nur die Positionen von Elementen vertauscht, die dem Container-Steuerelement unmittelbar untergeordnet sind. Hat AllLevels dagegen der Wert True
, erstreckt sich der Positionstausch auf alle untergeordneten Ebenen des Container-Steuerelements.
Der Positionstausch erfolgt durch eine Änderung der Eigenschaft Left und der Ausrichtung des Steuerelements. Wenn z.B. der linke Rand eines Steuerelements fünf Pixel vom linken Rand des übergeordneten Steuerelements entfernt ist, befindet sich nach dem Positionstausch der rechte Rand des untergeordneten Steuerelements fünf Pixel neben dem rechten Rand des übergeordneten Steuerelements. Wenn Sie FlipChildren für ein Eingabefeld mit linksbündiger Ausrichtung aufrufen, wird der Inhalt des Feldes rechtsbündig ausgerichtet.
Während des Entwurfs können Sie mit Bearbeiten > Untergeordnete Elemente vertauschen einen Positionstausch durchführen. Wählen Sie entweder Alle
oder Markierte
, je nachdem, ob die Positionen aller Steuerelemente oder nur die der untergeordneten Steuerelemente des ausgewählten Steuerelements vertauscht werden sollen. Sie können den Positionstausch auch durchführen, indem Sie das betreffende Steuerelement im Formular markieren, mit der rechten Maustaste klicken und im Kontextmenü den Befehl Untergeordnete Elemente vertauschen wählen.
Hinweis: Eingabe-Steuerelemente sind keine Container. Wenn Sie ein Eingabefeld markieren und den Befehl Untergeordnete Elemente vertauschen > Markierte wählen, geschieht nichts.
Weitere nützliche Methoden für bidirektionale Sprachen
Die folgende Tabelle enthält weitere Methoden, die bei der Entwicklung von bidirektionalen Anwendungen hilfreich sind.
VCL-Methoden, die bidirektionale Sprachen unterstützen:
Methode | Beschreibung |
---|---|
Wird für Datenbank-Steuerelemente verwendet. Überprüft, ob die Ausrichtung eines Steuerelements geändert werden kann. | |
Ein Wrapper für Datenbank-Steuerelemente zur Überprüfung der Ausrichtung. | |
Ändert den übergebenen Ausrichtungsparameter. Die Einstellung von BiDiMode wird nicht überprüft. Nur die Ausrichtung wird vertauscht (linksbündig in rechtsbündig und umgekehrt). | |
Liefert | |
Liefert | |
Liefert | |
Liefert | |
Liefert die korrekten Textausgabe-Flags für die BiDiMode-Einstellung des Steuerelements. | |
Liefert das Flag | |
Fügt dem Steuerelement, das gerade erstellt wird, die entsprechenden |