I am evaluating gnugettext for Delphi XE2. All seems to be OK except that it seems that we don’t have translation directory(ies) choice : it is always “\locale\Lc_MESSAGES\”.
As I need to share translation for some exe in the same application it’s not very convenient. I looked in the sources and see :
BaseDirectory:=ExtractFilePath(ExecutableFilename);
OK, I may change the source but I don’t like it.
Any elegant idea ?
You can use the provided bindtextdomain function to change the directory where your application looks for the dictionary files. The first parameter will normally be the string ‘default’, and the second parameter is the directory to go to. The actual dictionary files will still need to be in a subfolder of the specified directory (using the same \locale\LC_MESSAGES\ pattern), but this at least gives a convenient way of sharing translations across multiple programs.