Five properties are used to specify the appearance of objects in bidirectional applications: Direction, Justification, Reading Order, Keyboard State, and Initial Keyboard State.
Direction is an umbrella property that provides as much functionality for each object as possible. For all objects except text items and display items, the Direction property is the only bidirectional property, and its setting controls the other aspects of bidirectional function. (List items, however, include Initial Keyboard State and Keyboard State properties.)
Text items and display items do not have a Direction property; instead, you can specifically set Justification, Reading Order, Initial Keyboard State, and Keyboard State properties for these items.
You may restrict the keyboard state to one language. For example, setting Keyboard State to Local prevents the end user from switching the keyboard to another language.
When the bidirectional properties are set to Default, those properties inherit their values from the natural writing direction specified by the language environment variable. In most cases, this will provide the desired functionality. You only need to specify the bidirectional properties when you want to override the inherited default values.
Inheritance for bidirectional properties is as follows:
|
Default setting derives value from this object |
Form |
language environment variable |
All objects, such as Alert, Block, LOV, Window, and Canvas-view |
Form |
All items, such as Text Item, Display Item, Check Box, Button, Radio Group, and List Item |
Canvas-view |
Most properties related to bidirectional function can be retrieved and set programmatically. For more information, see the appropriate Built-in subprogram description. For example, for information about getting the value of the Direction property for buttons, see the description for GET_ITEM_PROPERTY.
In addition to the NLS_LANG environment variable, bidirectional applications may use two additional environment variables:
NLS support for Middle Eastern and North African languages includes bidirectional support for languages whose natural writing direction is right-to-left. For example, if you want to use an American interface while developing an Arabic application in a Windows environment, set these environment variables as follows:
DEVELOPER_NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256
USER_NLS_LANG=ARABIC_territory.charset