[swift] Swift에서 로컬 알림의 메시지를 사용자의 로케일에 맞게 설정하는 방법

로컬 알림은 iOS 애플리케이션에서 미리 정의된 시간에 사용자에게 메시지를 보내는 기능입니다. 애플리케이션의 로케일에 맞게 알림 메시지를 표시하는 것은 사용자 경험을 향상시키는 중요한 요소입니다. 이 글에서는 Swift에서 로컬 알림 메시지를 사용자의 로케일에 맞게 설정하는 방법을 알아보겠습니다.

1. 프로젝트 설정 변경하기

먼저, 프로젝트 설정을 변경하여 앱이 사용자의 로케일 설정을 따르도록 해야 합니다. 프로젝트 네비게이터에서 Info.plist 파일을 열고, Localizations 섹션에서 EnglishKorean과 같은 로케일을 추가합니다.

2. Localizable.strings 파일 생성하기

이제 로컬 알림에 사용될 각각의 메시지를 관리하기 위해 Localizable.strings 파일을 생성해야 합니다. 이 파일은 알림 메시지의 다국어 버전을 정의하는 텍스트 파일입니다.

3. 알림 메시지 작성하기

다양한 로케일에 대한 알림 메시지를 작성하기 위해 Localizable.strings 파일 내에 키-값 쌍을 추가합니다. 예를 들어, 다음과 같이 한국어와 영어에 대한 알림 메시지를 정의할 수 있습니다:

/* Localizable.strings (Korean) */
"notification_message" = "알림이 도착했습니다.";

/* Localizable.strings (English) */
"notification_message" = "You have a new notification.";

4. 알림 메시지 로드하기

이제 알림 메시지를 로드하여 사용자의 로케일에 맞게 설정할 차례입니다. 먼저, 알림을 생성하기 전에 사용자의 로케일을 가져와야 합니다. 이를 위해 다음 코드를 사용할 수 있습니다:

let currentLocale = NSLocale.current.identifier

다음으로, 사용자의 로케일에 따라 Localizable.strings 파일에서 알림 메시지를 로드하는 코드를 작성합니다:

let notificationMessageKey = "notification_message"
let notificationMessage = NSLocalizedString(notificationMessageKey, comment: "")

let content = UNMutableNotificationContent()
content.body = notificationMessage

이제 content.body 속성에는 사용자의 로케일에 따라 다른 알림 메시지가 설정됩니다.

5. 로컬 알림 생성하기

마지막으로, 로컬 알림을 생성할 수 있습니다. UNNotificationRequest를 사용하여 알림을 생성하고, UNUserNotificationCenter를 사용하여 알림을 예약하는 방법에 대해서는 공식 문서를 참조하시기 바랍니다.

참고 자료