Coding globalized applications that use bidirectional data

When you are developing NLV-enabled applications, you should consider some specific restrictions on bidirectional languages.

  • Bidirectional language display layout

    The presentation of data should have a right-to-left orientation. Literals should appear on the right side of the fields that they describe. The following examples illustrate a U.S. English display with a left-to-right orientation and the same display in a right-to-left orientation.

    Left-to-right layout of a U.S. English display
    An illustration of the left-to-right layout of a U.S. English display
    Right-to-left layout of a U.S. English display
    An illustration of the previous graphic in reversed (right-to-left) layout of a U.S. English display
  • Long fields in bidirectional languages

    Avoid defining input fields that span more than one line. When the field is displayed or printed as one entity, the result for bidirectional languages is not what the user intended.

  • Variable positioning in bidirectional languages

    Your application must allow for variables to be in any order. For example, consider the following message in English:

    File &1 in library &2 not found

    When translated to another language, the message might look like this:

    dnuof ton &2 yrarbil ni &1 eliF

    In this case, variable 2 is positioned before variable 1.

  • CHECK(RL) and CHECK(RB) keywords with bidirectional languages

    These options are valid only for display stations capable of right-to-left movement, and have the following restrictions:

    • Option indicators are not valid with cursor control codes.
    • CHECK(RZ) and CHECK(RB) are not valid with these keywords.
    • A field that spans more than one line gives a warning message.
    • The check digit for modulus checking is the farthest-right byte in the field.
    • CHECK(RL) applies to character fields only.
  • Online information for bidirectional languages

    The special bidirectional tags have a restriction. When combining online help information from several panel groups that do not have the same value for the BIDI tag, the user must use the hot key sequence to read the opposite orientation of the online help information.

  • CCSIDs for bidirectional languages

    As bidirectional languages have special character sets that are unique, no exchange of data into other languages is feasible. You might need to use data mapping between EBCDIC and ASCII data streams, however. For example, you need data mapping between EBCDIC and ASCII data streams if you are using Distributed Relational Database Architecture™ (DRDA).

    When exchanging data in a language that uses Latin characters and when special characters that are not part of the invariant character set are needed, use CCSID 00424 for Hebrew and CCSID 00420 for Arabic for data mapping to take place.