728x90
SMALL
게임을 출시하면 여러나라 각국에 출시하게 될 것이다.
그 나라에서 플레이 하려면 그 나라에 맞는 언어를 제공해주어야 할 것이다.
언어를 변경했을 때 각 나라에 맞는 언어를 보여줄 수 있도록 다국어화를 해보자.
구글 스프레드 시트에서 각 나라에 언어를 저장한 후 Json데이터로 변환해서
언어를 변경했을 때 해당 데이터를 받아와서 사용하자.
동작 흐름
- OptionPopup에서 드롭다운 선택으로 언어 변경.
- OnLanguageChange()에서 언어 인덱스를 PlayerPrefs에 저장.
- LanguageManager.LoadLanguage()를 호출하여 JSON 데이터 로딩.
- currentLanguageData 딕셔너리 생성 및 UI 텍스트 업데이트.
1. 옵션팝업 생성
2. OptionPopup.Cs 생성 후 수정
3. 시트 작성
아래와 같이 한국어, 영어, 일본어를 작성해 주었다.
확장 프로그램 -> Export Sheet Data -> Open SideBar 선택
설정
![]() |
![]() |
![]() |
해당 설정을 한뒤 Visualize 누르기
4. Json Data들 복사해서 text_language.json파일에 붙여넣어주기
5. LanguageManager.cs 생성 및 수정
6. LanguageManager 생성 및 할당
❗️주의❗️
해당 텍스트들의 이름은 Json의 ID값 으로 설정되어야한다.
7. 시작시에 저장되어있던 언어가 작동할 수 있도록 저장된 언어 불러오기
결과
‼️ 문제점 ‼️
1. GameObject.name을 기준으로 매칭
- 현재 문제점: UI 텍스트 매칭 기준이 textElement.gameObject.name이기 때문에, 오브젝트 이름 변경 시 언어 데이터 매칭 실패.
2. LoadLanguage() 호출 시 파일 I/O 성능 저하
- 현재 문제점: 매번 언어 변경 시마다 JSON 파일을 파일 경로로 직접 읽어오는 방식이라 성능 저하 및 모바일 환경에서 문제 발생 가능.
728x90
'기능구현 > 아웃게임' 카테고리의 다른 글
[UI] - 다국어화(Localization) (0) | 2025.04.03 |
---|---|
[UI] - 다국어화(Json) - 2 (0) | 2025.04.01 |
[UI] - 화면 비율 대응(모바일 환경) (0) | 2025.03.17 |
[UI] - 버튼 연속 누르기 (0) | 2025.03.06 |
[UI] - 닉네임 생성(금칙어 적용) - 구글 시트 txt파일로 받아오기 (0) | 2025.02.20 |