

LocalizationSettings.AvailableLocales.Locales[index]using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
public void UserLocalization(int index) {
LocalizationSettings.SelectedLocale =
LocalizationSettings.AvailableLocales.Locales[index];
}
아래와 같이 아이템의 데이터가 다음과 같다면 Item 테이블을 만든 다음 Key 값으로 ItemName을 넣어줌
public class Item : ScriptableObject {
public string itemID;
public string itemName;
public Sprite itemImage;
}

이후, 'LocalizeItem' 스크립트 생성후 다음과 같이 코드 작성
-> string tableName : 바로 위에서 만들어 두었던 Item 내용의 번역이 들어가 있는 Table명
-> Item itemValue : Table에서 key 값으로 사용될 itemName을 받음
-> 입력받은 Table 명과 Table의 key 값을 찾아 Localize String Event의 String Reference에 적용시켜 줌
using UnityEngine;
using UnityEngine.Localization.Components;
public class LocalizeItem : MonoBehaviour {
public void LocalizeTextString(string tableName, Item itemValue) {
GetComponent<LocalizeStringEvent>().StringReference
.SetReference(tableName, itemValue.itemName);
}
}
Item과 관련된 스크립트에서 위에서 작성한 스크립트의 함수를 가져와 적용시켜줌
public class ItemCard : MonoBehaviour {
[Header("Localize Text")]
public LocalizeItem localizeTitle;
Item item;
void Start() {
localizeTitle.LocalizeTextString("Item", item.itemName);
}
}
참고 링크 :