2013-08-07 14 views
10

アップルの開発者に関する国際化のドキュメントとビデオを見てきましたが、その質問に対する明白な答えは見つかりませんでした。 Appleのチュートリアルでは、en.lprojzh.lprojの横にBase.lprojフォルダがあります。この例の翻訳(ローカリゼーション)は英語から中国語です。しかし、彼らはファイルen.lproj/myStoryboard.stringsがあり、それは混乱していると私に伝えます。私はストーリーボードのための英語のローカリゼーションを作成する際のポイントを見ることができません。Base Internationalizationのストーリーボードは、すべてのローカライズされていない言語や文字列のフォールバック言語に対応する必要がありますか?

  1. したがって、ユーザーがBase.lproj/myStoryboard.storyboardの文字列を見た場合、私の質問になりますか?
  2. システムでユーザの優先言語フォルダがバンドル内に見つからない場合、そのファイル内の文字列をユーザに表示されるデフォルトの文字列にする必要がありますか?
  3. 明示的に「Base.lproj/myStoryboard.storyboardを使用しないでください。いつもen.lproj/myStoryboard.stringsに戻ってください」と言うことはできますか?言い換えれば


のは、私は、ユーザーの言語が利用できないときに私のアプリは英語で表示したいが、私のBase.lproj/myStoryboard.storyboardはスウェーデン語であるとしましょう。 にはがあり、ベースストーリーボードをsv.lproj/myStoryboard.stringsにローカライズし、ベースストーリーボードのすべての文字列を英語に翻訳してこれを実行しますか?

+0

"en.lproj/myStoryboard.strings"を含むチュートリアルへのリンクを投稿できますか? –

+0

私はこれが私を混乱させたと信じています:https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/chapters/InternationalizeYourApp/InternationalizeYourApp/InternationalizeYourApp.html – Andreas

+0

私はそこに何か誤解しているかもしれません。 2ヶ月前です。たぶん、冗長に見えたのはBase.lprojとen.lprojのフォルダだけだったのかもしれません。 – Andreas

答えて

3

私の場合、XCode 5はen.lproj/myStoryboard.stringsを作成していませんでした。元のストーリーボードはBase.lprojフォルダにしかありません。たぶんそれは古いXcodeの問題ですか?

このファイルを削除して、デフォルトの英語の文字列のためにあなたのアプリがBase.lprojと合っているかどうかを確認してください。

Info.plistファイルには、希望の文字列が優先言語で存在しない場合に使用するlprojフォルダを指すエントリLocalization native development regionが必要です。

これはわかりませんが、enBase.lprojのUIを使用すると、自動的にBase.lprojにフォールバックする必要があると思います。

これはあなたを助けますか?

+0

私はXcodeのローカライゼーションに苦労しました。私はXcodeで何も試していない状態で、テーマを読み上げることを選択しました:)(私は初めてストーリーボードをゴミ箱に入れてしまいました。除去された等)。 plistプロパティは、私が探していたもののように聞こえるので、私はそれを調べます。 – Andreas

3
  1. ユーザーがこれまでBase.lproj/myStoryboard.storyboard内の文字列が表示されますのであれば、私の質問はありますか?

開発領域のローカリゼーションには、通常これらの文字列を使用するのが一般的です(英語)。 englishに一致する文字列ファイルがある場合は、ストーリーボードの文字列に優先します。これは通常は冗長であるため、通常は使用されません。すべての言語を同じように処理したい場合は、これを行うことができます。

システムが自分のバンドルでユーザーの優先言語フォルダを見つけられない場合、そのファイルの文字列をユーザーに表示されるデフォルトの文字列にする必要がありますか?

これらは無関係の概念です。ストーリーボードに埋め込まれたストリングは、en.lprojにストリングがあることと同等です。その後、言語フォールバックはBase.lprojがない場合と同じように動作します。

私は明示的に "常にen.lproj/myStoryboard.stringsに頼る、Base.lproj/myStoryboard.storyboardを使用することはありません" と言うことはできますか?

あなたはen.lproj/myStoryboard.stringsを持っており、英語が開発言語であれば、彼らは常に英語のためBase.lproj/myStoryboard.storyboardに埋め込まれた文字列を置き換えます。英語が優先言語ではない場合を含むが、フォールバック言語として選択される。

+0

あなたは "開発中の英語"を明確にしてください。 – Andreas

+0

確かに、私は最後の段落を更新しました。 –

+0

私はどこでもオプションとして "開発言語"を見たことは覚えていませんが、もう一度私はそれを探しませんでした。私はこれが、Kofが言及している「ローカリゼーションのネイティブ開発領域」と同じオプションだと推測しています。 Kofの答えを考えると、「開発言語」は、Baseの国際化と同じように、フォールバック言語とは無関係のようです。私の場合、私の開発言語はスウェーデン語ですが、代替フォールバック言語はまだ英語です。混乱している! – Andreas

関連する問題