よくわかりませんが、これが私の経験に基づいた推測です。
最初に認識すべきことは、OS X と iOS が大量のコードを共有していることです。公式にはOS X のみであり、実際には iOS でも動作する機能がかなりの数あります。
私が携帯電話で観察したことは次のとおりです。
もし私が持っていたら
- en_US.lproj
- Localizable.strings
次に、そのファイルから値を読み取り、見つけたドキュメントの内容と矛盾します(指摘したとおり)。
ただし、次の場合:
- en_US.lproj
- Localizable.strings
- en.lproj
- Localizable.strings
次に、ドキュメントの精神を尊重して、en.lprojから値を取得します。
現在、Xcode をグラフィカルに使用すると、(US リージョン)en-US
とは異なり、ローカリゼーションのみを選択できます。en_US
したがって、あなた (私のように) は Xcode の外に出て、en_US.lproj
ディレクトリを手動で追加し、後でそれを Xcode プロジェクトに追加したと思います。
Apple の考えは、iOS は引き続き を認識en_US.lproj
できますが、そのローカリゼーションを直接作成できないように Xcode を構成しているため、アプリはそこにたどり着かないのではないでしょうか? それで、あなたはその機能に(一種の)ハッキングしました。
もう 1 つ注意: 私が行ったように .lproj フォルダーを手動で作成した場合、Xcode の外部でそれらを変更すると、実際にはなくなっていると思うときに、それらが実際になくなっていることに注意する必要があります。また、この方法で追加 (および削除) した古い .lproj ディレクトリを吹き飛ばすために、アプリをアンインストールする必要がある場合もあります。つまり、これは奇妙な動作を確認するもう 1 つの方法です。
手短に言えば、このままのドキュメントでは、この種のローカリゼーションを含むアプリを App Store に提出するつもりはありません。iOS では公式にサポートされていないため、将来的に拒否されるか、壊れる (文字列値が見つからない) 可能性があります。そうは言っても、この機能が無期限に機能し続けたとしても、私は驚かないでしょう.