안녕하세요.
오늘은 저번시간에 이어서 Localization에 대해서 알아보겠습니다.
날짜, 숫자, 화폐를 지역화 하는 방법을 알아보겠습니다!
날짜의 표기는 디바이스의 설정된 언어와 지역에 따라 변경됩니다.
@IBOutlet weak var dateLabel: UILabel!
func localizeDate() {
let date = DateFormatter.localizedString(from: Date(), dateStyle: .medium, timeStyle: .short)
dateLabel.text = date
}
아래와 같이 언어와 지역에 따라 조금씩의 변화가 있습니다.
ex) 한국어 & 대한민국
ex) 한국어 & 미국
ex) 영어 & 미국
ex) 영어 & 대한민국
화폐는 디바이스의 설정된 지역에 따라 표기됩니다.
@IBOutlet weak var currencyLabel: UILabel!
func localizeCurrency() {
let locale = Locale.current
let price = 5743.85 as NSNumber
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.currencyCode = locale.currencyCode
formatter.locale = locale
currencyLabel.text = formatter.string(from: price)
}
ex) 대한민국(원)
ex) 미국(달러)
ex) 영국(파운드)
숫자표기는 디바이스의 설정된 지역에 따라 달라집니다.
@IBOutlet weak var numberLabel: UILabel!
func localizeNumbers() {
let quantity = NumberFormatter.localizedString(from: 100000000000, number: .decimal)
numberLabel.text = String.localizedStringWithFormat(quantity)
}
그런데 대부분의 나라가 대한민국과 같이 1,000 단위로 쉼표를 찍습니다.
하지만 예외인 나라가 있습니다.
인도, 파키스탄, 방글라데시라고 합니다.
위의 나라들은 아래와 같이 표기 됩니다.
ex) 인도, 파키스탄, 방글라데시
맨 오른쪽 세자리만 제외 하고 모두 두자리마다 쉼표를 찍습니다.
iOS를 공부하면서 다른나라의 숫자표기법도 공부하게 되네요 ㅎㅎ
지역화 재밌네요!
감사합니다~