오래간만에 유니티로 제작한 앱을 업데이트하고 있다. 정말 오래간만에 업데이트를 하다보니 고려할 부분이 많이 보이는데, 오늘은 그중에서 “지역화 – Localization” 에 대한 팁을 공유하려 한다.
흔히 지역화라고 하면, 앱 이름이나 언어들이 기기의 사용 언어에 맞춰서 자동으로 나오는 기능을 말하는데, 과거에는 이를 구현하기 위해서 써드파티 어셋이나 플러그인을 사용해야 했다면, 이젠 유니티 기본 패키지로 제공을 하고 있다.
아래와 같이 패키지 매니저를 통해서 설치가 가능하다.
설치가 되면 하단과 같이 Windows -> Asset Management -> Localization 항목에서 해당 내용들을 살펴 볼 수 있다.
아직 이 패키지를 많이 살펴본 것은 아니지만, 간단하게 앱 이름을 변경할 수 있는 것을 살펴보았다.
아래와 같이 Localization Tables 에서 테이블을 제작하고 주 언어로 en( English ) 를 선택하고 보조 언어로 ko-KR , 남한을 선택해주었다. 내가 서비스하는 순순 촛불 앱은 대부분 해외에서 다운로드가 나오기 때문에, 기본 언어로는 영어를 선택했다.
그리고 각 언어에 맞는 이름을 설정해준다.
그러면 위 과정에서 해당 Localization Table 파일을 유니티 프로젝트 폴더에 저장하게 되는데, 그렇게 저장이 되면 같이 Localization Settings이 생성 되고 해당 파일을 선택하면 유니티의 인스펙터를 통해서 세부 설정 값을 살펴 볼 수 있다.
그러면 하단과 같이 주 언어가 영어로 되어 있는 것을 확인할 수 있고, 부 언어로 한국어가 되어 있는 것을 알 수 있다. ( 해당 내용의 순서를 바꾸면 주/부 언어가 바뀌는 듯 )
그리고 우측 하단의 Metadata 의 ” + ” 버튼을 눌러주면 앱 정보에 대한 부분을 엑세스 할 수 있게 된다.
아래와 같이 ” + ” 버튼을 누르고 Android -> App Info 를 클릭하자.
그러면 하단과 같이 Android App Info 가 추가되게 되고, 그중에서 Display Name 을 선택해보면 위에서 Table 에 만들어준 app_name 키 값이 보이게 된다. 그리고 그걸 선택해주면 아래와 같이 적용이 되는 것을 볼 수 있다.
그리고 이제 빌드를 해보면 기기 언어에 따라서 앱 이름이 올바르게 표현 되는 것을 볼 수 있다.
참고로, 이 작업은 유니티의 리소스 관리 기능인 어드레서블이 사용되는 듯하다. 최초 빌드시에 해당 경고 문구가 나온다는 점을 참조하길 바란다.
또한, 정확하게 아직 용도는 잘 모르겠지만, 테이블 및 키 값을 생성할 때 체크할 수 있는 “Smart” 를 체크하면 빌드를 하다가 에러가 난다. 에러 내용을 보면 Smart 기능은 앱 이름으로 사용할 수 없다는 내용으로 보인다.
이 로컬라이제이션 기능은 앱 이름 뿐만 아니라 전체적인 변수 등을 활용할 때도 적극 사용할 수 있는 기능이기 때문에, 잘 활용하면 참 좋을 것 같다.