Jiwift

[iOS/Swift] 앱 현지화 다국어 지원 이름, 권한 동의, 메뉴 등 현지화를 위한 다국어 작업 본문

iOS Dev/Xcode

[iOS/Swift] 앱 현지화 다국어 지원 이름, 권한 동의, 메뉴 등 현지화를 위한 다국어 작업

지위프트 2024. 3. 3. 20:51
반응형

Xcode15 iOS 앱 이름, 권한 동의, 메뉴 등 현지화를 위한 다국어 지원

String Catalog

 앱 현지화를 위해서 String Catalog를 사용합니다. 파일을 생성할 때 이름을 정해주기만 하면 Xcode와 앱이 알아서 언어를 설정해 줍니다.

 

생성

 String Catalog 이름은 위와 같이 설정해 주면 됩니다.

 

Localizable: 앱 안에서 사용하는 String Catalog

InfoPlist: 권한 동의나 앱 이름에서 사용하는 String Catalog

 

Localizable 예시

 앱 안에서 사용하기 위한 String Catalog입니다. Key를 사용해서 설정된 언어를 불러옵니다. 

 

self.topTitleLabel.text = String(localized: "Key")

 위와 같이 Key 자리에 미리 설정한 것을 입력해 주면 앱에서 알맞게 출력합니다. 사진을 기준으로 예를 들어보면

 

self.topTitleLabel.text = String(localized: "TwoButtonDeleteRecentLikeTitle")

 이렇게 Key를 입력하면 'topTitleLabel'은 한글 사용자인 경우 "기록 삭제", 영어 사용자인 경우 "Delete"가 표시됩니다. UI가 언어에 맞게 잘 표시되는지 확인을 해주세요.

 

InfoPlist 예시

 InfoPlist String Catalog 예시입니다. 'CFBundleName', 'CFBundleDisplayName'를 통해서 앱 이름을 현지화할 수 있습니다. 사용자 언어에 따라서 설치된 이름이 '복붙태그', 'CopyTag'로 나뉘게 됩니다. 

 

 'NSUserTrackingUsageDescription'를 통해서 추적 허용 알림 문구를 현지화 작업을 해주었습니다.

 

String Catalog 사용하면서 좋은 점

1. Key를 잘 못 입력해도 실행된다. 

- Key를 잘 못 입력해서 실행한 경우 빌드 단계에서 자동으로 String Catalog에 잘 못 입력된 Key가 추가됩니다. 이를 통해 잘못입력한 부분을 찾거나, 현지화 문구를 정해주지 않은 부분을 금방 확인할 수 있습니다. 

 

2. Key를 추가하고 현지화가 되지 않은 것을 쉽게 찾을 수 있다.

 위 사진처럼 현지화가 완료되지 않은 경우 %를 통해서 알려주고 새로 추가된 항목은 'new'라고 알려준다.

반응형