私のソースコードには、のような行がいくつかありますNSLocalizedStringFromTable(@"Info", @"en", @"Title of this view")
。その後呼び出すgenstrings -o en.lproj ./Classes/*.m
と、期待されるファイルは取得されませんがen.strings
、Localized.strings
genstrings-manpageで、NSLocalizedStringFromTable(a、table、c)関数からtable.stringsファイルが生成されることを確認しました。私が間違っている?次に、table.stringsファイルを作成するにはどうすればよいですか?
3333 次
1 に答える
7
ファン、
テーブル名に#defineまたは定数を使用していないことを確認してください。genstringsはコンパイルされたコードを調べず、ソースファイルを解析するだけであることを忘れないでください。また、すべてのNSLocalizedStringsメソッドは、実際にはNSBundle.hで定義された単なるマクロです。
#define NSLocalizedStringFromTable(key, tbl, comment) \
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]
次のようなことをしていないことを確認してください。
#define ENSTRINGS @"en"
...
NSString *info = NSLocalizedStringFromTable( @"Info", ENSTRINGS, @"Title of this view" );
代わりに、テーブル名を指定する必要があります。
NSString *info = NSLocalizedStringFromTable( @"Info", @"en", @"Title of this view" );
于 2010-12-09T00:15:35.920 に答える