현재 날짜가 많이 소요되는 iPhone 용 앱을 작성하고 있습니다. 나는 NSDateFormatter
을 사용하여 날짜를 문자열로 변환합니다. 편의상 NSDateFormatter
은 지역 형식에 따라 사용자 언어로 문자열을 자동으로 만듭니다. 가능한 모든 언어 및 지역에서 내 앱을 현지화 할 수 없기 때문에이 앱은 영어, 독일어, 스페인어 및 기타 언어로만 현지화되어 있습니다.NSDateFormatter : 언어로 현지화 된 앱만 현지화 된 날짜 표시
예를 들어 앱이 프랑스 사용자 용으로 실행되는 경우 앱의 기본 언어는 영어입니다. 괜찮지 만 날짜는 여전히 프랑스어로 변환됩니다. "Month : July"대신 "Month : Juillet"과 같은 문자열이 생성됩니다.
NSDateFormatter
은 앱이 실행되는 언어를 항상 사용하도록하려면 어떻게해야합니까? NSLocalizedString()
을 사용하여 NSLocale
개의 식별자를 현지화 할 수는 있지만 잘못된 지역 설정에서 나타납니다.
일반적으로 사용자가 "en_GB"지역을 사용하고 내 앱이 영어로 현지화 된 경우 NSDateFormatter
에 "en"또는 "en_US"가 아닌 "en_GB"를 사용하고 싶습니다. 사용자가 프랑스어를 실행하면 로캘을 "en"으로 설정하고 "de_DE"지역에서 앱을 실행하는 경우 앱이 독일어를 지원하기 때문에 날짜 형식을 "de_DE"로 지정합니다.
감사합니다, 파비안
네 말이 맞아. '+ [preferredLocalizationsFromArray :'를 내부적으로 사용하는'- [NSBundle preferredLocalizations]'를 사용하면 올바르게 작동하게된다. 고맙습니다! –
'dateFormatFromTemplate :'는 빌트인 날짜와 시간 스타일이 당신의 요구를 만족시키지 않는 경우에만 필요합니다. 그렇지 않으면 날짜 형식 문자열보다 선호해야합니다. –
예, 나는 다른 모든 것에 대해'MMMM YYYY'와'dateStyle'과'timeStyle' 속성과 같은 형식에만 사용합니다. –