OK、私は公式にびっくりしています。しばらく前に IOS プロジェクトを開始し、最初はローカリゼーションに少し手こずりましたが、それを適切に行う方法がまだわからなかったので、少し混乱しました。
今、私はゼロからローカライズを行うことに決めたので、すべての .strings ファイルを破棄し、適切な多言語構造を作成しました。空の Localizable.strings ファイルから始め、アプリを実行して、すべてが適切にクリーンアップされたかどうかを確認しました。空の Localizable.string ファイルを使用すると、"NSLocalizedString" 呼び出しは単にキーをテキストとして返すと想定しました。彼らはしません。古い .strings ファイルにあった古いテキストがまだ返されます。
念のため、次のように、NSLocalizedString 呼び出しの 1 つの下に NSLog ステートメントを配置しました。
NSString *text = NSLocalizedString( key, nil );
NSLog(@"key=%@ text=%@", key, text);
次に、返されたテキストをハードディスク全体で検索します。私のハードディスクには、NSLocalizedString が返す文字列を含むファイルはありません。また、キーとはまったく異なる文字列であるため、NSLocalizedString でも構築できません。
誰もがこれがどのように起こるか知っていますか? 古い情報は XCode によってどこかにキャッシュされていますか? 新しい Localizable.strings ファイルを使用するようにツールを説得するにはどうすればよいですか? 明らかに、私はすでにプロジェクト全体を「クリーン」にして再構築しました。