[swift] Swift FirebaseUI를 사용하여 지역화 및 다국어 지원하기

FirebaseUI는 Firebase를 사용하여 iOS 애플리케이션을 개발하기 위한 강력한 도구입니다. FirebaseUI를 사용하면 사용자 관리, 데이터베이스, 스토리지, 인증 및 기타 Firebase 기능을 쉽게 구현할 수 있습니다.

이 글에서는 Swift FirebaseUI를 사용하여 앱의 지역화 및 다국어 지원을 구현하는 방법에 대해 알아보겠습니다.

지역화 설정하기

앱을 다국어로 지역화하려면, Localizable.strings 파일을 생성하여 각 언어에 대한 문자열 리소스를 포함해야 합니다.

  1. 프로젝트 탐색기에서 Localization.strings 파일을 선택합니다.
  2. Identity and Type 인스펙터를 확인하고, Localization 섹션에서 원하는 언어를 추가합니다.
  3. 추가한 언어에 대한 Localization.strings 파일이 생성됩니다.
  4. 각 파일을 선택하여 해당 언어의 문자열 리소스를 추가합니다.

예를 들어, EnglishKorean 언어로 앱을 지원하고자 한다면 다음과 같이 Localizable.strings 파일을 작성할 수 있습니다.

Localization.strings (English)

"welcome_message" = "Welcome to our app!";
"button_title" = "Press me";

Localization.strings (Korean)

"welcome_message" = "앱에 오신 것을 환영합니다!";
"button_title" = "눌러주세요";

FirebaseUI에서 지역화 적용하기

FirebaseUI는 자체적으로 지역화를 지원하지 않습니다. 따라서, 약간의 추가 작업이 필요합니다.

  1. FirebaseUI를 사용할 ViewController에 다음 코드를 추가합니다.
import Firebase
import FirebaseUI

class MyViewController: UIViewController, FUIAuthDelegate {

    // ...

    override func viewDidLoad() {
        super.viewDidLoad()

        // FirebaseUI 지역화 설정
        let authUI = FUIAuth.defaultAuthUI()
        authUI?.delegate = self
        let providers: [FUIAuthProvider] = [
            FUIEmailAuth(),
            FUIGoogleAuth(),
            FUIFacebookAuth()
        ]
        authUI?.providers = providers

        // ...
    }

    // ...

}
  1. 지역화를 적용해야 하는 화면에서 다음과 같이 리소스를 설정합니다.
import UIKit

class MyLocalizedViewController: UIViewController {

    @IBOutlet weak var welcomeLabel: UILabel!
    @IBOutlet weak var button: UIButton!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // welcomeLabel을 Localizable.strings의 welcome_message 리소스로 설정
        welcomeLabel.text = NSLocalizedString("welcome_message", comment: "")
        
        // button의 타이틀을 Localizable.strings의 button_title 리소스로 설정
        button.setTitle(NSLocalizedString("button_title", comment: ""), for: .normal)
    }
    
    // ...

}

이제 앱을 실행하면 지역화에 따라 해당 언어의 문자열 리소스가 화면에 표시됩니다.

결론

FirebaseUI를 사용하여 앱의 지역화 및 다국어 지원을 쉽게 구현할 수 있습니다. 해당 언어의 문자열 리소스를 Localizable.strings 파일에 추가하고, 지역화가 필요한 화면에서 리소스를 사용하도록 설정하면 됩니다. FirebaseUI에서 지역화 설정을 추가하면 FirebaseUI 화면도 지역화됩니다.

더 자세한 정보는 FirebaseUI GitHub 페이지를 참조하시기 바랍니다.