Mac Developer Network Launches
November 21st, 2007Our friend Scotty, who is responsible for the Late Night Cocoa podcast, has just expanded his offerings, launching a “network” of Mac developer related podcasts and web content. The second podcast in the lineup is a roundtable format, such as you might hear on such excellent shows at Leo Laporte’s MacBreak Weekly and This Week in Tech.
The podcast is called the Mac Developer Roundtable, and I felt honored to be invited to participate for the first episode. We recorded it a week or two ago, and it has just gone live:
Mac Developer Roundtable Episode 1
In this first episode, we all chatted about Leopard and in particular what’s new and exciting for developers. Tune in to hear the collected wisdom of Fraser Speirs, Uli Kusterer, Marcus Zarra, and of course our host Scotty.
One question I raised in the show was whether the new “ibtool” (formerly nibtool) in Leopard makes the whole process of automated localization any easier. To be honest, I resist localized versions for many of my applications largely because the hassle of integrating localization updates has always seemed really awkward to me. I’d love to get into a position where I could easily integrate updates to localizations without having to hand tweak things all the time. I know there are some existing solutions using nibtool but I wonder if things have gotten even better in Leopard?
Got any great localization techniques to share?
November 21st, 2007 at 9:26 pm
I just went through localization with FuzzMeasure 3. I had a French translation done during the course of my beta program, and the UI kept changing like crazy. I even went through converting all my .nib files to .xib files. Anyway, I digress…
One thing I found to be easier with ibtool was re-applying existing localization to .xib files that changed as I added new menu items and stuff. I made a script called ‘relocalize.sh’ which contains the following:
#!/bin/bash
#
# Re-localizes a .nib or .xib file using an existing translation.
#
# Usage: relocalize.sh localized.xib base.xib
#
LOCALIZED=$1
BASE=$2
ibtool –generate-stringsfile $LOCALIZED.strings $LOCALIZED
rm $LOCALIZED
ibtool –strings-file $LOCALIZED.strings –write $LOCALIZED $BASE
rm $LOCALIZED.strings
—
No matter what, I find that my localized version will inevitably lag behind the English version. However, with tools like this, it will bring us a step closer to being able to offer something wiki-like for community-maintained translations. At least I hope we can pull that off…
Another nice feature of using the strings file is that we can avoid having to hand nib/xib files to localizers. Unfortunately, this method of using strings files totally falls apart if we ever hope to supprt Arabic or Hebrew translations. :(
November 22nd, 2007 at 4:01 am
I find it easiest to simply translate all the strings in code. I wrote some simple categories to the GUI classes that recursively goes down a window, view or menu and translates all the titles etc. using a .strings file.
This way you only need to maintain the .strings file and never localize the nib files. If this should ever prove insufficient for some localization you can still have a localized nib for that language.
I wish for a good editor for the .strings files though.
November 22nd, 2007 at 4:19 pm
Localization Suite from Blue Technologies Group has made things really easy for us in the past.
http://www.blue-tec.com/locsuite/