[swift] Firebase Remote Config를 활용한 앱의 국제화 지원하기

앱을 다국어로 제공하려면 사용자가 언어를 선택하거나 기기의 언어 설정을 기준으로 앱의 내용을 동적으로 변경해야 합니다. Firebase Remote Config를 사용하여 앱의 국제화를 지원할 수 있습니다. Firebase Remote Config는 Firebase의 기능 중 하나로, 앱의 동작을 수정하고 구성 값을 업데이트할 수 있는 클라우드 기반의 구성 관리 도구입니다.

Firebase Remote Config 설정하기

Firebase Remote Config를 사용하려면 다음과 같은 단계를 따라야 합니다.

  1. Firebase 콘솔에 로그인하고 프로젝트를 선택합니다.

  2. “Remote Config”로 이동하여 각 언어에 대한 키-값 쌍을 추가합니다. 예를 들어, “welcome_message”라는 키를 만들고 해당 키에 각 언어에 대한 환영 메시지를 할당할 수 있습니다.

  3. 기본값을 설정합니다. 기본값은 키와 연결된 값 중 어떤 것도 찾을 수 없을 때 사용됩니다.

  4. iOS 앱에 Firebase SDK를 추가하고 Firebase Remote Config 모듈을 가져옵니다.

import FirebaseRemoteConfig
  1. Firebase Remote Config에서 구성 값을 가져옵니다.
let remoteConfig = RemoteConfig.remoteConfig()
remoteConfig.fetchAndActivate() { status, error in
    if let error = error {
        print("Error fetching remote config: \(error.localizedDescription)")
        return
    }
    // Firebase Remote Config 값을 적용하는 로직 작성
}

Firebase Remote Config를 통한 국제화 적용하기

Firebase Remote Config에서 가져온 구성 값을 앱에 적용하는 로직을 작성합니다. 다음은 Firebase Remote Config 값을 적용하는 예시입니다.

let welcomeMessageKey = "welcome_message"
let defaultWelcomeMessage = "Welcome"

let welcomeMessage = remoteConfig.configValue(forKey: welcomeMessageKey).stringValue ?? defaultWelcomeMessage

// 사용자의 기기 언어를 확인하여 해당 언어에 맞는 환영 메시지를 표시
if let deviceLanguage = Locale.current.languageCode {
    let localizedWelcomeMessage = remoteConfig.configValue(forKey: "\(welcomeMessageKey)_\(deviceLanguage)").stringValue
    
    if let localizedWelcomeMessage = localizedWelcomeMessage {
        label.text = localizedWelcomeMessage
    } else {
        label.text = welcomeMessage
    }
} else {
    label.text = welcomeMessage
}

위의 예시는 사용자의 기기 언어를 확인하고 해당 언어에 맞는 환영 메시지를 표시하는 기능을 보여줍니다. Firebase Remote Config에서 가져온 구성 값 중에는 _언어코드와 같은 형태의 키로 적합한 언어에 대한 메시지를 저장하여 사용할 수 있습니다.

Firebase Remote Config를 사용하면 앱의 국제화를 손쉽게 구현할 수 있습니다. 사용자가 앱을 실행할 때마다 언어 설정을 확인하고 해당 언어에 맞는 내용을 동적으로 업데이트하여 다양한 사용자에게 다국어 경험을 제공할 수 있습니다.

참고 자료