2

eng、span、port、rus、arab、chin 用の Localizable.strings ファイルがあります。

非常に奇妙な問題が発生し始めました。値の代わりにキーが表示されます。奇妙なのは、これが原因で動作が停止したことです。

私が持っていた:

self.title = NSLocalizedString(@"1OF5", @"");

ViewControllerA では、うまくいきました。次に、コード行をコピーして ViewControllerB に貼り付けました。現在、.strings ファイルの値の代わりにキー「1OF5」が表示されています。

他のすべての NSLocalizedStrings は、アプリ全体 (100 以上) で正常に動作しますが、これを除きます >:|

私が試してみました:

  1. アプリの削除と再インストール
  2. デバイスを再起動しています
  3. プロジェクトのクリーニングと再インストール
  4. デバイスの再起動、プロジェクトのクリーニング、および再インストール
  5. .strings ファイルを削除して再度追加する

私はこれで髪を引っ張っています。どんな助けでも大歓迎です。

4

1 に答える 1

1

NSLocalizedStringはnil-[NSBundle localizedStringForKey:value:table:]のマクロです。tableつまり、このマクロを使用Localizable.stringsして、アプリケーションのメイン バンドルにあるリソース ファイルで文字列を検索します。

キー「10F5」で参照される文字列がLocalizable.strings、メイン バンドル内で呼び出されるファイルにあることを確認します。メイン バンドルに含まれていない場合は、NSLocalizedStringFromTableInBundle代わりにマクロを使用する必要があります。

最後にもう 1 つ: ばかげた指摘をする危険を冒してでも、「0」または「O」に一貫性があることを確認してください。

于 2012-12-19T21:23:08.570 に答える