The way we are working now is that we have :
- QRPGSRC file
- QDDSSRC file in Dutch
- QDDSSRC file in French
On these display files the input fields are on exact the same location in both languages.
We then compile the French screen, then the Dutch screen and then the program.
In the user profile we defined the language of a user and then we know which library list to use.
But, it is possible to switch between languages and then the library list switches.
In the aXes screens, I got the same screen names when they were Dutch or French, so I did a lot of translations in the screens.
For example:
- A subfile header:
Code: Select all
//trigger fields var id = FIELDS("Via"); var idVal = id.getValue(); //condition if (idVal.substring(0, 3) === "VIA"){ var t = "MY-NR/POLISNUMMER TYPE POLIS BEGINDATUM VVDAG PREMIE MANDAAT SPL ATT WYZ"; } else { t = "N°Cie/N°-POLICE TYPE-POLICE DATE DÉBUT ÉCHÉA PRIME MANDAT FRA ATT MOD"; } ENV.returnValue = t;
For the tables I made a Dutch and a French version every time :
- StaticTables.txt
Code: Select all
-- ================================================================================ -- LandenFR -- ================================================================================ DefineObjectInstance { className = "StaticTable", name = "LandenFR", source = "sql", selectSQLcommand = "lalkkd, lalkom from brstdata.land0 where lataal = '1' order by lalkom", resultColumnNames = {"value","text"}, }; -- ================================================================================ -- AanschrijftitelNL -- ================================================================================ DefineObjectInstance { className = "StaticTable", name = "AanschrijftitelsNL", source = "sql", selectSQLcommand = "titite, trim(titito) || ' - ' || trim(tititv) from brstdata.titel0 where titaal = '2' order by titito", resultColumnNames = {"value","text"}, };
- Then on the dropdownlist (TableName):
Code: Select all
//trigger fields var id = FIELDS("Land"); var idVal = id.getValue(); //condition if (idVal.substring(0, 4) === "Land"){ var t = "LandenNL"; } else { t = "LandenFR"; } ENV.returnValue = t;
But now I’m wondering if that was the best way of working (taking into account our way of working in the green screens)?
I'm asking this because we have some acquisitions planned and as a result we would have to translate our programs into a few more languages.
Kind regards,
Frederik