언어:
페이지 정보
엔진 버전:
언리얼 엔진

현지화 시스템 개요

언리얼 엔진

프로젝트 현지화에는 몇 가지 핵심 개념이 있습니다:

OverviewDiagram.png

텍스트

텍스트는 현지화의 기본 단위입니다. 텍스트는 네임스페이스, 키, 소스 스트링, 디스플레이 스트링으로 정의됩니다. 종합해서 네임스페이스와 키로 이루어진 고유 id 를 텍스트가 가리키는 방식입니다. 네임스페이스는 동형이의어(문자는 같지만 뜻이 다른 단어)에 다른 id 를 부여하여 다르게 번역할 수 있도록 하는 것입니다. 키는 텍스트에 관련된 특정 컨텍스트를 제공합니다. 소스 스트링은 번역되지 않은 상태의 원본 형태 스트링입니다. 디스플레이 스트링은 표시되는 스트링으로, 보통 소스 스트링의 번역된 형태입니다.

예를 들어, 대화상자가 영어 또는 스페인어로 나타날 수 있습니다. 대화상자에 메시지, "Ok" 버튼, "Cancel" 버튼이 있을 수 있습니다. 세 텍스트 조각 모두 "MyProject" 네임스페이스를 사용할 수 있습니다. 메시지 텍스트는 "MyMessage" 라는 키, "Ok" 텍스트는 "DialogBox.AffirmativeButtonLabel" 라는 키, "Cancel" 텍스트는 "DialogBox.NegatoryButtonLabel" 라는 키를 사용할 수 있습니다. 네임스페이스와 키에 따라, 각 텍스트 조각은 고유 id 를 지녀 번역 가능합니다.

타깃

타깃은 자체적으로 별도의 이름으로 독립된 현지화 데이터 모듈입니다. 타깃은 지정된 소스 세트로부터 텍스트를 수집하여, manifest 파일에 저장한 다음, 특정 컬처에 해당하는 archive 파일로 번역되어, 특정 컬처에 해당하는 locres 파일로 컴파일되고, 이 locres 파일을 시스템에 로드하여 표시합니다.

단순한 경우 한 프로젝트는 타깃이 하나이거나, 프로젝트의 현지화 데이터를 분리가능한 섹션으로 나누기 위해 타깃을 여럿으로 할 수도 있습니다. 언리얼 에디터에는 언리얼 엔진 나머지와 타깃이 별도로 되어있어, 에디터는 현지화하되 그 현지화 데이터는 게임 배포시 포함되지 않도록 할 수 있습니다. 보통 한 게임은 게임의 제반 현지화 데이터에 대해 하나의 타깃으로 만들고, 확장팩용으로 타깃을 추가합니다.

컬처

컬처(culture)는 로케일(locale)이라고도 하는데, 언어, 문자, 지역과 같은 디테일을 정의합니다. 컬처는 필수 언어 코드 (ISO-639 표준), 옵션 문자 코드 (ISO-15924 표준), 옵션 지역 코드 (ISO-3166 표준) 각각이 빼기 또는 밑줄 부호로 구분되는 포맷 스트링으로 식별됩니다.

컬처 코드의 예라면 "en" (영어), "es-MX" (스페인어, 멕시코 지역), "zh-Hans-CN" (중국어, 간체, 중국 지역) 식입니다.

Manifest

Manifest 는 수집한 텍스트를 네임스페이스와 키로 매핑시켜 사람이 읽을 수 있는 JSON 포맷의 소스 스트링으로 저장합니다. Manifest 는 특수한 텍스트 수집 커맨드렛으로 수집된 텍스트를 사용하여 생성됩니다. Manifests 는 매번 완전히 새로 잘라낸(truncate) 다음 생성되므로, 수동 업데이트해서는 안됩니다.

Archive

Archive 는 소스 스트링과 그 번역을, 네임스페이스로 매핑시켜 인간이 읽을 수 있는 JSON 포맷으로 저장합니다. Archive 는 지정된 manifest 의 모든 항목에서 텍스트를 짜내는 커맨드렛으로 생성됩니다. archive 의 항목에는 키가 없기 때문에, 한 네임스페이스에서 같은 소스를 공유하는 manifest 내 모든 항목은 하나의 archive 항목으로 압축되며, 텍스트가 키만 다르다면 추상적으로 동일한 것으로 간주하여 같은 번역을 사용합니다. archive 는 이미 존재한다면 잘라내지 않고 업데이트됩니다. archive 는 그대로 또는 다른 포맷으로 변환하여 번역가에게 제공, 빈 곳에 번역을 채워 반환받으면 됩니다.

현지화 리소스 (LocRes)

LocRes 는 번역된 텍스트를 시스템에 로드할 바이너리 포맷으로 저장합니다. LocRes 는 지정된 하나의 manifest 와 하나 이상의 archive 를 컴파일하는 커맨드렛으로 생성됩니다.

시스템은 프로젝트 세팅과 현재 컬처에 따라 LocRes 파일을 로드합니다. 현재 컬처의 LocRes 에 있는 현지화 텍스트는, 현재 컬처의 모든 부모 컬처의 LocRes 에 있는 현지화 텍스트에 추가로 사용됩니다. 그 덕에 한 언어에 대한 일반적인 번역과 아울러 특정 지역에 대한 특정 번역을 추가하는 것이 가능합니다. 기본적인 예를 들면, "Color" 라는 텍스트가 들어있고 "en" (영어) 및 "en-UK" (영국 영어) 컬처를 지원하는 타깃에 대해, "en" LocRes 에는 "Color" 가 "Color" 로 현지화되는 반면, "en-UK" LocRes 에는 "Colour" 로 현지화될 것입니다. 사용자가 "en-CA" (캐나다 영어)로 전환했는데 "en-CA" LocRes 에는 "Color" 에 대한 현지화가 없다면, "en" LocRes 에서 "Color" 를 받습니다.