Gettext-style translations are really really bad, because they use the original text (usually in english) as a translation key, which means they simply can not handle situations where the same english text needs different translations depending on where the text is used. And yes, I have come across that issue once upon a time.
You are right that editing a dialog is annoying, but due to the way win32 resource dialogs work, it's unavoidable. Even if we could have a serpate file for reaching the translations, there's often the situation where certain languages need different layouts, or at least different control sizes, to accomodate for longer / taller text, or RTL. So even if we switched to a different system, that annoyance wouldn't go away.
I do agree that it would be nice to have some nicer tool for translators, but IMO, .po files are not it.