-
로컬라이징(Localization, Localizable) 적용하기 / info.plist/iOS 📱 2022. 8. 21. 23:53반응형
안녕하세요 Rx입니다😊
오늘은 한글 하드코딩을 피하고 다국어 지원을 위한 현지화에 대해서 포스팅하겠습니다.
로컬라이징이 뭔데 ?
현지화는 글로벌화 (Globalization)와 대비되는 개념으로, 글로벌화가 세계공통의 표준화를 노리는 전략이라면 현지화는 현지의 문화적, 정치적, 사회적 특성에 맞춘 특화에 초점을 맞춘다고 할 수 있다. -나무위키-
나무위키에서는 위와 같이 설명하고 있습니다.
아이폰에서 한국어 이외의 언어로 변경하였을 때 앱에서 영어가 나온 것을 볼 수 있습니다.
여러분들도 어떤 앱이 어떻게 로컬라이징을 하고있는지 한번 찾아보세요 !!
이제 본격적으로 info.plist 에 로컬라이징을 적용해보겠습니다 !! 고고 !!
info.plist
카메라 사용 권한을 얻기 위해 info.plist에 Privacy - Camera Usage Description 에 '카메라 사용'이라고 기입 했습니다.
근데 info.plist 에 한글이 적혀있는게 마음에 들지않습니다.
로컬라이징을 위한 InfoPlist 파일 생성
파일 추가하는 법 !!
더보기1. 메뉴 네비게이터에서 파일 추가하기
2. 프로젝트 혹은 폴더에 바로 추가하기 (단축키는 커맨드 + N)
New File을 통해서 String File을 추가해줍니다
일반적인 로컬라이징 할 때와 동일합니다
우측 파일 인스펙터 창에서 Localiztion - Localize 버튼을 눌러줍니다.
프로젝트 설정의 info - Localization - + 를 통해 추가해줄 수 있습니다.
저는 영어와 한국어를 선택하겠습니다 !
InfoPlist.strings에 꼭 체크해주셔야합니다 !!
생성한 InfoPlist.strings 파일에 아래와 같이 추가해줍니다
info.plist 파일 Privacy - Camera Usage Description의 Value을 추가해줍니다 !
추가한 후에 설정 앱 -> 일반 -> 언어 및 지역에서 언어를 English와 한국어로 바꾼 뒤에 각각 확인해보았습니다.
로컬라이징이 되었습니다 !! 어려운건 없었죠 ??
우리 앱은 다국어 지원 안할건데 꼭 해야하나요 ?
서론을 보자면 이런 생각이 들기도합니다.
귀찮아보이는데 다국어 지원을 꼭 해야할까 ?아래의 KT 지니뮤직 앱을 보시면 다국어 지원 (English)을 하지않고있습니다.
짧은 사견이지만, 여러 앱들을 보면서 정리한 대답은 '꼭 해야만하는 것은 아니다 !' 였습니다.다국어를 지원 여부 이유는 서비스, 이용대상 등 여러가지를 고려해야하기 때문에
'~~ 이유로 했다/하지않았다'라고 말하기 어려울 것 같습니다.
하지만, 다국어를 지원 하지않는 앱이라고해서 소스코드에 Stiring 값이 한글로 하드코딩이 되어있다고는 생각하지않습니다..!
* 하드코딩이란 ? 하드코딩은 상수나 변수에 들어가는 값을 소스코드에 직접 쓰는 방식을 말합니다.
지니뮤직 앱을 예로 들어보자면, 모든 앱에서 음악이라는 String을 뮤직으로 바꿔달라고 요청이 들어온다면 되게 곤란할 것입니다.
let music = "음악"
확장성과 유지보수의 용이하게 할 수 있습니다.
' > iOS 📱' 카테고리의 다른 글
[CoreNFC] NFC 읽고 시리얼 넘버(UID) 구하기 (0) 2022.08.31 [Firebase] Crashlytics 에서 .dSYM 파일 수동 추가하기 (0) 2022.08.25 [iOS] 화면 스크린샷 방지 기능 개발에 대한 회고 (0) 2022.07.06 [iOS] 디바이스의 정보를 알아보자 UIDevice - UUID (1) (0) 2022.05.14 [iOS] 동적 테이블 뷰 셀(UITableView Dynamic cell height) 만들기 (estimatedRowHeight, autoDimension) (0) 2022.05.01