You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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

 
                          Specify Product Number                      
                                                                      
          Key in Product Number and press Enter.                      
                                                                      
          Product Number . . . . . . . 64786                          
                                                                      
 

 |
 

  
                           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:
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)
        IF_STATUS IS_NOT(*OK)
        MESSAGE MSGTXT(*MTXT12347)
        ELSE
        DISPLAY FIELDS(#PANEL001)
        ENDIF
END_LOOP
By setting up the correct multilingual attributes for this program you can instantly achieve the following variations in this program. Refer to Specifying a Field's Multilingual Attributes for details.
Execute the application in French
 

 
                     Specification du Numero de Produit               
                                                                      
          Tapez le Numero de Produit puis faites Enter                
                                                                      
          Numero de Produit  . . . . . 64786                          
                                                                      
 

 |
 

 
                         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
 

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

 |
 

 
                             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.
This simple example illustrates a very important point.
LANSA can get all the details it knows about out on the screen in the correct language, but because this is intended to be a completely multilingual program, it should have stored the product details in two separate files:

  • One for the non-language dependent product details (like price and stock on hand);
  • The other for the language dependent product details (like the long and short descriptions).

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
 

 
                     Specification du Numero de Produit               
                                                                      
          Tapez le Numero de Produit puis faites Enter                
                                                                      
          Numero de Produit  . . . . . 64786                          
                                                                      
 

 |
 

 
                          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
 

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

 |
 

 
                             Produkt Detail                           
                                                                      
          Produkt Nummer . . . . . :  64786                          
          Seschreibung . . . . . . :  1 kg Plastiksack mit Rohzucker 
          Kurzbeschreibung . . . . :  ZUCKER 1KG                     
          Preis  . . . . . . . . . :  2.45                           
          Verfugbare Menge . . . . :  7685                           
                                                                      
 

 |
 

  • No labels