0

新しい Xcode プロジェクトを作成し、文字列のローカライズをセットアップしようとしています。

次の内容の「localization.strings」という新しいファイルを追加しました。

"ログイン" = "英語のテキスト2";

Xcode の最新バージョンの [プロジェクト] > [情報] セクションに 2 番目のローカリゼーションを追加しました。

次に、右側のボックスにチェックを入れて、localization.strings ファイルにフランス語を追加します。これが追加されると、アプリケーションを実行/ビルドできますが、文字列はこのファイルにリンクしなくなります。

たとえば、上記の元の英語版を「testing text eng」に更新しても、元の英語のテキストが表示されます2.

なぜこれが発生するのでしょうか?アプリが大きすぎて投稿できません。ビルド エラーはありません。ファイルは破損しておらず、欠落しておらず、エンコードが正しくありません。

4

2 に答える 2

5

クリーン ビルドを作成し、シミュレーターやデバイスからアプリを削除する必要があります。そうすれば、すべてが機能するはずです。これは一度だけ行う必要があります。

ローカリゼーションを追加する前は、文字列ファイルはアプリケーション バンドルのルート (例: MyApp.app/Localizable.strings. これは、アプリの実行時にシミュレーターやデバイスにコピーされます。

ローカライズを追加した後、ファイルの内容はローカライズ固有のサブディレクトリ ( や など) に移動されMyApp.app/en.lproj/Localization.stringsますMyApp.app/fr.lproj/Localization.strings。しかし、ルート バンドル内の古いファイルはまだシミュレーターやデバイス上に残っており、他のファイルよりも先に検出されています。そのため、クリーン ビルドを実行し、シミュレーターとデバイスからアプリを削除すると、古いファイルが削除されます。

于 2012-08-06T13:12:40.963 に答える
0

発生する可能性がある問題はこれだけではありません。別のケースに遭遇しました:「Localizable.strings」という同じ名前の 2 つのファイルです。ライブラリフォルダーに1つ、メインプロジェクトフォルダーに1つありました。ローカリゼーション システムは、両方ではなく、そのうちの 1 つだけを使用しました。不要なものを削除することで問題を解決しました。

于 2015-05-20T11:09:42.783 に答える