I’ve seen it! The fabled XIB support for Linguan is almost done.
A week ago I received a preview for the next version of Linguan which will also allow you to localize XIB files. Initially this will be facilitated by the ibtool tool which is contained in Xcode.app as well as gets installed in /usr/bin if you setup the command line tools.
The guys at BytePoets – who we partnered with to make Linguan a reality – integrated it such that you can edit strings and XIB files with virtually no difference. Behind the scenes you have ibtool humming away extracting the tokens from the interface builder files and if you make a modification to write them back in.
There are a few minor adjustments still necessary. For one there needs to be a preference setting to specify the path to ibtool. Without it the XIB functionality has to be disabled. Then we need to disable editing of the name column for tokens coming from a XIB because that’s the key that ibtool needs to send the updated string to the right place. If users can edit that it would probably cause trouble.
I am hoping to have a similar approach as we did in the past with genstrings. You might remember that initially Linguan was calling the original genstrings, but I reverse-engineered a static library with the same functionality which is orders of magnitude faster. Once this was working properly we replaced the external function to an internal one.
As soon as I have some time I hope to getting started with ibtool2 in a similar fashion. Write a GCD-multithreaded super-charged open-source version of ibtool that we can put in a static library and thus eliminate this external dependency.
Oh, if you have not done so yet I strongly urge you to purchase Linguan now because we will definitely raise the price tag once XIB support is live. Also your purchase gives us the budget to add more exciting features in the future.