iOS9 で [NSLocale preferredLanguages] の返値が,”ja” から “ja-JP” になっている件

日本語の判断を以下のようにやっていて,iOS9 で正しく判断できていなかった.

原因は,掲題の通り.

以前の判定方法

1
2
3
4
5
NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
 
if ([currentLanguage isEqual:@"ja"]) {
    :

iOS9 に対応した判定方法

1
2
3
if ([currentLanguage isEqualToString:@"ja"] || 	// iOS8 以前
    [currentLanguage hasPrefix:@"ja-"]) { 	// iOS9 対応
    :

参考:
[iOS] iOS9 日本語環境の判断コードの変更が必要に [NSLocale preferredLanguages]

[iPhoneプログラミング]iPhoneの言語設定関連の情報取得についての解説

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です