We help IT Professionals succeed at work.

Internationalizing Delphi Applications

ivobauer
ivobauer asked
on
Hi all!

I need to implement a multi-language support for my application. From my D5 PRO help I read that this could be possible with Borland ITE tools - Resource DLL Manager, Translation Manager, etc. But unfortunately they exist only in Enterprise version of D5(6).

As I don't want to pay such extra money for Enterprise version I am now asking if there is a cheaper solution for me - it should have similar capabilities compared to Borland ITE tools.

Thanks in advance, Ivo.
Comment
Watch Question

Do you want to switch languages in your program or only different language versions of your program?

Author

Commented:
Hi Robert.

There is no need for me to switch between several languages at runtime. What I want is to create several different resource dlls and ship only that dll which is required for a specified language. Actually I want a product which has a similar features to Borland ITE tools in Enterprise edition: Mainly a possibility to isolate and update resource strings in my source units as well as all forms.

Best regards, Ivo.
Mohammed NasmanSoftware Developer
CERTIFIED EXPERT

Commented:
Hello

  take a look for Translation  component at
http://homepages.borland.com/torry/multilanguage.htm

Author

Commented:
Thanks mnasman for pointing me out on a Torry but I would rather prefer if somebody has a positive experience with a specific SW product and therefore he (she) can recommend it to me...

Thanks in advance, Ivo.

Commented:
hmmm...

seems easy enough to do this.. =))

Create a resource file, with all the Strings...

Create a DLL, that includes this resourcefile.

DLL, exports GetStr(Nr: Integer): PChar;

Function GetStr(Nr: Integer): PChar;
Begin
  Result := PChar(LoadStr(Nr));
End;

Hope you get the idea.

Regards
//raidos

Author

Commented:
raidos,

> seems easy enough to do this.. =))

Not my opinion. The idea you described is inteded to be primarily used for NEW projects created from scratch - I've been working on my app continuously for past 2-3 years and as it is quite huge now, I don't have the time to change the loading of strings in that amount of code. The second thing: What about translation of the forms and the properties of their controls? Your idea gives me no solution for this.

Therefore I am seeking for a Translation Manager - like product which allows me to collect all my resourcestrings in my units and extract the localizable properties from my forms into a resource dll. At runtime, only the desired res-dll should be included in a project directory so the language will be loaded automatically at the app startup time. The next important thing is handling of update process - for example when I add a button some of my forms, I will need to update the resource information in my form(s) - but preserve all already translated resources.

Do you see my thoughts?

Best regards, Ivo.

Commented:
listening

Author

Commented:
I've finally resolved this problem myself by registering a product called Localizer (http://www.korzh.com/delphi/localizer/).

It's a shareware and the registration fee is only $150. After heavy testing I found to be a right product that meets my requirements.

I would recommend it to every Delphi programmer who doesn't want to pay a big extra money for Enterprise edition of Delphi.

Thanks for your participation.

Ivo.
Commented:
As this question is now solved, by the User with the information included that it needs to become a PAQ, I will now do so.

Thanks and regards,
ComTech
Community Support

Explore More ContentExplore courses, solutions, and other research materials related to this topic.