Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Some important design considerations apply to developing truly multilingual applications. Consider the following simple sequence of screen panels representing a product inquiry:

Panel

                                  Specify Product Number                      

          Key in Product Number and press Enter.                      

          Product Number . . . . . . . 64786                          

Panel

                           Product Details                                
          Product Number . . . . . :  64786                          
          Description  . . . . . . . . . :  1 kg plastic bag of cane sugar 
          Short Description  . . .  :  SUGAR 1KG                      
          Price  . . . . . . . . . . . . . . . :  2.45                            
          Stock on Hand  . . . . . . :  7685                        

Initially the RDML program could be coded like this:

...

Execute the application in French

...

Panel

                        Specification du Numero de Produit               

          Tapez le Numero de Produit puis faites Enter                

          Numero de Produit  . . . . .

...

 64786        

...

  

...

Panel

 

...

                           Details du Produit                           

          Numero de Produit  . . . :  64786                          
          Description  . . . . . . :  1 kg plastic bag of cane sugar 
          Description Abregee  . . :  SUGAR 1KG                      
          Prix . . . . . . . . . . :  2.45                           
          Stock Disponible . . . . :

...

  7685              

  Execute the application in German

Panel

...

 
                         Produkt Nummer Angeben                       
                                                                      
          Geben Sie die Produkt Nummer ein und drucken Sie Eingabe    
                                                                      
          Produkt Nummer . . . . . . . 64786                          
                                                                      
 

                                 Produkt Nummer Angeben                       

          Geben Sie die Produkt Nummer ein und drucken Sie Eingabe    

          Produkt Nummer . . . . . . . . . . . . . 64786             

Panel

                                       Produkt Detail                           

          Produkt Nummer . . . . . .  :  64786                          
          Seschreibung . . . . . . . . . . :  1 kg plastic bag of cane sugar 
          Kurzbeschreibung . . . . . . :  SUGAR 1KG                      
          Preis  . . . . . . . . . . . . . . . .

  

...

.  :  2.45                           

...

          Verfugbare Menge . . .

...

.

...

.

...

.

...

:  7685                           

...

Notice what's wrong?

The product description and short description shown are still in English.

...

If the program was coded like this (making use of the system variable *LANGUAGE to determine the language):

     GROUP_BY NAME(#PANEL001) FIELDS(#PRODNO #PRODES #PROSDES #PRICE #STOCK)
 
BEGIN_LOOP

...

     REQUEST FIELD((

...

#PBINST01 *

...

OUTPUT *NOID)

...

 #PRODNO)

...

     FETCH FIELDS(#PANEL001)

...

 FROM_FILE(PRODMST)

...

 WITH_KEY(#PRODNO)

...

     FETCH FIELDS(#PANEL001)

...

 FROM_FILE(PRODLNG)

...

 WITH_KEY(*

...

LANGUAGE #PRODNO)
         IF_

...

STATUS IS_NOT(*OK)

...

              MESSAGE MSGTXT(*MTXT12347)
         ELSE

...

              DISPLAY FIELDS(#PANEL001)
         ENDIF
END_LOOP

...

The result would be a true multilingual system where side by side users could be running the same program in completely different languages.

Execute the application in French

...

Panel

                     Specification du Numero de Produit               

...

          Tapez le Numero de Produit puis faites Enter                

...

          Numero de Produit  . . . . .

...

 64786       

Panel

  

...

                          Details du Produit                          

...

          Numero de Produit  . . . :  64786                          
          Description  . . . . . . :  1 kg sac plastique de sucre    
          Description Abregee  . . :  SUCRE 1KG                      
          Prix . . . . . . . . . . :  2.45                           
          Stock Disponible . . . . :

...

  7685            


Execute the application in German 

Panel

...

                                   Produkt Nummer Angeben                       

          Geben Sie die Produkt Nummer ein und drucken Sie Eingabe    

          Produkt Nummer . . . . . . .

...

 64786       

...

Panel

                                    Produkt Detail                           

...

          Produkt Nummer . . . . . :  64786                          

...

          Seschreibung . . .

...

.

...

.

...

.

...

.

...

.  :

...

  1 kg Plastiksack mit Rohzucker 
          Kurzbeschreibung . . . .  :

...

  ZUCKER 1KG                     
          Preis  

...

. . . . . . . . . . . . . . . . :  2.45                           
          Verfugbare Menge . . . . :

...

  7685