Using Delphi's translated units

According to this thread www.finalbuilder.com/forum.aspx the translated versions of the RTL/VCL units should be used when a registry key is set using BDSSetLang.exe.

The problem is that this key is blanked when set to the current Windows language (DE in my case). As a consequence Finalbuilder seems to assume the English locale resulting in the wrong units compiled.

Is it possible that Finalbuilder provides a LANGDIR variable in any case and initializes it with the current Windows locale if no or an entry MUI entry is found?

Or is it just me doing it the wrong way?

Hi Uwe

This is a difficult one. There isn’t a 1 to 1 correlation between the windows local and the MUI entry. Currently the only way to detect which language to use is through the MUI entry. If you know of a better way I’m happy to try that.


If you add a project variable LANGDIR and set it to DE, finalbuilder will attempt to read the Translated Library Path from HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\Library (which by default is $(BDS)\lib$(LANGDIR) ).

HTH

Hi Vincent,

I didn't realize that defining a user or project variable solves the problem. I tested a few scenarios and it seems to work well, so far.

Although having the LANGDIR set automatically would be nice, I can perfectly live with that. Perhaps a case for the FAQ.

Regards

Uwe

Ok, will look at writing something up. Just for the record, are you using the English language version of Delphi or the German one?

During installation I also checked English, French and Japanese, but I usually work with the German version. Before I executed BdsSetLang for the first time the MUI key didn't even exist.