https://youtu.be/uyxUp6-WQmo?si=WRQD8yvMh1Y0tfff
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/localization-overview-for-unreal-engine
Unreal Engine 로컬라이제이션(Localization) 시스템 개요 및 Dashboard 사용법
Localization Dashboard 사용법
- Gather – 프로젝트에서 번역할 텍스트를 수집
- Translate – .po 파일을 이용해 번역
- Compile – 번역된 파일을 게임에 적용하기 위해 컴파일
✅ 1. Localization Dashboard 열기
- 상단 메뉴에서 Window → Localization Dashboard 선택
- 혹은 Editor Preferences → Experimental → Localization 활성화
✅ 2. 새 Localization Target 생성
- Add New Target 클릭 → 예: Game, UI 등
- 각 Target은 별도의 번역 단위 (게임 본편, UI 등)로 관리 가능
✅ 3. Gather 설정
- Gather from Packages 체크
- Include Paths에 번역할 경로 추가 (예: /Game/Dialogues/)
- .uasset, .umap 등 번역 가능한 파일 확장자 등록
💡 String Table을 사용하는 경우, String Table 경로도 추가해야 텍스트가 수집됨.
✅ 4. 언어 추가 및 Native 설정
- Add New Culture 버튼으로 지원할 언어 추가 (예: en, ko)
- Native Culture는 원본 언어 (보통 ko 또는 en)로 설정
✅ 5. Gather Text 실행
- 하단의 🧹 Gather Text 클릭
- 번역 대상 텍스트 수집
- Translation Editor에서 원문을 확인 가능
✅ 6. .po 파일로 번역
- Export to .PO → 외부 툴(Poedit 등)에서 번역
- Import from .PO → 번역 결과를 Unreal로 다시 불러오기
✅ 7. Compile Text 실행
- 번역 결과를 .locres로 컴파일해 실제 게임에서 적용 가능하게 만듦
✅ 8. 문화권 전환 (런타임에서 적용)
FInternationalization::Get().SetCurrentCulture("en");
또는 Blueprint에서 Set Current Culture 노드 사용.
⚠️ 자주 발생하는 문제와 해결 팁
문제원인해결
| 번역이 안 나옴 | msgctxt 누락 | .po에 Namespace.Key 형태의 msgctxt 포함 |
| 번역 적용 안 됨 | Compile Text 미실행 | Dashboard에서 컴파일 필요 |
| 텍스트 자동으로 안 바뀜 | 문화권 전환 누락 | 게임 시작 시 SetCurrentCulture() 호출 필요 |
| String Table이 번역 안됨 | .po로 번역 불가 | String Table 에디터에서 직접 번역 |