11. Localization
왜 필요한가
Unity Localization Package를 직접 다루면 언어 전환, 누락 번역 검출이 프로젝트마다 흩어진다.
언제 사용하는가
UI 텍스트/에셋을 언어별로 다르게 보여줘야 할 때.
프로젝트에서 어떤 역할인가
GetString/GetStringOrEmpty로 문자열을 조회하고 ChangeLanguageAsync로 언어를 전환한다. CheckMissingTranslations로 누락을 검사한다.
실제 게임에서는 언제 호출되는가
앱 시작 시 SelectSystemLocaleAsync로 기본 언어 결정, 설정 화면에서 언어 변경 시.
코드 예제
[Inject] private ILocalizationSystem _loc;
string text = _loc.GetString("UI_Start");
await _loc.ChangeLanguageAsync("ko");
관련 Sample
Samples/Localization/LocalizationSystemSample.cs
Best Practice
언어 변경 후 UI를 갱신해야 하는 화면은 OnLanguageChanged 이벤트를 구독한다.
자주 하는 실수
- 텍스트를 하드코딩하고 Localization을 거치지 않음
- 릴리즈 전
CheckMissingTranslations미실행
실습 과제
- 키 하나를 등록하고 두 언어로 번역해
ChangeLanguageAsync로 전환해본다. CheckMissingTranslations를 실행해 결과를 확인한다.
이전 문서 / 다음 문서
이전: 10_SaveSystem.md 다음: 12_UISystem.md
관련 API
MCP_Index.md Localization 섹션