The SET-LANG command causes a completely new language definition to be used and overrides any values set by SET-DEC, etc.
SET-LANG LanguageId
PROG1
001 EXECUTE "PROG2"
002 EXECUTE "SET-LANG fr"
003 EXECUTE "PROG2"
PROG2
001 PRINT
002 PRINT "Language in use is ":SYSTEM(35)
003
004 I = "01/05/1994"
005 D1 = ICONV(I,"D")
006 PRINT OCONV(D1,"D") , OCONV(D1,"DMA") , OCONV(D1,"DWA")
007
008 I = "01/06/1994"
009 D1 = ICONV(I,"D")
010 PRINT OCONV(D1,"D") , OCONV(D1,"DMA") , OCONV(D1,"DWA")
OUTPUT
Language in use is en
01 MAY 1994 MAY SATURDAY
01 JUN 1994 JUNE TUESDAY
Language in use is fr
01 MAI 1994 MAI SAMEDI
01 JUI 1994 JUIN MARDI
The compiler is not denationalized. Therefore, in English you would state:
A = 123.456 ; PRINT A Result = 123.456
A = 123 + 0.456 ; PRINT A Result = 123.456
In French, the decimal point is "," but your program must still state:
A = 123.456 ; PRINT A Result = 123,456
B = 123 + 0.456 ; PRINT A Result = 123,456
Conversions still need to use a dollar ($), pound sign (#), or ",".
PRINT Overdraft "MR$,"
In English this would produce the result
$2,123.20
In French, the conversion code must be stated in the same way but the output will be:
FF2.123,20