언제든지 로캘 변경
검증 환경
- 윈도우
-
- 윈도우 11
- Unity 에디터
-
- 2021.3.12f1
- 입력 시스템(Unity Technologies)
-
- 1.4.3
- 현지화(Unity Technologies)
-
- 1.3.2
이 팁의 전제 조건
이 팁에 대한 설명의 전제로 다음 설정이 미리 이루어졌습니다.
전제 조건 지식 및 준비
이 팁은 다음 텍스트의 지역화를 가정합니다. 먼저 다음 팁을 참조하여 현지화된 텍스트를 표시할 준비를 하십시오.
로캘 변경을 위한 단추 배치
유니티 에디터에서 실행하면 화면 우측 상단에서 로케일을 변경할 수 있지만, 게임을 빌드한 후에는 해당 기능이 없어서 직접 준비해야 합니다. 이번에는 "일본어 (ja)", "영어 (en)", "스페인어 (es)"의 3 개 언어 사이를 전환하는 버튼을 배치하고 클릭하여 전환합니다.
단추에 대한 스크립팅
단추를 클릭할 때 대상 메서드가 호출되는지 확인합니다. 이것은 범용 절차이므로 자세한 내용은 생략하겠습니다. 자세한 지침은 다음 팁을 참조하십시오.
ButtonEvent
라는 이름의 스크립트를 만듭니다.
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
}
}
각 메서드를 단추 클릭에 할당합니다.
로캘 변경 처리
코드를 다음과 같이 수정합니다.
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
}
}
변경 자체는 간단 LocalizationSettings.SelectedLocale
하며 속성에서 대상을 Locale
설정하기만 하면 전환할 수 있습니다.
Locale
Locale.CreateLocale
메서드에서 로캘의 이름을 설정하여 만들 수 있습니다.
그러나 로캘 변경 프로세스는 비동기적이므로LocalizationSettings.SelectedLocale
다음에 설정하는 프로세스가 로캘이 이미 완전히 전환되었음을 의미하지는 않습니다.
로캘 종속 작업을 수행하는 경우 주의해야 합니다.
실행 및 확인
이것이 전부이므로 실행하고 움직임을 확인하십시오. 게임 화면의 오른쪽 상단에서 로케일을 변경할 때와 같은 방식으로 다양한 리소스가 동적으로 전환되는 것을 볼 수 있습니다.