I made a mistake with my localisation coding and I assumed that NSLocalizedString used the form NSLocalizedString(key,value) when in fact it uses NSLocalizedString(keyValue,comment). Rather than go back and redo my coding so that it would work I created a new program called CocoaLocalizer to do this hard work for me. This program creates better comments than genstrings as it allows you to import comments from an external file with the same keys, and it also displays the ‘default value’ in the comment so you can see what you’re translating from. Additionally it allows you to ‘merge’ another .strings file (though it misses the comments in that at the moment) into the one it generates. Also the application checks both the keys and values to make sure they don’t clash with existing values and displays a ‘nice’ error for this.
It also works with NSLocalizedString done in the default way as well (i.e. NSLocalizedString(keyValue, comment) and with that it just uses the extra comment from the comment.strings file as another comment.
This program has a Cocoa interface and isn’t a command line application and it requires Mac OS X 10.6 Snow Leopard.
It can be downloaded from the applications Sourceforge project page at: sourceforge.net/projects/cocoalocalizer/