[Swift] 다국어(Localize) 처리하기 +a

2018. 8. 29. 10:57iOS/Swift

안녕하세요:)

저번 포스트에서는 앱 다국어 처리를 알아보았습니다.

 

이번 포스트에서는

lbl.text = String(format: NSLocalizedString("Hello", comment: ""))

이 코드, 어떻게 일일이 다 치나요..?

간단하게 줄여보도록 합시다!

 

 

우선  String Extension 파일을 하나 만들어 줍니다.

// StringExtension.swift

extension String {
    var localized: String {
        return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: "")
    }

}

 

끝입니다.

 

쉽죠?

 

컨트롤러로 가서 

lbl.text = "Hello".localized

 

이렇게 써주면 다국어 처리 끝!

 

 

+) 변수가 있는 경우

 

다국어 처리를 하다보면 

 

// Localizable.strings (English)

"Me" = "I'm %@";
 
// Localizable.strings (Korean)

"Me" = "저는 %@입니다";

 

이런 식으로 변수가 들어가는 경우가 있죠?

 

그 경우에는 

lbl.text = String(format: NSLocalizedString("Me", comment: ""), "민이")

 

이렇게 해주면 %@가 "민이"로 바뀌게 됩니다.

 

봐주셔서 감사합니다!

그럼 오늘도 즐코딩><