38

私はこの本当に心を壊す問題を抱えています。

XCode で Localizable.strings ファイルを作成し、その中に 2 つの言語を作成しました。

これらのファイルに言語翻訳を入力し、ビルド/クリーンを実行してから新規ビルドを実行しましたが、プロジェクトにローカリゼーション文字列が表示される方法がありません。次のようなことを試してみると:

self.title = NSLocalizedString(@"HEAD", nil);

翻訳の代わりに「HEAD」のみがデバイス シミュレータに表示されます。

これは私のプロジェクト階層です:

プロジェクト階層

そして、これは英語ローカリゼーション ファイルの内容です。 ここに画像の説明を入力

何か案は?

4

13 に答える 13

78

私は自分で答えを見つけました。

プロジェクトを再度クリーニングしてビルドすることに加えて、上記で説明したすべてのことを行います。また、iPhone シミュレーターでアプリを削除してから、再度ビルドする必要があります。その後、それは完全に機能します。

Apple をシンプルにすることについて話します...

于 2012-06-25T18:58:29.380 に答える
20

いくつかのチェック:

  1. ファイル名が正確Localizable.stringsで、ターゲットに含まれていることを確認してください
  2. すべての文字列は次で終了します;
  3. すべての文字列は二重引用符で囲まれています"
  4. コメントは//(NOT #)で始まります
于 2016-09-03T10:23:48.667 に答える
2

このスレッドの他の場所で言及されているすべてのヒントに加えて、Localizable.strings場合によってはプロジェクトのルート フォルダーに配置する必要もあります。

于 2018-08-28T16:07:19.533 に答える
0

私の場合、テキストが残っているため、Localizable.strings ファイルが適切にフォーマットされていませんでした。コンパイラは文句を言いませんでしたが、ファイルの不正なセクションの後の文字列はすべて無視されました。私のファイルは次のようになりました:

"Key1" = "文字列1";

  • 文字列

  • 文字列

  • 文字列

文字列";

"Key2" = "文字列 2";

そのため、適切に処理されていない Localizable.strings を手で検査してください。コンパイラがすべてのフォーマット エラーをキャッチすることを信頼することはできません。

于 2016-08-30T15:37:13.527 に答える
0

特定の .strings ファイルのエンコーディングも設定する必要がありました。

これを行うには、プロジェクト ナビゲーターでファイルを選択し、右側のパネルの [テキスト設定] セクションでエンコードを選択します。Unicode(UTF-8)を使用しました。

ここに画像の説明を入力

于 2019-07-19T09:50:41.990 に答える