---------------------------------------------------------------------
---------------------------  LANGWIN.CPP  ---------------------------
-------------------  ZAF 5.11+ Example Program  ---------------------
---------------------------------------------------------------------

PURPOSE:
LANGWIN demonstrates a simple technique for creating a multilingual
application with ZAF 5.11+.

NOTE:
LANGWIN requires three updated library files to be added to ZAF 5.11.
These files will not be required by future versions of ZAF.  Updated
files are archived in langfix.zip or langfix.tar.Z.


This application has a particular user interface, but the technique
shown can be used with any interface.  In fact, the code from this
example can be used to retrofit any ZAF 5 application with automatic
multilanguage support.

The technique is simple:
 1. Create a user interface either in code or, easier, using Zinc
    Designer.  (Zinc Designer was used in the example program.)

 2. Specify unique stringIDs for each user interface object containing
    text that will be translated.

 3. Using Zinc Designer, create a ZafLanguageData containing your
    application strings.  The stringID for each message should exactly
    match the stringID of the window object to which it corresponds.

 4. Use the code shown in the example program to initialize a
    ZafDataPersistence and ZafLanguageManager with your
    ZafLanguageData.

 5. Use the example algorithm to match window object stringIDs with
    ZafMessageData stringIDs.

 6. Handle a ZAF event (as shown in the example program) that will
    change the language.

    IMPORTANT: This piece (part 6) of your application should be
    changed after the next revision of ZAF.  The A_CHANGE_LANGUAGE
    message is currently defined by ZAF but not implemented.  It will
    be implemented in the next revision and will handle the language
    (and locale!) change without user code.

---------------------------------------------------------------------
