[swift] Swift SkeletonView 다국어 지원
프로그래밍 언어: Swift
SkeletonView는 앱의 로딩 상황을 시각적으로 보여주는 라이브러리입니다. 그러나 기본적으로 영어로 제공되는데, 이를 다국어로 지원하는 방법을 알아보겠습니다.
다국어 파일 추가
- 프로젝트 내에
Localizable.strings
파일을 추가합니다. - 다국어 파일을 추가하기 위해
Project settings
로 이동합니다. Localizations
섹션에서 원하는 언어를 추가합니다.- 추가한 언어에 대한
Localizable.strings
파일을 생성합니다.
SkeletonView의 다국어 처리
-
Localizable.strings
파일을 열고 SkeletonView에서 사용되는 텍스트를 지정합니다./* Localized strings for SkeletonView */ "loadingText" = "로딩 중..."; "retryText" = "재시도"; /* Add other SkeletonView strings as necessary */
-
SkeletonView가 사용되는 화면에서 해당 텍스트를 로드하고 설정합니다.
// 다국어 문자열 가져오기 let loadingText = NSLocalizedString("loadingText", comment: "") let retryText = NSLocalizedString("retryText", comment: "") // SkeletonView 사용 예시 let skeletonView = UIView() skeletonView.showSkeletonAnimation(text: loadingText, detailText: retryText) // Add other SkeletonView strings as necessary
언어 변경을 통한 텍스트 업데이트
-
언어 변경 시, 해당 화면에서 SkeletonView의 텍스트를 업데이트 하도록 합니다.
override func viewDidLoad() { super.viewDidLoad() NotificationCenter.default.addObserver(self, selector: #selector(languageDidChanged), name: NSLocale.currentLocaleDidChangeNotification, object: nil) } @objc func languageDidChanged() { guard let loadingText = NSLocalizedString("loadingText", comment: "") else { return } guard let retryText = NSLocalizedString("retryText", comment: "") else { return } skeletonView.updateText(text: loadingText, detailText: retryText) // Update other SkeletonView strings as necessary } deinit { NotificationCenter.default.removeObserver(self) }