언제든지 현지화된 텍스트와 자산을 가져옵니다.
검증 환경
- 윈도우
-
- 윈도우 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에 지역화 이벤트가 설정되지 않으므로 실행 시 텍스트가 변경되지 않습니다.
버튼을 클릭하면 일본어 텍스트로 전환됩니다. 이는 일본어의 현재 로캘이 선택되었기 때문입니다.
화면 오른쪽 상단의 로캘을 변경한 다음 버튼을 클릭해 보십시오. 대상 로캘의 텍스트로 변경되어야 합니다.