ImgBurn is partly localizable in its current state (I mean dialogs and menus). To make it even more localizable I tried to "hack in" into ImgBurn executable. I succeeded, but I haven't finished. I've done 33 strings, and it took me quite a while. Man, patching an executable to use strings from resources instead of those hardcoded in the .data section is a real pain in the ass. What has to be done:
- get all strings
- filter out strings belonging to 3rd party components/classes and Borland VCL/RTL
- decide which strings are not localizable (dll names, imported function names, registry key names, ini section/value names, MCI/ASPI/SPTI/whatever commands, etc.)
- group duplicate strings
- the easiest part - put the strings to STRINGTABLE resource
- patch code to make it use the resources
All this has to be done by hand (OK, I'm not a reverse-engineering master, so I might not be aware of a tool that would be of help here).
I think I can do that (for the current version - 2.3.2.0), but repeating all this for every next version is not something I'd enjoy ;P
So, please, make it localizable at the source level. The advantages are:
- you'd have to do it just once, you won't have to repeat it for every new version
- you know best which strings are not to be localized, and which are yours (not VCL's)
- your application would be fully localizable - wouldn't it be great?