iOS&Swift🍎/iOS

iOS 다국어 지원

천 원 2022. 10. 6. 04:02

1. Localizable.strings 생성

파일 명은 항상 'Localizable' 로 생성합니다.

Localizable 파일의 인스펙터 영역에서 Localize..를 클릭 해줍니다.

 

기본 언어인 영어만 등록이 되어 있는 모습을 볼 수 있습니다.

 

2. 언어 추가하기

우리가 지원 해주고 싶은 언어를 찾아서 추가 해줍니다.

Project > Info > Localizations 

 

Localizable.strings를 체크 해주고 Finish를 눌러줍니다.

Korean과 Japanese를 추가 해주었습니다.

 

3. 다국어 설정

'Key' = 'Value' 형태로 원하는 글자를 추가 해줍니다.

여기서 문장 끝에 ; 꼭 붙여 줍시다.

4. 사용하기

NSLocalizedString을 사용하여 원하는 Key값을 넣어 줘서 사용합니다.

class ViewController: UIViewController {
    
    @IBOutlet weak var nameLabel: UILabel!
    @IBOutlet weak var ageLabel: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        nameLabel.text = NSLocalizedString("test_name", comment: "")
        ageLabel.text = NSLocalizedString("test_age", comment: "")
   
    }
}

사용자의 언어 설정에 따라 다르게 보입니다.

 

5. extension을 활용하여 간단하게 사용하기

class ViewController: UIViewController {
    
    @IBOutlet weak var nameLabel: UILabel!
    @IBOutlet weak var ageLabel: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        //nameLabel.text = NSLocalizedString("test_name", comment: "")
        nameLabel.text = "test_name".localized
        //ageLabel.text = NSLocalizedString("test_age", comment: "")
        ageLabel.text = "test_age".localized
        
    }
}


extension String {
    var localized: String {
        return NSLocalizedString(self, comment: "")
    }
}