10

Apple 開発者に関する国際化に関するドキュメントとビデオをいくつか調べましたが、その質問に対する明確な回答は見つかりませんでした。Apple のチュートリアルでは、Base.lprojフォルダーが横en.lprojに表示されますzh.lproj。翻訳 (ローカライズ) の例は、英語から中国語です。しかし、彼らはファイルがあると私に言いましたen.lproj/myStoryboard.strings、そしてそれは紛らわしいです。ストーリーボードの英語ローカライズを作成する意味がわかりません (既に英語になっています)。

  1. だから私の質問は、ユーザーが文字列を表示するBase.lproj/myStoryboard.storyboardかどうかです ?
  2. システムがバンドル内にユーザーの優先言語フォルダーを見つけられない場合、そのファイル内の文字列は、ユーザーに表示されるデフォルトの文字列でなければなりませんか?
  3. Base.lproj/myStoryboard.storyboard「絶対に使用せず、常にフォールバックする」と明示的に言えen.lproj/myStoryboard.stringsますか?

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

4

2 に答える 2

3

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

そのファイルを削除して、アプリがデフォルトの英語の文字列の Base.lproj とうまくいくかどうかを確認してください。

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

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

それは何らかの形であなたを助けますか?

于 2013-10-07T14:55:54.033 に答える
3
  1. だから私の質問は、ユーザーが Base.lproj/myStoryboard.storyboard で文字列を表示するかどうかです。

これらの文字列を開発リージョンのローカライズに使用するのがデフォルトで、通常は英語です。英語に一致する文字列ファイルがあれば、ストーリーボードの文字列に取って代わります。これは通常冗長であるため、通常は使用されません。すべての言語を同じように処理したい場合は、これを行うことができます。

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

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

「Base.lproj/myStoryboard.storyboard を使用せず、常に en.lproj/myStoryboard.strings にフォールバックする」と明示的に言えますか?

en.lproj/myStoryboard.strings があり、英語が開発言語である場合、英語の Base.lproj/myStoryboard.storyboard に埋め込まれた文字列は常に置き換えられます。英語が優先言語ではなく、最終的に代替言語として選択される場合を含みます。

于 2013-10-07T16:49:09.163 に答える