1
votes

Say I modify the default XIB (in en.lproj) by adding a button or something similar.

I need to apply these changes to other existing localized versions of the XIB (e.g. es.lproj, ja.lproj).

If I rewrite the XIB then I clearly lose any tweaks made to the localized XIB. For instance, say I reduced the font size on a button in the XIB for ja.lproj.

E.g. this overwrites:

ibtool --strings-file ja.strings en.lproj/any.xib --write ja.lproj/any.xib

How can I effectively merge changes between XIBs? Is it possible?

Do I have to just suck it up and redo the tweaks in localized XIBs any time I make a change in the "root" or default XIB?

Thanks!

1

1 Answers

0
votes

Have you tried the --incremental-file option? It detects the changes that you've made between two versions of a source language xib and applies them to a translated xib, bringing them back in sync. In my understanding (I haven't verified this), anything that hasn't changed is left untouched, so I expect that any tweaks to the translated xib that aren't affected by a change are left in.

See this other Stack Overflow question for more detail on this ibtool option.