まず、何も考えずにアプリを作る。
だいたい形ができたところで、文字列 (@"~")を指定している部分は
NSLocalizedString(@"~", @"")とする。
その後おもむろに、コンソールを立ち上げて
genstring (.mファイル)とすると、カレントディレクトリに Localizable.String ファイルができるので、en/ なり ja/ なりコピーする。
これでソース中でたとえば、
NSLog(@"Connection failure!!");なんて書いてる場所を
NSLog( NSLocalizedString(@"Connection Failure!!", @"") );として、ja/Localizable.Strting に
"Connection Failure!!" = "接続できませんよ!"なんて書くと、端末の言語設定が日本語になっていれば、"接続できませんよ!"とログに吐きだされる。
注意点としては、 genstring の挙動で、Localizable.String が既にあっても上書きしちゃってマージしてくれないので、Localizableファイルを作成するのは遅ければ遅い方が楽ってこと。
Localizableファイルがなければ、NSLocalizedString はそのままの文字列を出力してくれるので、問題は起きない。
以上。