0

es (スペイン語)、en (英語)、ca (カタロニア語) のローカライズを適切に設定しました。スペイン語と英語が主で、副言語は es-xx と en-xx のようなものです。カタロニア語は、es-ca コードを持つセカンダリです。問題は、たとえば en-us でアプリを起動すると、en-us が存在しないために en.lproj リソースが呼び出されることです。この時点までは問題ありませんが、カタロニア語のローカリゼーションを削除した場合は、同じことを行い、プライマリ es をロードする必要があります。ただし、それをロードせず、代わりにデフォルトのもの (en) をロードします。何か不足していますか?ありがとうございました

4

1 に答える 1

1

問題を正しい方法でモデル化しているかどうかはわかりません。

カタロニア語を削除する際の問題 (ローカリゼーションを削除する理由がわからない) は、スペイン語にフォールバックするということですか? バルセロナにいてカタロニア語を話す人はスペイン語も話すと思いますが、それらのユーザーの言語を変更するのは適切ではありません。

私のアプリでは、英語 (英国、米国の両方)、フランス語、日本語、スペイン語を提供しています。起動時に、ユーザーの優先ロケールを取得し、NSDictionary を使用してそれらを最も適切な一致にマップし、一致が見つからない場合は米国英語にフォールバックします。たとえば、南アフリカに住んでいる場合、最も近い英語はイギリス英語ですが、フィリピンに住んでいる場合はアメリカ英語の方が適しています。

残念ながら、カタロニア語のユーザーは英語にフォールバックしますが、次のバージョンでは、ユーザーがサポートされている言語リストから好みの言語を指定できるようにする予定です。これにより、将来的にスペイン語にフォールバックできるようになります。

NSDictionary を使用して、ユーザーのロケールをアプリで使用可能な言語にマップし、問題が解決するかどうかを確認してください。お役に立てれば!

于 2012-09-07T01:19:07.573 に答える