Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스마트포인터
- dataasset
- UELOG
- 크리티컬섹션
- C++
- moreeffectiveC++
- 알고리즘
- map
- 약참조
- 언리얼가비지컬렉터
- 델리게이트
- stl
- C++최적화
- 자료구조
- UML관련
- 데이터애셋
- BFS
- 정렬알고리즘
- UE4 커스텀로그
- unorder_map
- 구조적 바인딩
- 람다사용정렬
- 람다
- 강참조
- 선택정렬
- enumasByue
- UE_LOG
- 프로그래머스
- 애셋로드
- 정렬
Archives
- Today
- Total
기억을 위한 기록들
[UE] 모바일 App Name다국어 대응: Android와 iOS의 Info 및 문자열 현지화(localization) 방법 본문
UnrealEngine
[UE] 모바일 App Name다국어 대응: Android와 iOS의 Info 및 문자열 현지화(localization) 방법
에드윈H 2025. 5. 15. 23:35
언리얼엔진에서 모바일 앱들에 대해 앱 이름을 지정해줄 수 있다. 하지만, 추가로 모바일 기기 자체에 설정된 언어에 따라 앱 이름이 현지화 적용되어 필요한 경우도 있다. 그 방법을 살펴보자.
Android - strings.xml로 다국어 처리하기
1. 경로: "프로젝트/Build/Android/res/"
이곳은 Android 리소스가 들어가는 위치로 해당 경로에 추가해줘야한다.
2. 국가별 폴더 생성
아래와 같은 형식으로 언어별 폴더를 생성한다
- 한국어: values-ko
- 영어: values-en
- 일본어: values-ja
- 베트남어: values-vi
- 중국어 간체 : zh-rCN
- 중국어 번처 : zh-tTW
등등..
3. 각 폴더에 strings.xml 생성
예시: values-en/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MyGame</string>
</resources>
예시: values-ko/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">나의게임</string>
</resources>
이렇게 파일 2개를 생성해 놓으면 해당 앱은 안드로이드에서 설치 시 기기 언어 변경 시 언어에 맞게 이름이 변경된다.
app_name은 빌드 시 생성되는 AndroidManifest.xml에서 앱 이름으로 자동 참조됩니다.
iOS - InfoPlist.strings를 이용한 다국어 처리
Unreal Engine에서는 기본적으로 Info.plist는 정적 파일이지만, 다국어를 대응하기 위해 다음과 같은 방식으로 처리할 수 있다.
iOS는 안드로이드와 다르게 앱 이름 말고 그 외에 필요한 정보들에 대해서도 다국어 대응이 가능하다.(ex. ATT 알림 메시지, 카메라 권한 메시지 등등)
🔗 Epic 공식 문서 참고:
Info.plist 및 NSLocalizedString 현지화 가이드
1. 언어별. lproj 폴더 생성
- 한국어: ko.lproj
- 영어: en.lproj
- 일본어: ja.lproj
- 중국어 간체: zh-Hans.lproj
- 중국어 번체: zh-Hant.lpoj
등등..
이 폴더들을 "내 프로젝트/Build/IOS/Localizations/" 아래에 생성한다. 3개의 국가 이외에도 필요한 국가 코드와 폴더를 생성한다.
2. 각 폴더에 InfoPlist.strings 파일 작성
예시: ko.lproj/InfoPlist.strings
"CFBundleName" = "나의 게임";
"NSUserTrackingUsageDescription" = " 광고 맞춤화를 위해 앱 추적을 허용해 주세요.";
"NSCameraUsageDescription" = "게임 내 이미지 공유 기능을 위해 카메라 접근이 필요합니다.";
iOS는 런타임에 InfoPlist.strings에서 해당 언어에 맞는 값을 자동으로 불러옵니다.
'UnrealEngine' 카테고리의 다른 글
[UE] 안드로이드 라이브러리와 UPL에 관하여 (3) | 2024.09.18 |
---|---|
[Enhanced Input System] Lyra 프로젝트의 향상된 입력시스템 프레임워크 살펴보기 (2) | 2024.05.27 |
[Unreal] CDO에 관하여 (0) | 2024.04.19 |
[UE] 언리얼에서의 네트워킹 과 리플리케이트 / 리플리케이션에 관하여 (0) | 2024.04.02 |
[Game Ability System] #4. GameplayEffect 에 관해 (0) | 2024.02.14 |