Bidirektionale Sprachen

Aus RAD Studio
Wechseln zu: Navigation, Suche

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
  • TButton
  • TCheckBox
  • TComboBox
  • TEdit
  • TGroupBox
  • TLabel
  • TListBox
  • TMainMenu
  • TMemo
  • TPanel
  • TPopupMenu
  • TRadioButton
  • TRadioGroup
  • TScrollBar
  • TActionMainMenuBar
  • TActionToolBar
  • TBitBtn
  • TCheckListBox
  • TColorBox
  • TDrawGrid
  • TLabeledEdit
  • TMaskEdit
  • TScrollBox
  • TSpeedButton
  • TStaticLabel
  • TStaticText
  • TStringGrid
  • TValueListEditor
  • TComboBoxEx
  • TDateTimePicker
  • THeaderControl
  • THotKey
  • TListView
  • TMonthCalendar
  • TPageControl
  • TRichEdit
  • TStatusBar
  • TTabControl
  • TTreeView
  • TDBCheckBox
  • TDBComboBox
  • TDBEdit
  • TDBGrid
  • TDBListBox
  • TDBLookupComboBox
  • TDBLookupListBox
  • TDBMemo
  • TDBRadioGroup
  • TDBRichEdit
  • TDBText
  • TApplication (hat keinen ParentBiDiMode)
  • TBoundLabel
  • TControl (hat keinen ParentBiDiMode)
  • TCustomHeaderControl (hat keinen ParentBiDiMode)
  • TForm
  • TFrame
  • THeaderSection
  • THintWindow (hat keinen ParentBiDiMode)
  • Menu
  • TStatusPanel

Hinweis: THintWindow übernimmt den BiDiMode des Steuerelements, das den Hinweis aktiviert hat.

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.

TListBox set to bdLeftToRight.jpg

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.

TListBox set to bdRightToLeft.jpg

bdRightToLeftNoAlign

Zeigt Text von rechts nach links an. Die Ausrichtung ändert sich nicht und die Bildlaufleiste wird verlagert.

TListBox set to bdRightToLeftNoAlign.jpg

bdRightToLeftReadingOnly

Zeigt Text von rechts nach links an. Die Ausrichtung und die Bildlaufleisten ändern sich nicht.

TListBox set to bdRightToLeftReadingOnly.jpg

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

OkToChangeFieldAlignment

Wird für Datenbank-Steuerelemente verwendet. Überprüft, ob die Ausrichtung eines Steuerelements geändert werden kann.

DBUseRightToLeftAlignment

Ein Wrapper für Datenbank-Steuerelemente zur Überprüfung der Ausrichtung.

ChangeBiDiModeAlignment

Ändert den übergebenen Ausrichtungsparameter. Die Einstellung von BiDiMode wird nicht überprüft. Nur die Ausrichtung wird vertauscht (linksbündig in rechtsbündig und umgekehrt).

IsRightToLeft

Liefert True, wenn eine Rechts-/Links-Option ausgewählt ist. Bei False befindet sich das Steuerelement im Links-/Rechts-Modus.

UseRightToLeftReading

Liefert True, wenn für das Steuerelement die Leserichtung von rechts nach links eingestellt ist.

UseRightToLeftAlignment

Liefert True, wenn für das Steuerelement die Rechts-/Links-Ausrichtung eingestellt ist. Diese Methode kann überschrieben und angepasst werden.

UseRightToLeftScrollBar

Liefert True, wenn das Steuerelement eine linke Bildlaufleiste enthält.

DrawTextBiDiModeFlags

Liefert die korrekten Textausgabe-Flags für die BiDiMode-Einstellung des Steuerelements.

DrawTextBiDiModeFlagsReadingOnly

Liefert das Flag DT_RTLREADING oder 0, abhängig vom Wert, der von der Methode UseRightToLeftReading zurückgegeben wird.

AddBiDiModeExStyle

Fügt dem Steuerelement, das gerade erstellt wird, die entsprechenden ExStyle-Flags hinzu.

Siehe auch