2014-4-29

UE4 로 현지화가 준비된 게임 만들기 - 텍스트

By * Justin Sargent

언리얼 엔진 4 로 현지화가 준비된 게임을 만드는 것은 다행히도 정말 간단합니다. 한 가지 기본적인 규칙만 따르면 끝입니다.

사용자에게 표시되는 값에 대해서는 String 대신 Text 를 사용하세요.

Text 는 언리얼 엔진 4 에 새로이 도입된 기본 유형으로, 게임의 국제화 및 현지화 관련 부분을 처리해 줌과 동시에 그 모든 것을 간결한 최소한의 패키지에 요약시켜 넣어 줍니다.

블루프린트를 만드는 중이라면 그래프와 오브젝트에 Text 리터럴과 변수를 사용하기만 하면 됩니다. 거기에 입력되는 텍스트는 엔진이 자동으로 찾아 추출하여 번역이 가능하도록 준비해 줍니다.

Variable in Blueprints

프로그래머의 경우, 코드에 표시 텍스트 리터럴을 넣을 때마다 NSLOCTEXT 매크로를 사용해 주거나, 클래스/애셋을 만드는 경우 FText UProperty 를 사용해야 합니다.

FText TestHUDText = NSLOCTEXT( "Your Namespace", "Your Key", "Your Text" )

자세한 내용은 이 문서를 참고해 주시기 바랍니다.

끝입니다.

아마도 '와! 정말 간단해 보이는데, 뭔가 함정이 있겠지. 현지화는 힘든 작업인데 말이야.' 라고 생각하실 것입니다. 음, 정말 별로 주의할 점은 없지만, 몇몇 사람들은 Text 와 String 값을 변환하여 이 규칙을 어기려 할 것입니다.

아쉽게도, 그렇게 되면 문제가 생기게 됩니다. String 을 Text 로 변환하면 그 Text 는 문화가 변하지 않는다고, 즉 번역되지 않는다고 간주됩니다. 즉 애초에 표시 텍스트는 Text 값으로 넣어주는 것이 너무나도 중요합니다. Text 를 String 으로 변환하는 것 역시 바람직하지 않습니다. Text 값은 직접 String 에 대한 접근을 도외시하여 실시간 언어 토글과 같은 뛰어난 기능이 가능할 뿐만 아니라 안전한 현지화 작업을 보장해 줍니다.

Text 와 String 사이를 오가며 변환할 이유가 여러가지 있겠지만, 이 작업을 할 때는 특별히 주의하지 않으면 게임 해당 부분에 대한 현지화가 깨지게 됩니다. 약간의 추가적인 처리를 해 주기 위해서 Text 를 String 으로 변환해도 좋은 일반적인 예는 사용자 입력으로, 그 값은 문화가 변하지 않음이 확실하기 때문입니다.

또 한 가지 주의할 점은, 지금까지 현지화 및 국제화 시스템 작업을 하고 있기는 하지만, 엔진 내 모든 API 가 적합한 유형을 사용하도록 변환하지는 못한 상태입니다. 이 부분에 있어 엔진을 개선시켜 나가는 와중에 불편한 부분이 있어도 양해 바라며, 조만간 이에 대해 실전 사례를 안내해 드릴 수 있도록 하겠습니다.

UE4 의 현지화 및 번역에 대해 어찌 생각하시는지 듣고싶습니다. 한글의 경우 네이버 카페, 영문의 경우 저희 포럼에 말씀 남겨주시기 바랍니다!

Recent Posts

리얼타임 기술의 잠재력을 선보인 Theia Interactive의 Harley Davidson AR

증강 현실은 리얼타임 프로젝트 샘플을 통해 비즈니스 고객들을 설득하는 중요한 도구로 자리잡았습니다. Theia Interactive가 ...

2018년 4월 NVIDIA Edge 프로그램 수상자

4월에도 NVIDIA Edge 프로그램에 멋진 작품들이 많이 제출되었으며, 그 중에서 세 개의 작품을 뽑아 수상작으로 선정하였습니다. ...

언리얼 엔진으로 BMW 차량 디자인에 혼합 현실 구현

리얼타임 기술과 VR이 자동차 제조의 새로운 시대를 열고 있는 가운데, 자동차 디자인 분야는 빠르게 변화하고 있습니다. BMW와 MIN...