>596
NSStringはマルチバイトに対応していますが、NSStringリテラルはマルチバイトに対応してません。

マルチバイトのNSStringリテラルを使う場合は、
1, テーブルファイルを用意する。拡張子は strings 。
ファイル foo.strings の内容 エンコードはutf-8
"hoge"="ほげ";

2, NSLocalizedStringFromTable()でテーブルから変換する。
static NSString* keyName = @"hoge"; // key
static NSString* tableName = @"foo"; // テーブルファイルの名前。拡張子は除く。
string = NSLocalizedStringFromTable( keyName, tableName, @"kokoha comment desu");

すべての言語で異なった文字列を取得したい場合は、テーブルファイル名を Localizable.strings とし
さらにそれを地域化(英語環境でPBなりを使ってるのなら表記はLocalize)して、
NSLocalizedStringFromTable() の代わりに NSLocalizedString() を使う方が良いです。
NSLocalizedString()を使う場合は、テーブルファイル名を指定する必要はありません。

このアプリには絶対、必ず、どうしても、マルチバイトNSStringリテラルがいる!という場合は、
あえてLocalizable.stringsは使わずに、グローバル化状態のテーブルファイルを作るほうがいいと思います。
下手にLocalizable.stringsにするとローカライズされる危険性があります、
というかローカライズするためのテーブルファイルですので。