2011-09-14 9 views
2

ローカライズされた文字列を使用してiOSアプリケーションを設計しています。私の弦の中には、いくつかの言語で性別の接尾辞を含む言葉が含まれています。特定のロケールでのみ性別を確認する

私は、ユーザーが男女であるかどうかを指定するように求めていますが、デバイスが性別代名詞を必要とする言語を使用している場合にのみ指定してください。

私はこれにどのようにアプローチしますか?デバイスのロケールを検出する必要がありますか? iOSが選択したローカリゼーションバンドルを検出する必要がありますか? (どうすればいいですか)

+0

「あなたに言及する際に、私たちはどのような文法的性別を使用すべきですか?」と質問するのは本当に奇妙なことです。異なる性別の文法的に異なるフォームを持つ言語は、 "自分"、 "彼/彼女"、または "s/he"の英語の使用法と同様に、自分たちの受け入れ可能な解決策を思い付いています。場合によっては、巧妙な書き換えは、そのような妥協の必要性を完全に回避することができます。これについて翻訳者と協力してください。 –

+0

私はすでにユーザーの名前を要求しています。私はちょうどそれの隣の "男性/女性"のセグメント化されたコントロールを投げようとしていました。 –

+0

男性/女性/男性器/その他/それは長い話です/回答しないでください? –

答えて

1

[NSLocale systemLocale]驚くことではないが、システムが設定されているロケールを返します。

ただし、ユーザーが使用している言語をよりよくクエリできます。 NSUserDefaultsに 'AppleLanguages'というキーを問い合わせ、返された配列から最初の値を取得することで、これを行うことができます。この値はユーザーが選択した言語です。

1

[NSLocale preferredLanguages]は、設定アプリでユーザーが選択した言語の0の位置に戻ります。

+0

これは、ユーザーが自分の電話を別のロケールに持っていて、自宅の言語で自分のアプリのテキストを読んでもらいたいので、これが望ましいと思います。 –

関連する問題