特定のファイルに対して "en"と "en-AU"(オーストラリア英語)の両方のローカリゼーションがあります。NSBundle preferredLocalizationsは、最も具体的なローカリゼーションを返しません。
("en-AU", "en")
しかし、[[NSBundle mainBundle] preferredLocalizations]
(実際には重要なもの)のみ生成します:
("en")
なぜ
現在のロケールが "en_AUは" ですが、[[NSBundle mainBundle] localizations]
は、私が期待してローカライズのセットを生成します優先リストから完全に除外された、サポートされている最もローカライズされたローカライゼーションです。
NSBundle
は、あまり具体的でないオプションの中で最も正確に使用できるローカライゼーションに優先順位を付ける方法はありますか?
英語は言語で、オーストラリアは地域です。言語を英語に、リージョンフォーマットをオーストラリアに設定すると、ロケール "en_AU"(NSLocaleにcurrentLocaleを照会することで確認できます)が取得されます。 – BWW
確かに、ロケールとローカライゼーションには区別があります。この回答を見てください:http://stackoverflow.com/a/7204733/310121 私は専門家ではないと主張していますが、私はロケールが通貨、時計の形式などを決定すると考えていますが、使用されている。少なくとも私はen_USをロケール、 'sv'をローカライゼーションとしたのは、すべてスウェーデン語だったからです。 –
私が理解しているように、ローカライゼーションは本質的には特定のロケールのコンテンツセットです。特定のロケールのローカリゼーションがない場合は、一致しないことになります。しかし、この場合、現在のロケールとまったく同じローカライゼーションがありますが、何らかの理由でそれが/好ましいローカリゼーションとはみなされません。 – BWW