iPhone,MacOSXのアプリケーションは,Localizable.stringファイルと,APIのNSLocalizedStrings()を使うことで簡単にローライズできる.
たとえば,ソースコード中で以下のように書き,

NSString* message = NSLocalizedStrings( @"key" , @"comment" );

バンドルのリソースファイルを以下のようにしておく.

--- Japanese.lproj/Localizable.strings
"key" = "キー";
--- English.lproj/Localizable.strings
"key" = "Key";

こうすることで,変数messageには,実行時の言語環境に基づいて,文字列が入力される.
ソースコードが3ファイルくらいだと,このNSLocalizedStringsの抜き出しも簡単なのだが,ファイルが50個とかになってくると,さすがに手作業ではできない.
Appleからはgenstringsというツールが提供されているが,お世辞にも使いやすいとは言えない.常に新しくNSLocalizedStringsを抽出するので,Localizable.stringsにすでに書き込んだリソースを新しくするたんびにマージする必要がある.NSLocalizedStringsに独自マクロを使ったりすると,もう対応できない.
そんで,Rubyでスクリプトを書いてみた.
このツールは,ソースコードを全部検査し,NSLocalizedStringsを見つけ出し,リストアップする.
さらに,すでに存在するLocalizable.stringsをすべて読み込み,見つけ出したNSLocalizedStringsのキーに値を割り当てる.
そして,第2引数に指定したLocaleに対応するLocalizable.stringsを表示してくれるものである.

ruby ./extractLocalized.rb ./your_app/ English

適当に書き換えて,改善しながら使ってみてください.
http://code.google.com/p/sonson-code/source/browse/trunk/iPhone2.0/ruby/localizedExtractor.rb