I partly disagree. For some layout problems it is very well doable to
adjust some layout in code, and it's really no pain and not much
maintenance. In fact, it is even better for consistency, as IME often
the explicitly localized layouts are very hard to keep consistent,
especially if the localizers do the layout. Again, it depends on how
complex your UI is.
For instance, I have defined a function that takes an array of buttons
and smartly auto-sizes it in a perfect right-to-left row (trying to make
them the same size, unless they become too big, but with a minimum size,
etc), a common configuration. Just adding the IBOutlets and using this
function in windowDidLoad is far less pain and leads to a more
consistent layout for the buttons in all localizations than having to
adjust the localized NIBs every time some changes are made. And it looks
better than needing buttons that are large enough for all localizations
(something that is also very hard to determine).