0
Thumbsup

いい質問だ

0

Thumbsdown

うーん

iOS端末の使用国によって処理を振り分けるには?

yokada
yokada 70

投稿日:2013-04-02 16:29:31

お世話になっております。

端末の国情報(ユーザーは変更不可。ただし脱獄は例外)別に処理を振り分けたいのですが、どのメソッドを使うのが正しいでしょうか?

ぐぐってみたところ、
Ti.App.Properties.getString("AppleLocale");
がそれっぽいのですが、確信がもてないので、どなたかご教示いただけたら幸いです。

var sysLocale = Ti.App.Properties.getString("AppleLocale").toLowerCase();
if( sysLocale == 'ja' ){
// 日本で使用しているアプリ向け処理
}

何卒よろしくお願いいたします。



回答

yokada
yokada
70

Thumbsup

いい回答

1

Thumbsdown

うーん



レスありがとうございます。

//
// sim-en:シミュレーター & 英語
// sim-ja:シミュレーター & 日本語
// device-en:実機 & 英語
// device-ja:実機 & 日本語
//
console.info(Ti.Locale.getCurrentLocale());               // sim-en:"en-US", sim-ja:"en-US", device-en:"ja-JP", device-ja:"ja-JP"
console.info(Ti.App.Properties.getString('AppleLocale')); // sim-en:"en_US", sim-ja:"en_US", device-en:"ja_JP", device-ja:"ja_JP"
console.info(Ti.Platform.locale);                         // sim-en:"en",    sim-ja:"ja",    device-en:"en",    device-ja:"ja"
console.info(Ti.Locale.getCurrentCountry());              // sim-en:"US",    sim-ja:"US",    device-en:"JP",    device-ja:"JP"
console.info(Ti.Locale.getCurrentLanguage());             // sim-en:"en",    sim-ja:"ja",    device-en:"en",    device-ja:"ja"

こんな感じになりました。
したがって、

  • Ti.Locale.getCurrentLocale()
  • Ti.App.Properties.getString('AppleLocale')
  • Ti.Locale.getCurrentCountry()

が今回、欲しい結果となりました。
上記3つ以外は、言語設定に依存しているようです。
Ti.Locale.getCurrentCountry()はシステムロケールをみているようです。


すいません、早とちりしていました。"端末"の国情報でしたね。 逆に参考になりました。 --- umi_uyura

いえいえ、自分がだした最初のif文で ja だったので混乱させてしまったと思います。すいません。 --- yokada

umi_uyura
umi_uyura
140
Tcad_icon

Thumbsup

いい回答

0

Thumbsdown

うーん

ログインすると回答することができます。