코드 및 공부/데이터 관리

로컬라이제이션 패키지를 이용한 다양한 언어 설정 (다국어 시스템)

ekrxjvpvj0110 2025. 2. 5. 15:06

유니티 버전 - 6000.0.34f1

 

 

 

 

 

목차


  • Localization
  • Localization Table
  • Localization String Event

 

 

 

 

 

Localization


Localization이란, 여러 언어를 지원해야하는 게임을 만들때 좀 더 쉽게 구현 및 관리가 가능하도록 도와주는 유니티에서 제공하는 패키지입니다

 

Pakage Manager -> Unity Registry -> Localization 설치

 

 

 

 

 

Localization Table


Window -> Asset Managerment -> Localization Tables 클릭

 

 

 

New Table Collection -> Locale Generator 선택

 

 

 

지원하고자하는 언어를 모두 선택합니다 (검색 가능)

 

 

 

 

모두 선택하였다면 Create를 눌러 테이블 생성 합니다

 

 

 

생성되는 에셋들을 한곳에 모아두어 관리해줍니다

 

 

 

Key 값은 나중에 언어 선택에 따라 변경되어야할 텍스트들을 구분하는 역할을 합니다, 우측은 각 언어별 표시해줄 텍스트를 기입합니다, New Entry를 클릭하여 더 추가할 수 있습니다

 

 

 

 

 

 

Localization String Event


언어 설정에 따라 변경되어야할 텍스트 객체에 Localize String Evnet 컴포넌트를 추가합니다

 

 

 

그전에 Preferences에서 해당 옵션을 비활성화하거나 활성화 해주어야하는데 여부에 따라 아래 ui가 변경됩니다

 

 

 

취향에 맞게 설정하시면 되는 부분입니다

활성화
비활성화

 

 

 

완료하였다면 텍스트 오브젝트의 인스펙터에서  Key에 맞게 선택하여줍니다

 

 

 

None (Object)에 동일 오브젝트의 TMP 혹은 Text를 넣고 text 옵션을 선택하여줍니다

 

 

 

테스트용 버튼을 만들고 스크립트를 작성합니다

public class TitleOption : PopupUI
{
    public void OnSetLocalizationSetting(int index)
    {
        LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[index];
    }
}

 

 

 

각 버튼에 인덱스를 할당하여 줍니다

 

 

 

실행결과입니다, 각 버튼을 클릭할때 미리 설정한 텍스트로 잘 바뀌는것을 확인할 수 있습니다, 폰트가 없어서 영어로 바꾸어서 테스트 했습니다