0

App Storeに、文字列ファイルがローカライズされたアプリケーションがあります。英語のみの文字列ファイルで更新を送信したいのですが、(App Storeから)アプリケーションが既にインストールされているデバイスにxcode(英語の文字列ファイルのみ)からアプリをインストールすると、英語以外の言語で文字列を見ることができます。

アプリケーションがまだインストールされていないデバイスにアプリをインストールすると、デバイスで選択した言語に関係なく、英語の文字列しか表示されません。

文字列ファイルの名前を変更することもできますが、もっと賢い方法があるのではないかと思いました。

どうもありがとう

4

2 に答える 2

0

UIApplicationMain() を呼び出す直前に、ファイル main.m の次の行で問題を解決しました。

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguages"];

基本的に、アプリを英語のみで利用できるように強制します。

于 2013-01-24T14:32:55.293 に答える
0

問題は、古い localized.strings ファイルがまだ別の場所に残っている可能性があります。ローカリゼーションを使用して言語を追加または変更すると、文字列ファイルが別のフォルダーに移動される場合があります。差分更新が発生すると、新しい文字列ファイルが取得されますが、古いファイルは別の場所にあるため削除できません。ただし、その場所は検索ツリーの上位にあるため、アプリが文字列を検索すると最初に検出されます。

localized.strings ファイルの名前を別の名前に変更し、以前に localizedString を使用したすべての場所で localizedStringFromTable コマンドを使用して、新しいファイルを元のテーブルとして名前を付けることです。それはかなりの修正ではありませんが、うまくいくはずです。

1 つの言語のみが必要な場合の別の解決策として、strings ファイルが以前のバージョンとまったく同じバンドルの場所に保存されるようにすることが考えられます。

于 2013-01-11T13:00:53.740 に答える