Table of Contents

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 미실행

실습 과제

  1. 키 하나를 등록하고 두 언어로 번역해 ChangeLanguageAsync로 전환해본다.
  2. CheckMissingTranslations를 실행해 결과를 확인한다.

이전 문서 / 다음 문서

이전: 10_SaveSystem.md 다음: 12_UISystem.md

관련 API

MCP_Index.md Localization 섹션