Search code examples
delphiinternationalizationdelphi-2009

Delphi and i18n


Does Delphi support internationalization in any way?

I've seen that I can add different languages for a project, but that seems to create multiple instances of the dfm files. Am I right that the language therefore cannot be changed at runtime?

How do you handle internationalization (if you do)? Are there any best-practices?


Solution

  • I have once experimented with runtime change of languages. It worked great, but I needed to write lots of code myself (and circumvent the dfm files). The problem is, it is a lot of hassle and you almost never need this.

    The better option (in my opinion) is to create a base language version and use a translator tool for the other language. We use a third party translator that works on the executable and dll. It replaces the strings in the resources and creates new binary files.

    One big plus of this tool is that it shows the translated dialogs (standard windows components only) so you have direct feedback if labels are too large.