회사에서 글로벌 앱 서비스를 준비중인데 QA중
폰 언어설정을 영어로 해서 QA중인데, 권한요청 팝업에서는 한글 문구가 나온다고 수정요청을 받았다.
ReactNative로 작업했고 다른 언어문구는 따로 json 파일을 만들어 관리를 하고 있었기 때문에
권한요청까지는 생각하지 못했던 부분이었다..
iOS 권한 팝업의 안내문구를 영어권이나 각 나라에 맞게 localization 하려면 어떻게 해야할까?
1. 우선 Xcode를 실행 시킨 후, InfoPlist. strings파일을 만든다.
아래로 조금 스크롤 하다보면 "Resource" 카테고리에 <StringsFile> 아이콘이 보인다. 클릭!
파일 이름은 꼭 InfoPlist로 지정해야 한다. 그렇지 않으면 이 파일을 인식 하지 못한다.
나는 파일명을 직관적으로 해보겠다고, "Localization.strings"라고 이름붙였다가 한참을 삽질을 했다는 후문...
그럼 이렇게 파일이 열린다. 여기서 우측에 Inspector영역을 보면 "Localize..."라는 버튼이 보일 것이다.
그걸 클릭한다.
그리고 번역할 언어를 선택한다. 나는 일단 먼저 English 선택하였다.
다음으로는 PROJECT - Info 로 넘어가서 Localizations를 찾는다.
여기서 Localizations에서 + 버튼을 클릭한다.
그럼 언어리스트가 쭉 나오고, 내가 로컬화 시키고싶은 언어를 선택하면,
Choose files and reference language to create ~~~ localization.
해당 언어를 로컬화 할 참조파일을 선택하라고 나온다.
거기서 InfoPlist.strings를 선택한다.
로컬화 시킬 언어를 추가하면 좌측 Finder에서 위와같이 InfoPlist 하위로 각파일들이 생성되는 것을 확인할 수 있다.
그 .strings 파일들을 열어서 이제 권한팝업에 사용되었던 문구들을 정리하기만 하면 된다.
작성하는 방법은,
Info.plist를 source code 모드로 열어보면, 아마 다들 각자 사용한 권한에 대한 key 문구들이 있을 것이다.
"Key" = "로컬화 시킨 권한 안내 문구";
ex1) Korean 언어로 현지화
"NSCameraUsageDescription" = "너새의 개발노트가 프로필 설정을 위해 카메라에 접근하도록 허용하시겠습니까?";
ex2) English 언어로 현지화
"NSCameraUsageDescription" = "Do you want to allow Nose's DevNote to access the camera for profile settings?";
이런식으로 저장 시키면 된다.