

Introducing Twine: String Management for iOS, Mac OS X, and Android Development - scelis
http://www.mobiata.com/blog/2012/02/08/twine-string-management-ios-mac-os-x

======
dvillase
Looks great. I hadn't considered localizing my future iPad game using Cocos2D
and now I'm thinking about doing it for at least 4 languages (Spanish,
English, Portuguese, Chinese)! I'll get more if I can get hold of some friends
who could do me the favor.

------
kelnos
How is this better than porting something like gettext to iOS (if it hasn't
been ported already)?

The one "downside" to gettext (at least from the OP's perspective) is that it
uses the English text as the key. Personally I don't find this to be a
downside at all. I hate having to make up artificial keys and then associate
them with English strings. It makes programming much less natural and breaks
my flow. I've never found the typo/misspelling issue to be much of an issue.

I suppose gettext also doesn't support XIB files, though it wouldn't be hard
to translate back and forth between .strings and .po files...

------
fictorial
> ibtool does not do merging

Upon receipt of an updated .strings file for a localization, run

    
    
      ibtool --strings-file updated.strings xx.lproj/existing.xib --write xx.lproj/existing.xib
    

which will preserve any layout changes made to

    
    
      xx.lproj/existing.xib
    

It is working out fine for a client app called Chumkee which has about a dozen
localizations.

~~~
scelis
Interesting... Thanks for the tip. I will have to update my post accordingly.

------
feralchimp
Great-looking tool and an even better post. It does a very thorough job of
explaining Twine's value to someone who might not already understand
localization pain points on iOS. If Apple's own localization doc were this
straightforward, we might see a lot more localized apps out there.

