Info.plistファイルの「ローカリゼーションネイティブ開発リージョン」エントリの機能を本当に理解したかどうかはわかりません。
言語リソースdirとの一致がない場合、このエントリでアプリの言語を指定できることがどこかでわかりました。
私は英語、イタリア語、スペイン語(en.lproj、it.lproj、es.lproj)の3つの言語にローカライズされたアプリを所有しており、「ローカリゼーションネイティブ開発地域」エントリをイタリアに設定しました。 「設定」で言語とロケールを変更すると(たとえば、アラビア語と適切な地域を選択すると)、アプリの言語は英語になります。 info.plistで「ローカライゼーションネイティブ開発地域」をイタリアに設定したので、イタリア語にすべきではありませんか?
何か案は? AppStoreアプリの記述言語に関連付けられているのでしょうか?
CFBundleのドキュメントから:
kCFBundleDevelopmentRegionKeyバンドルの開発言語の名前。 CFBundleがリソースを検索する場合、フォールバックは、Info.plistファイルのkCFBundleDevelopmentRegionKeyによって名前が指定されているlprojを検索することです。したがって、バンドルには、ローカライズされたすべてのリソースのコピーを含む正確な名前のlprojが含まれていることを確認する必要があります。そうでない場合、CFBundleはフォールバックメカニズムの動作を保証できません。 iOS 2.0以降で利用できます。 CFBundle.hで宣言されています。
AppStore Description言語とは関係ありません。
以下の設定を使用して解決しました。
ネイティブ開発リージョンは、VoiceOverが話すデフォルトの言語も設定します。これを正しく設定すると、アプリで使用されるすべてのデフォルトコンポーネント(英語にフォールバック)のアクセシビリティ言語をオーバーライドする必要がなくなります。