Multilanguaje function

Hello from Spain. I want to use the Multilanguaje function of my Navision Financials 2.60 to change the TITTLE of text objects in my report depending of a selection before print a body section. I am going to use the next function to change the languaje depending of: IF Customer.Languaje := ‘ESP’ THEN CurrReport.LANGUAGE(nnnnn); IF Customer.Languaje := ‘ENG’ THEN CurrReport.LANGUAGE(nnnnn); But I don’t know what “nnnn” I must to use? nnnn is the ID of the Languaje. In help files appear : “You can see all the Language IDs and the associated information (Primary ID, Name and Abbreviated Name) by designing a form based on the Windows Language virtual table.” Where can I see this table? Thanks a lot.

As the help said: Create a form with table 2000000045 Windows Language. This is a virtual table, so you can’t see it in the table designer, but you can assign a record variable to it. If you use the same codes for languages as used in the field “abbreviated name” in the Windows Language table, you can easily filter on it and do not have to use the “IF THEN” or “CASE” structures.

thank you very much for your answer. You have been very helpfull and I’ve avoided the IF instruction. Thanks again from Spain. Vicente.

You are welcome!

Hi, I have had a simlur problem, but I used a different approach. I build the 3.60 functionality of using the ML Caption of a field. Look at the table languages in a 3.60 Db and make the same link in 3.60. Then in a report code something like: OnAfterGetRecord IF Verkoopfactuur.Taal <> ‘’ THEN IF TaalRec.GET(Verkoopfactuur.Taal) THEN IF TaalRec.“Windows Language ID” <> 0 THEN CurrReport.LANGUAGE(TaalRec.“Windows Language ID”); If you need some more info, just let me know, If it is nog what you are looking for, just ignore it.

Hy vincente if you change currreport.language you must check your report if there is any calcdate - statement using values. In german day means “Tag”. The shortcuts for datecalculation “+1d” is in German “+1t”. If the reportlanguage is canged an you are using “calcdate”,soon or later you will get an error. You must cange the reportlanguage back before your calcdate statements. Bye (Stefan);

Use CALCDATE(’<1T>’, WORKDATE)) (in english) when you work in Germany. Best regards from BCN. Salut!

quote:


Originally posted by vnavision
Hello from Spain. I want to use the Multilanguaje function of my Navision Financials 2.60 to change the TITTLE of text objects in my report depending of a selection before print a body section. I am going to use the next function to change the languaje depending of: IF Customer.Languaje := ‘ESP’ THEN CurrReport.LANGUAGE(nnnnn); IF Customer.Languaje := ‘ENG’ THEN CurrReport.LANGUAGE(nnnnn); But I don’t know what “nnnn” I must to use? nnnn is the ID of the Languaje. In help files appear : “You can see all the Language IDs and the associated information (Primary ID, Name and Abbreviated Name) by designing a form based on the Windows Language virtual table.” Where can I see this table? Thanks a lot.


The best solution is to create global or local variable Language, DataType Record, subtype Language. Then your code would be as follows: CurrReport.LANGUAGE := Language.GetLanguageID(Customer.Language);