Localization String Event Hierarchy
Localization String Event 에 있는 Key 와 해당 Text를 노출하는 것을 테스트 했다.
다국어에 대한 처리를 하는 과정에서 매번 해당 값이 셋팅 됬는지 확인하기 굉장히 어렵기 때문이다.
그래서 바로 Key와 Text를 확인할수 있도록
EditorApplication.hierarchyWindowItemOnGUI 를 통해서 노출되도록 처리했다.
반응형
영어와 한글로만 테스트했다.
<Localization Setting>
<Localization Tables>
<Key 1>
<Key 2>
Localization Scene Controls | Hierarchy |
<Code>
//key
var localizeStringEvent = (obj as GameObject).GetComponent<LocalizeStringEvent>();
if (localizeStringEvent == null)
return;
string keyString = string.Empty;
string message = string.Empty;
switch (localizationType)
{
case ShowLocalizationType.Key:
{
//임시 처리
var name = ((LocalizedReference)(localizeStringEvent.StringReference)).ToString();
var token = name.Split('-');
keyString = token[token.Length - 1];
if (string.IsNullOrEmpty(keyString))
message = "[Localize String Key 값이 없습니다.]";
else
{
//괄호 하나 끊어줘야함
message = keyString.Substring(0, keyString.Length - 1);
}
}
break;
case ShowLocalizationType.String:
{
keyString = localizeStringEvent.StringReference.GetLocalizedString();
if (string.IsNullOrEmpty(keyString))
message = "[Localize String Value 값이 없습니다.]";
else
message = keyString;
}
break;
}
if (string.IsNullOrEmpty(message))
return;
GUI.Label(selectionRect, new GUIContent($"{message}"), GUIStyleLocalization);
굉장히 많은 Hierarchy 중에서도 바로 한눈에 보여서 편리하다.
Unity Localization - LocalizeStringEvent : [링크]
★☆☆☆☆
반응형
댓글