이제 RuneTranslate가 Godot 게임을 번역합니다
이제 RuneTranslate가 Godot 3.x / 4.x 게임을 영어와 30개 이상의 언어로 번역합니다 — .pck를 열고(.exe에 내장돼 있어도), 컴파일된 GDScript를 디컴파일하고, 내장된 GDRE Tools 사이드카로 바이너리 씬을 변환한 뒤 대사와 UI 텍스트를 나열합니다. 게임 폴더를 지정하고, 자동 감지하고, 번역한 다음, 다시 패킹된 실행 가능한 사본을 내보내세요. 새로 추가된 기능이며 최선을 다한 방식입니다 — 내보낸 빌드가 실행되는지 확인하세요.
이제 RuneTranslate가 Godot로 만든 게임을 번역합니다 — 어느새 인디나 동인 게임을 출시하는 가장 인기 있는 방법 중 하나가 된 무료 오픈소스 엔진이죠. Godot는 역사적으로 바깥에서 번역하기가 가장 까다로운 엔진 중 하나였습니다. 출시된 Godot 게임은 밀봉된 상자이기 때문입니다: 모든 것이 단 하나의 .pck 아카이브 안에 들어 있고(흔히 .exe 자체의 끝에 그대로 붙어 있습니다), 스크립트는 GDScript 바이트코드로 컴파일되어 있으며, 씬은 바이너리로 저장돼 있습니다. RuneTranslate는 그 상자를 열고, 텍스트를 읽고, 여러분의 번역을 다시 그 안에 패킹합니다.
이것은 새로 추가된 엔진이므로, 무엇보다 먼저: RuneTranslate를 Godot 게임에 지정했는데 감지되지 않거나, 열리지 않거나, 내보낸 사본이 실행되지 않는다면 꼭 알려 주세요. 이에 대해서는 끝부분에서 더 다룹니다.
Godot란 실제로 무엇인가
Godot는 무료이고 MIT 라이선스를 따르는 오픈소스 게임 엔진으로(첫 공개 출시 2014년), 지난 몇 년 사이 인기가 폭발했습니다 — 이제 2D·3D 인디 게임의 주류 선택지이며, 일본 동인 타이틀 중 점점 더 많은 작품이 이 엔진으로 출시됩니다. 게임은 보통 Godot 자체의 Python과 유사한 언어인 GDScript로 작성되고, 씬으로 구성됩니다 — 노드의 트리(여기 라벨 하나, 저기 버튼 하나, 대화 상자 하나)를 리소스로 저장한 것이죠.
Godot 게임이 출시용으로 내보내지면, 그 모든 것 — 스크립트, 씬, 이미지, 오디오 — 이 하나의 .pck 팩 파일로 묶입니다. 이 팩은 실행 파일 옆에 놓이거나, 아주 흔하게는 `.exe`의 끝에 직접 덧붙여져서, 폴더가 그저 게임 실행 파일 하나뿐인 것처럼 보이게 만듭니다. 바로 그 패키징이 Godot 게임을 뚫을 수 없어 보이게 하는 원인입니다.
왜 Godot 게임은 번역하기 어려웠나
Ren'Py 같은 스크립트 기반 엔진과 달리, 출시된 Godot 게임은 평문으로 노출하는 것이 거의 없습니다:
- 모든 것이 `.pck` 안에 있습니다. 편집할 낱개 스크립트나 텍스트 파일이 없으며 — 팩이
.exe에 내장돼 있으면 도구를 지정할 눈에 보이는.pck조차 없습니다. - 스크립트가 컴파일돼 있습니다. GDScript는 컴파일된 바이트코드(
.gdc)로 출시되며 — 최신 Godot 4에서는 그 바이트코드가 추가로 압축되기까지 합니다 — 그래서 코드에 박혀 있는 대사는 grep하거나 텍스트 편집기로 열 수 있는 것이 아닙니다. - 씬이 바이너리입니다. UI 라벨과 메뉴 텍스트는 편집기에서 보이는 사람이 읽을 수 있는
.tscn이 아니라, Godot의 바이너리 리소스 형식(.scn)으로 저장된 씬 파일 안에 들어 있습니다. - 대부분의 게임은 번역 파일을 쓰지 않습니다. Godot에는 훌륭한 현지화 시스템(CSV /
.po→.translation)이 있지만, 수많은 게임 — 특히 규모가 작은 동인 타이틀 — 은 이를 전혀 쓰지 않고 그냥 일본어를 스크립트와 씬에 하드코딩합니다. 그래서 번역할 깔끔한 문자열 테이블이 없습니다.
RuneTranslate가 지금 하는 일
RuneTranslate는 Godot를 일급 엔진으로 다루며 읽을 수 있는 프로젝트를 여러분을 위해 재구성합니다. 내부적으로 GDRE Tools(오픈소스 Godot 리버스 엔지니어링 툴킷)의 사본을 함께 넣어 두고, 이를 사용해 다음을 수행합니다:
- `.pck` 언패킹 — 단독 파일,
data.pck, 또는.exe끝에 내장된 팩(RuneTranslate가 내장 팩 시그니처를 자동으로 감지합니다). - 컴파일된 GDScript 디컴파일(
.gdc→.gd)로 코드 속의 대사와 내레이션을 다시 읽을 수 있게 합니다. - 바이너리 씬 변환(
.scn→.tscn)으로 그 안의 라벨과 UI 텍스트를 끄집어낼 수 있게 합니다.
그런 다음 복원된 프로젝트를 스캔하여 번역 가능한 모든 문자열 — 스크립트 대사와 씬/UI 텍스트 — 을 편집기에서 파일별로 묶어 나열하며, 엔진 마크업은 자리표시자 뒤에 가려 두어 제공자가 절대 망가뜨리지 않게 합니다. 내보낼 때는 여러분의 번역을 복원된 소스에 다시 이어 붙이고 실행 가능한 게임 사본을 다시 패킹합니다(정확히 어떻게 하는지는 아래에서 더 다룹니다).
필요한 것
- Windows용 RuneTranslate — 무료이며, 모든 엔진과 제공자가 잠금 해제돼 있습니다.
- Godot 게임 폴더 — 보통 게임의
.exe(팩이 내장된 것) 하나만 있거나,.exe옆에.pck/data.pck가 함께 있습니다. Godot 3.x와 4.x 모두 지원됩니다. - 대상 언어 — 영어, 스페인어, 프랑스어, 독일어, 포르투갈어, 러시아어, 중국어, 이탈리아어, 터키어, 베트남어, 그리고 20종 이상.
- 번역 제공자 하나. 무료 Google Translate는 바로 작동합니다; DeepL에는 무료 등급이 있습니다; OpenAI, Anthropic, 로컬 모델(Ollama / LM Studio), 그리고 OpenAI 호환 API는 자신의 키를 사용합니다. Godot 게임은 보통 대사가 많으므로, 스토리 텍스트에는 LLM(OpenAI / Anthropic)이나 DeepL이 가장 자연스럽게 읽힙니다.
1단계: 게임 폴더 열기
RuneTranslate를 실행하고 New project를 클릭한 뒤, Godot 게임 디렉터리 — 게임의 .exe(그리고 별도로 제공된다면 .pck)가 있는 폴더 — 를 지정하세요. 엔진 감지가 자동으로 실행됩니다: 실행 파일 끝의 내장 팩 시그니처, 낱개 .pck, 또는 Godot 프로젝트를 인식합니다. 원본 파일은 절대 수정되지 않습니다.
2단계: 프로젝트 언패킹 및 복원
RuneTranslate는 내장된 GDRE Tools 사이드카를 실행해 팩을 언패킹하고, 컴파일된 GDScript를 디컴파일하고, 바이너리 씬을 읽을 수 있는 소스로 변환합니다. 그런 다음 그 복원된 프로젝트를 스캔하여 번역 가능한 모든 줄 — 스크립트의 대사와 내레이션, 그리고 씬의 라벨과 UI 텍스트 — 을 파일별로 묶어 나열합니다. 에셋 경로, 노드 이름, 기타 코드 식별자는 걸러내므로 여러분은 플레이어가 실제로 보는 문자열만 번역하게 됩니다.
3단계: 번역
제공자를 고르고 실행하세요. 스토리 중심 게임이라면 캐릭터의 말투에는 LLM(OpenAI / Anthropic)이 가장 좋고, 내레이션에는 DeepL이 빠르고 깔끔하며, 짧은 UI 문자열에는 무료 Google Translate로 충분합니다. Godot 게임은 대사를 하나의 스크립트 안에 긴 줄 배열 — "스토리 데이터베이스" — 로 보관하는 경우가 많아서, 같은 캐릭터나 지명이 수백 번 등장합니다. 등장인물과 핵심 용어를 미리 용어집에 넣어 어디서나 동일하게 표시되게 하세요; Glossary 101을 참고하세요. AI 리파이너로 선택적 한 번 더 다듬으면 기계 번역이 남기기 쉬운 딱딱한 표현이 매끄러워집니다.
4단계: 번역된 빌드 내보내기
Export를 클릭하세요. 원본 스크립트가 컴파일된 바이트코드이기 때문에, RuneTranslate는 소스 오버라이드 방식을 사용합니다: 여러분의 번역을 복원된 .gd / .tscn 소스에 기록하고, 팩에서 컴파일된 .gdc / 바이너리 .scn을 빼내어 엔진이 낱개의 번역된 소스로 대체 로드하게 한 다음, 새 .pck를 다시 패킹합니다 — 팩이 내장돼 있던 경우에는 .exe 사본에 다시 내장합니다. 원본 게임은 손대지 않은 채로 남고, 여러분은 별도의 실행 가능한 번역 사본을 얻습니다.
5단계: 사본이 실행되는지 확인
내보낸 빌드는 로드 시점에 Godot 런타임이 낱개의 번역된 스크립트 소스를 컴파일하는 것에 의존합니다. 그러니 — 여느 새 엔진과 마찬가지로 — 내보낸 게임을 한 번 실행하여 대사와 메뉴가 여러분의 언어로 표시되는지 확인한 뒤에 공유하세요. 스크립트가 로드되지 않는다면, 그것이 바로 저희가 더 견고하게 만드는 데 도움이 되는 종류의 제보입니다(아래 참조).
알려진 제한 사항
- 새로 추가됨 + 최선을 다한 방식. 재배포하기 전에 내보낸 게임이 실행되고 올바르게 읽히는지 확인하세요.
- 암호화된 팩. 일부 게임은 바이너리에 박힌 키로 암호화된
.pck를 출시합니다; 그런 것은 아직 열리지 않습니다. - C# / .NET(Mono) 게임. RuneTranslate는 GDScript에 집중합니다; C#으로 만든 Godot 게임의 로직에 컴파일된 텍스트는 범위 밖입니다.
- 이미지에 그려진 텍스트. 아트워크로 렌더링된 제목이나 로고는 문자열이 아니라 픽셀입니다 — 그것은 스크립트 추출이 아니라 이미지 텍스트 번역의 일입니다.
- 라틴 문자가 아닌 대상 언어는 게임이 그것을 실제로 렌더링할 수 있는 폰트를 함께 제공하는지에 달려 있습니다.
완전히 새로운 기능입니다 — 무엇이 깨지는지 알려 주세요
Godot 지원은 막 추가된 기능입니다. Godot는 여러 엔진 버전과 패키징 방식에 걸쳐 있고, 저희가 그 모두를 본 것은 아닙니다. 그러니 RuneTranslate를 Godot 게임에 지정했는데 감지되지 않거나, 언패킹되지 않거나, 실행되지 않는 무언가를 내보낸다면 제보해 주세요 — 게임 이름, Godot 버전, 그리고 패키징 방식(내장 팩 대 낱개 .pck)이 바로 저희가 가장 빠르게 견고화하는 데 도움이 됩니다.
RuneTranslate 다운로드, 오래전부터 읽어 보고 싶었던 그 Godot 게임에 지정하고, 시험해 보세요. 또 다른 최신 엔진은 다음으로 Unity 안내를 확인하세요.
RuneTranslate를 써볼 준비가 되셨나요?
무료 등급에서 모든 엔진과 모든 번역 제공자가 열립니다. Supporter($3/mo)로 최고 속도가 열립니다.
Windows용 다운로드