Usage of Lingobit Localizer
You can also loot at specialized localization toolkits. There are several of them on the market and the price of most is quite steep for hobby/open source projects, but they save enormous amount of time during localization. We tried several of them, namely Alchemy Catalyst (www.alchemysoftware.ie), Multilizer (www.multilizer.com), Lingobit Localizer (www.lingobit.com) and several others.
They all work similarly, by localizing binary executable file directly. Thus you avoid problem with supporting several source code branches or managing large number of resource (rc) files.
We decided to use Lingobit Localizer, for several reasons. One of them is that is the easiest program to use with all the necessary auxiliary tools. In Lingobit Localizer you just add *.exe and *.dll files to the project and then translate strings, dialogs and other resource in nice translation environment. All you localizable strings are in one place, it has status system, so you can see how many string you have translated and how many you haven't. After translation, you just do "Create Localized" and it creates localized version of application. Initially we were anxious because it changes executable file, but we have not had any problem with it.
Lingobit Localizer has huge advantage over such programs as PE Explorer because it can detect changes in original files, so when you release new version, you have to translate only new or changed strings. Also it has support for external glossaries and some wizards that check integrity of translated strings, for example, if you translated c format strings (as in printf) incorrectly, it will detect it.
Currently we use Lingobit Localizer for localization of our application (12000 strings, 150+ dialogs, 13 dll's) into 12 languages. We are very satisfied with it. Lingobit Localizer is not for everyone, but you should consider using it.