i18n 국제화 / l10n 현지화
국제화는 문화에 가깝고(시간대, 화폐 단위, right to left 등의 차이), 현지화/지역화는 언어에 가까움
방법 : plist, string file, 스토리보드 등으로 대응이 가능한데, 보통 string으로 대응하는 방식이 자주 쓰임
1. 스보기반
프로젝트 - info - localization
Base : 보통 영어로 대응
스토리보드에 있는 정적인 라벨 등의 내용도 바꾼다.
어떤 언어를 기본으로 보여줄 건지 결정할 수 있다. 예를 들어, 이탈리아에서 영어를 기본으로 등..
추가하면 스보에 여러개의 파일이 생긴다.
ObjectId를 기반으로 대응해줄 수 있다.
단점은, 스보에서 버튼을 하나 더 추가하면 ObjectId가 생성이 되지만, 기존 등록된 객체들만 다국어 대응이 되어서
추가를 따로 해줘야 하기에 많이 쓰는 방법은 아니다.
2. string file로 가능
Localizable의 각 파일에 언어에 맞게 작성해준다. key-value 형식
NSLocalizedString을 통해 대응해준다.
Product - Scheme - EditScheme - Options - Language에서 설정하면 기기에서 하나하나 언어 바꾸지 않아도 확인 가능
해당 기능은 엑코 자체에서 빌드 시 언어 설정 테스트해보는 것임
앱아이콘 이름이 언어에 따라 바꾸게 설정되고 싶을 때
plist에 들어가는 항목들도 다국어 대응을 하겠다!
key값은 info.plist를 xml 형식일 때 알 수 있다.
만약 변수에 대해서도 처리해주고 싶다면, String(format: ~)을 통해서 해주면 된다.
String(format: <#T##String#>, <#T##arguments: CVarArg...##CVarArg#> )
리뷰남기기 : 리뷰 얼럿은 1년에 한 디바이스 당 3회 띄운다.
SKStoreReviewController를 통해서 가능
'⭐️ 개발 > iOS & Swift' 카테고리의 다른 글
[iOS] Method Swizzling이 뭔가? (feat. 인스턴스/타입 메소드) (3) | 2022.10.13 |
---|---|
[iOS] Remote Notification (2) | 2022.10.11 |
[iOS] 안간단한 MVVM 안간단하게 톺아보기 (3) | 2022.08.31 |
[iOS] URLSession(1) (0) | 2022.08.30 |
[Swift] Codable (2) | 2022.08.29 |