Localizable.strings ファイルを使用してアプリにローカライズを追加しようとしたのはこれが初めてで、予期しない問題が発生しています。明確にするために、これらは私が行った手順です。
- File >> New >> New File を選択し、文字列型の Resources ファイルを追加しました。
- ファイルに「Localizable.strings」という名前を付けました
- Localizable.strings ファイルをクリックし、ローカリゼーション セクションからスペイン語を追加しました。(プロジェクト フォルダーで、en フォルダーと es フォルダーがあることを確認しました)。
- 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の設定はありますか?