Example of an MLSTRANSLATE Statement

The following example illustrates the use of the MLSTRANSLATE statement:

BEGIN
 DEFINE NO_V  = 0#,
        YES_V = 1#;
  OUTPUTMESSAGE ARRAY INPUT_MESSAGES
     (ENGLISH SYSTEMDEFAULT
       (NO_V = "NO",
        YES_V = "YES"),
      FRENCH
       (NO_V = "NON",
        YES_V = "OUI"));
   INTEGER I, MSG_NUMBER;
   STRING OUTP,INP;
   INP := "YES";
   I := MLSTRANSLATE (INPUT_MESSAGES ["ENGLISH","FRENCH"],
                       INP, MSG_NUMBER, OUTP);
   IF I GEQ 0 THEN
     BEGIN
     DISPLAY (OUTP);
     CASE MSG_NUMBER OF
        BEGIN
    NO_V: MLSDISPLAY (INPUT_MESSAGES ["FRENCH", NO_V]);
    YES_V: MLSDISPLAY (INPUT_MESSAGES ["FRENCH", YES_V]);
    ELSE:;
       END;
    END
  ELSE
     DISPLAY ("ERROR:" CAT STRING8(I,5));
END.