2010-12-11 14 views
2

私たちのアプリはいくつかの言語にローカライズされており、すべてがAd Hocビルドに正しく表示されています。iPhoneアプリのローカリゼーション

今日リリースされたApp Storeのバージョンを作成してリリースしましたが、国際化されたユーザーの誰も、ローカライズされた文字列を参照していません。

さらに詳しい情報:iTunesの接続で

  1. 、バイナリ詳細の下に、言語のように示しています ローカリゼーション:( "デ"、 "EN"、 "JA"、 "PT")
  2. Settings.appの文字列は翻訳されたものとして表示されますが、アプリ内の文字列は英語以外の文字で表示されません
  3. 複数の携帯電話のストアからアプリを削除して再ダウンロードしようとしました。
  4. 私たちはiTunes Connect自体にローカライズを行っていません( ermsの説明など)。我々がしよう
  5. 他のアプリは、#4は、我々は適切にローカライズに表示するために私たちのApp StoreのアプリのためのiTunesに接続内に作成ローカライズ版を持っている必要があり、問題-DOであれば私たちは迷っている正しい言語で

です同じように?

答えて

3

それは聞こえますDistributionビルドのビルドに問題があります。私の推測では、おそらくあなたの配布ビルドの中だけに残っているLocalizable.stringsファイルがプロジェクトのルートにあります(事前ローカリゼーションから)。あなたがこれを持っているなら、NSLocalizedStringは実際にローカライズされたどの言語にもそれを好むでしょう(これは逆説的なものです)。

送信した.appバンドルを分解して、このファイルの階層の最初のレベルを調べることで確認できます。

これは、偶発的なクリーンでないビルドのために、事前ローカリゼーションからぶら下がります。

+0

これはまったく同じように見えますが、アドホックとApp Storeの間のCodeResourcesでdiffを実行すると、1つの違いが表示されます。プロジェクトのルートに浮遊するLocalizable.strings – Zeppomedio

+0

:)申し訳ありません。私はちょうど私がこれでまったく焼かれたので知っていた。とにかく次回はいつも知っている! –

0

iPhone自体が正しい言語(Settings.app経由)であれば、ローカライゼーションは正しいはずです。 iTunes Connectバイナリの詳細は、アプリケーションビルドに含まれるローカリゼーションファイルごとに、アプリケーションがサポートする言語を示しています。

あなたのアプリを別の言語(App Storeではなく、アプリケーション自体)で表示したい場合は、App Store用のローカライズと同じくらいです。アプリの文字列として

限りは、(例えば)が含ま:

cell.textLabel.text = NSLocalizedString("MyProducts","A Description of My Products"); 

とローカライズファイルが含まれています:

"MyProducts" = "My Products"; 

そして、あなたのプロジェクトが含まれています:

Localizable.strings 
    -en.lproj 
    -es.lproj 
    -fr.lproj 
+0

。 Localizable.stringsを内部に持つja.lprojとde.lprojがあり、これらのエントリはXCodeプロジェクトのLocalizable部分に表示されます。私たちがInfo.plistなどで指定する必要のあるものは何もありません。これはアプリのアップデートで、以前のバージョンにはローカリゼーションが含まれていないため、問題が発生する可能性がありますか?ありがとう。 – Zeppomedio

+0

更新が何であるべきか、それは更新が(理論的に)どのようなものでなければならないかということではありません。あなたのinfo.plistに含める必要はありません。また、「Localizable.strings inside」と言っています。 Localizable.stringsというファイルがない場合は、THATファイルの中にen.lprojファイルがあります。それはあなたの問題かもしれません。 – WrightsCS

0

これは、WrightsCSとquixotoの両方の回答を組み合わせたものです。

GENSTRINGSを実行してローカライズ可能な文字列を生成する前に、各文字列に接頭辞NSLocalizedStringが付いていることを確認してください。

localizable.stringsを翻訳したら、それぞれのリソースフォルダ(en.lproj、fr.lproj、de.lprojなど)に配置します。en.lprojフォルダの外には、実行時に優先される可能性のある英語リソースがないことを確認する必要があります。

は、私がここで実行されているローカライズナレッジベースを持って、誰もが興味を持っている場合:私たちが考えたものだ http://kb.applingua.com

関連する問題