0

Localizable.strings ファイルを使用してアプリにローカライズを追加しようとしたのはこれが初めてで、予期しない問題が発生しています。明確にするために、これらは私が行った手順です。

  1. File >> New >> New File を選択し、文字列型の Resources ファイルを追加しました。
  2. ファイルに「Localizable.strings」という名前を付けました
  3. Localizable.strings ファイルをクリックし、ローカリゼーション セクションからスペイン語を追加しました。(プロジェクト フォルダーで、en フォルダーと es フォルダーがあることを確認しました)。
  4. Localizable.strings (英語) ファイルにキーを追加し始め、スペイン語の翻訳をスペイン語のファイルに追加しました。

例として、これは私が追加しようとしているローカリゼーションの 1 つです。

"CAMERA_ERROR" = "The device does not have a camera";

スペイン語の .strings ファイルにまったく同じ文字列が追加されていますが、テキストはスペイン語に合わせて変更されています。私のアプリコード内で、私は以下を使用しています:

NSString *cameraError = NSLocalizedString(@"CAMERA_ERROR", nil);

ここまでは問題ないように見えますが、ここからが奇妙で混乱します。iMac の 1 つでアプリを実行すると、正常に動作し、シミュレーターに設定した言語に応じて、正しい英語またはスペイン語の文字列が表示されます。

ただし、この MacBook Pro でまったく同じアプリを実行すると、文字列は表示されず、代わりに「KEY」タイトルが取得されて表示されます。そのため、「デバイスにはカメラがありません」というメッセージを表示する代わりに、「CAMERA_ERROR」と表示されます。コードは、git リポジトリから複製された同じプロジェクトであるため、まったく同じです。

誰でもこれに光を当てることができますか?異なる可能性のあるMacBookの設定はありますか?

4

1 に答える 1

6

MacBook Pro で次の操作を試してください。

  1. プロジェクトをクリーンアップします。

  2. シミュレーター/デバイスからアプリを削除します。

  3. アプリを再構築します。

これで修正されるはずです。

于 2012-04-08T16:45:00.580 に答える