언제든지 현지화된 텍스트와 자산을 가져옵니다.

페이지 업데이트 :
페이지 생성 날짜 :

검증 환경

윈도우
  • 윈도우 11
Unity 에디터
  • 2021.3.12f1
입력 시스템(Unity Technologies)
  • 1.4.4
현지화(Unity Technologies)
  • 1.3.2

이 팁의 전제 조건

이 팁에 대한 설명의 전제로 다음 설정이 미리 이루어졌습니다.

팁의 목표

버튼을 클릭하면 현지화 테이블의 대상 텍스트가 로딩 화면에 표시됩니다.

전제 조건 지식 및 준비

이 팁은 다음 텍스트의 지역화를 가정합니다. 그러나 모두 구현하지는 않기 때문에 1부터 절차를 여기에 게시하지만 중복 내용은 단순화합니다.

지역화 패키지 설치

절차는 여기에서도 동일합니다.

지역화 만들기

이것은 이전과 동일하므로 이미지 만 게시합니다.

여기에서는 "Scenes" 폴더에 "Localization" 폴더를 만들고 그 안에 만듭니다.

로캘 만들기

이쪽도 이전과 같기 때문에 자세한 절차는 생략하겠습니다. 추가할 로캘은 "일본어(ja)", "영어(en)" 및 "스페인어(es)"입니다.

앞서 언급 한 "Localization"폴더를 지정했습니다.

기본 로캘을 "일본어(ja)"로 둡니다.

텍스트 만들기

테이블 이름을 TextTable 그대로 둡니다.

Localization 폴더 안에 TextTable 폴더를 만들고 지정합니다.

텍스트를 만듭니다. 이번에는 프로그래밍 방식으로 얻는 것이 목적이므로 당분간 등록 할 수 있습니다.

UI 배치

텍스트와 버튼을 배치하고 버튼을 클릭하면 현재 로케일의 텍스트를 표시하고 싶습니다.

스크립트 만들기 및 첨부

스크립트를 만듭니다. ButtonEvent 이름을 그대로 둡니다.

using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private Text Text;

  public void OnClick()
  {
    // Localization から指定したテーブル名とキーからエントリーを取得します
    var entry = LocalizationSettings.StringDatabase.GetTableEntry("TextTable", "Hello").Entry;

    Text.text = entry.Value;
  }
}

버튼을 클릭할 때 발생하는 작업을 입력합니다. 여기서 우리가 하는 일은 한 LocalizationSettings.StringDatabase.GetTableEntry 가지입니다: 메서드에서 현지화에서 생성된 테이블 이름과 키를 지정하여 찾기 세트의 항목을 얻을 수 있습니다. 이번에는 텍스트로 수행하지만 를 사용하여 자산을 얻을 수도 LocalizationSettings.AssetDatabase 있습니다.

항목이 있으면 가지고 있는 가치를 얻기만 하면 됩니다. 내용은 선택한 로캘의 텍스트입니다. 이번에는 동기 처리를 통해 얻을 수 있지만 비동기 메서드를 사용할 수도 있습니다.

EventSystem에 스크립트를 첨부합니다. 텍스트도 설정합니다.

버튼에 클릭 처리를 할당합니다.

실행 및 확인

설정을 마친 후 실행해 보세요. UI에 지역화 이벤트가 설정되지 않으므로 실행 시 텍스트가 변경되지 않습니다.

버튼을 클릭하면 일본어 텍스트로 전환됩니다. 이는 일본어의 현재 로캘이 선택되었기 때문입니다.

화면 오른쪽 상단의 로캘을 변경한 다음 버튼을 클릭해 보십시오. 대상 로캘의 텍스트로 변경되어야 합니다.