UDN
Search public documentation:
LocalizedTextFilesKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
언리얼 엔진의 텍스트 로컬라이징
문서 변경내역: Josh Adams 작성. Richard Nalezynski 업데이트.
개요
[Engine.Engine] ... Language=jpn ...
UnrealLoc
현지화된 텍스트 파일을 사용하여 작업하기
파일 포맷
현지화된 텍스트 파일 자체는, 비록 유니코드(UTF-16 little-endian)로서 저장되어야 하지만, 그저 간단한 INI-스타일의 구성 파일 이며, 엔진 카운터파트로부터 상속받지 않습니다. 파일명은 현지화된 데이터가 속한 패키지와 동일하며, 확장자는 Localization 디렉토리에서 해당 파일이 상주하는 디렉토리와 동일합니다.섹션 및 키-값 쌍
일반적인 구성 파일은 키-값 쌍의 섹션으로 이루어지며 다음과 같이 배열됩니다.[Section] Key=Value예를 들어, MyGame.u라는 스크립트 패키지가 있다면 MyGame.u에는 스크립트 클래스에 대해 현지화된 기본 문자열이 모두 들어있는 MyGame.int가 있어야 합니다. 따라서, 현지화된 문자열 속성
CheckpointReachedString
과 LoadingString
이 있는 스크립트 클래스 MyHUD.uc 가 있다면 MyGame.int의 섹션 중 하나는 다음과 같을 것입니다:
[MyHUD] CheckpointReachedString=Checkpoint Reached LoadingString=Loading이 섹션에 대해 명심할 사항 중 하나는 수작업으로 작성해야 한다는 것입니다. UnrealScript는 UnrealScript 클래스의
defaultproperties
섹션에서 현지화 가능한 속성에 대해 기본 문자열을 지정할 수 있게 하지 않습니다. 여러분이 시도해봐도 스크립트가 컴파일되지 않을 것입니다. 이는 사실 좋은 일입니다. 왜냐하면 번역되어야 할 문자열을 여러분이 인식하여 그것을 가능한 한 신속하게 현지화된 텍스트 파일에 넣도록 하기 때문입니다.
문자열 데이터
데이터나 맵 패키지의 일부인 현지화된 문자열도 유사한 방식으로 작용하지만 몇 가지 중요한 차이가 있습니다. 이러한 패키지에 대해 현지화된 텍스트를 여러분이 손수 작성할 수도 있지만, 패키지 상에서 Generic 브라우저 내의 package tree view(패키지 트리 보기)의 컨텍스트 메뉴에서 Full Loc Export... 명령을 실행하는 것이 더 나은 방법입니다. 이 명령은 필요한 텍스트를 가진 현지화된 텍스트 파일을 각 패키지별로 자동 생성합니다. 주의: 속성 창에서 입력한 내용은 다음 번에 패키지나 맵을 로드할 때 INT 콘텐츠에 의해 겹쳐쓰기됩니다. 에디터 세션을 종료하기 전에 loc 파일을 re-xport(다시 내보내기) 해야 합니다.객체별 문자열 데이터
위의 MyHUD 예는 클래스의 인스턴스가 다수 존재하더라도CheckpointReachedString
및 LoadingString
속성에는 단 하나의 문자열만 사용된다고 가정한 것입니다. 만일 여러분이 각 인스턴스에 대해 디자이너가 각기 다르게 현지화할 수 있는 텍스트가 있어야 하는 클래스를 작성한다면 어떤 일이 생길까요? 예를 들어, 무기를 빌드하는 시스템으로서 아키타입을 사용 하는 경우, 각 무기에는 현지화된 이름과 설명이 필요할 것입니다. 이 경우, 현지화 가능한 문자열 속성을 가진 클래스는 그 정의에 perobjectconfig
로 표시되어야 합니다. 이렇게 함으로써, 해당 클래스의 객체가 포함된 패키지 상에서 Full Loc Export... 를 실행하면 클래스의 각 인스턴스에 대해 개별적인 문자열이 출력될 것입니다. 예를 들어 세 개의 WAV 파일(WAV1, WAV2, WAV3)이 들어 있는VO.upk 라는 패키지가 있고, 각 파일에 데이터가 채워진 SpokenText 필드가 있는 경우, 패키지에서 Full Loc Export... 를 실행하면 다음과 같은 섹션이 들어 있는 VO.int라는 현지화된 텍스트 파일이 생성됩니다:
[WAV1 SoundNodeWave] SpokenText="<WAV1 Text, whatever that may be>" [WAV2 SoundNodeWave] SpokenText="<WAV2 Text, whatever that may be>" [WAV3 SoundNodeWave] SpokenText="<WAV3 Text, whatever that may be>"섹션 이름에 리소스 이름과 해당 클래스가 모두 포함되어 있는 것을 눈여겨 보십시오. 이는 파일 이름 VO.int와 결합되어 VO.upk 내의 모든 현지화된 문자열을 구체적으로 어드레스 해야 합니다.
UIStrings에서의 래핑과 줄 바꾸기
현지화된 텍스트 파일을 수동으로 편집할 때, UI Strings의 래핑과 줄 바꾸기 문제에 부딪칠 수 있습니다. 예를 들어, 아래의 코드는,[GenericStrings] Output="Line 1/nLine2/nLine 3"다음과 같은 결과를 출력합니다.
Line 1ine2ine3이 문자열을 UI Editor DataStore 브라우저 에서 미리보기해도 같은 결과가 나옵니다. 그러나 하나의 현지화된 문자열을 수정하여 변경사항을 UI Editor DataStore 브라우저 내에서 적용하면 영향을 받는 INT 파일 전체에서 문자열을 둘러싼 인용부호가 모두 자동으로 제거됩니다. 이는 탈출문자(escape character)가 예상대로 작용하도록 하는 것입니다. 해결책: 텍스트 에디터에서 INT 파일에 현지화된 문자열을 수동으로 입력하는 경우, 인용부호를 사용하지 말 것! 다음은 올바른 선언입니다. [GenericStrings]
Output=Line 1/nLine2/nLine 3다음과 같은 결과가 출력됩니다.
Line 1 Line 2 Line 3
이진 데이터
이진 데이터의 경우 현지화란 단지 목표 언어의 세자리 코드를 사용하는 추가 확장자를 가진 각기 다른 패키지를 갖는 것입니다. 따라서, 예를 들어 현지화되어야 하는 텍스처가 들어있는 Art.upk 라는 패키지가 있고 현재 실행 중인 언어가 일본어(현지화된 텍스트 파일 데이터 선언하기
클래스 선언은 현지화된 텍스트 파일의 새 섹션 이름을 설명합니다.localized
키워드가 포함된 문자열은 모두 내보내기 할 수 있으며, 따라서 관련 현지화된 텍스트 파일 내에 있게 됩니다.
예를 들어, 다음 클래스에서는 문자열이 현지화된 텍스트 파일 MyGame.int 로 내보내기될 것임을 선언합니다:
class MyHUD extends HUD var localized string CheckpointReachedString; var localized string LoadingString;현지화된 문자열에 대한 추가 정보는 [[UnrealScriptReferenceKR]KR[UnrealScript 참조]] 를 참고하십시오.
사용할 수 있는 현지화된 텍스트 파일들
-
.int (프로젝트 이름) -
Editor.int (프로젝트에서 에디터 변경사항이 있는 경우) -
UI.int (UI용) -
Content.int (이진 콘텐츠용) -
Credits.int (크레디트용) -
Subtitles.int (서브타이틀용)