Localization 2탄 ( 날짜, 숫자, 화폐 )

hoBahk·2022년 2월 25일
0

Localization

목록 보기
2/3

안녕하세요.
오늘은 저번시간에 이어서 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를 공부하면서 다른나라의 숫자표기법도 공부하게 되네요 ㅎㅎ

지역화 재밌네요!
감사합니다~

profile
호박에 줄 그어서 수박 되는 성장 드라마

0개의 댓글