How-to: Localization, string, assets and UI Builder – Part 1
- Unity의 Localization 패키지를 사용하여 프로젝트 설정에서 로컬라이제이션 설정을 생성하고 관리합니다. ⚙️
- '로케일(Locale)'은 단순한 언어를 넘어 지역(예: 프랑스어 캐나다)을 포함하여 특정 방언이나 문화적 뉘앙스를 지원할 수 있습니다. 🌍
- 게임이 지원할 언어 및 지역을 추가할 수 있으며, 각 로케일은 고유한 이름, ISO 표준 코드, 그리고 통화, 날짜, 시간 등 문화별 서식 정보를 포함하는 에셋으로 관리됩니다. 🏷️
- 애플리케이션 시작 시 언어를 결정하는 로케일 셀렉터(Locale Selector)는 명령줄, 시스템 로케일, 특정 로케일, 플레이어 환경설정 등 다양한 방법을 순서대로 시도합니다. 🚀
- 시스템 로케일 셀렉터는 iOS/Android의 앱별 선호 언어, 운영체제 언어를 확인하며, 프랑스어 캐나다에서 일반 프랑스어로 폴백(fallback)하는 등 언어 간 관계를 활용합니다. 🔄
- UI Builder를 통해 UI 요소(텍스트, 폰트, 이미지 등)를 로컬라이즈할 수 있으며, 'Localization Tables'에서 문자열 테이블과 에셋 테이블을 생성하여 번역 및 에셋을 관리합니다. 📊
- UI Label의 텍스트를 'Localized String' 바인딩으로 연결하고, 폰트를 'Localized Font' 바인딩으로, 배경 이미지를 'Localized Texture' 바인딩으로 연결하여 언어에 따라 동적으로 변경할 수 있습니다. 🔗
- UI Builder의 'Scene Controls' 패널을 사용하여 빌더 내에서 실시간으로 다양한 언어의 UI를 미리 볼 수 있어 개발 효율성을 높입니다. 👁️
- 로컬라이제이션 시스템은 Unity의 Addressable Asset System과 통합되어, 언어 팩을 서버에서 동적으로 로드하거나 게임 출시 후 업데이트하는 등 유연한 콘텐츠 배포를 가능하게 합니다. 📦
- 여러 UI 요소가 동일한 로컬라이즈된 에셋을 사용하는 경우, '데이터 소스(Data Source)'를 활용하여 단일 바인딩으로 성능을 최적화하고 관리를 용이하게 할 수 있습니다. 💡
데브허브 | DEVHUB | How-to: Localization, string, assets and UI Builder – Part 1