본문 바로가기

프로그래밍/iOS

[iOS] 시스템 언어 가져오기

NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];


위와 같은 코드로 시스템의 언어를 가져올 수 있다.


그런데 시스템 언어를 한국어로 설정하였을 시 iOS8의 경우

ko로 오고

iOS9의 경우 

ko뒤에 지역코드가 붙어서 온다. 

지역이 한국의 경우

ko-KR 이런식


따라서 기존 언어 판별로직이 정확하지 않아 수정


대충 때우려다 자꾸 이슈나서 보니 이런문제가 있네 ㅠㅠ


따라서 언어 체크할 때는 아래와 같이 hasPrefix를 사용 

NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];

if([language hasPrefix:@"en"]|| // 영어

       [language hasPrefix:@"de"]|| // 독일어

       [language hasPrefix:@"es-419"]|| // 스페인어(라틴 아메리카)

       [language hasPrefix:@"zh-Hans"]|| // 중국어 간체

       [language hasPrefix:@"ko"]){ // 한국어

// 할 일

}


'프로그래밍 > iOS' 카테고리의 다른 글

[iOS] camera iOS10 crash  (0) 2016.09.21
[iOS] 버튼 멀티터치 막기  (0) 2016.08.23
[iOS] 전화 처리  (0) 2016.08.12
[iOS] Annotation View  (0) 2016.07.29
[iOS] 다국어가 적용되지 않는 언어를 선택할 시  (0) 2016.07.01