Godot 게임을 영어로 번역하는 방법
RuneTranslate는 Godot 3.x / 4.x 게임을 번역합니다 — .pck를 열고(.exe에 내장되어 있어도), GDRE Tools로 GDScript와 씬을 디컴파일하며, UI와 대사를 나열합니다. 내보내기가 .exe로 다시 패킹합니다. 최선의 노력이니 빌드가 실행되는지 검증하세요.
RuneTranslate는 이제 Godot — 인디나 동인 게임을 배포하는 가장 인기 있는 방법 중 하나로 조용히 자리 잡은 무료 오픈소스 엔진 — 로 만들어진 게임을 번역합니다. Godot는 역사적으로 밖에서 번역하기 가장 어려운 엔진 중 하나였습니다. 출시된 Godot 게임은 밀봉된 상자이기 때문입니다. 모든 것이 하나의 .pck 아카이브 안에 있고(자주 .exe 끝에 붙어 있음), 스크립트는 GDScript 바이트코드로 컴파일되며, 씬은 바이너리로 저장됩니다. RuneTranslate는 그 상자를 열어 텍스트를 읽고, 여러분의 번역을 다시 패킹해 넣습니다.
이것은 새로 추가된 엔진이니, 무엇보다 먼저: Godot 게임에 RuneTranslate를 지정했는데 감지되지 않거나, 열리지 않거나, 내보낸 복사본이 실행되지 않는다면 알려주세요. 그것에 대해서는 마지막에 더 안내합니다.
Godot가 실제로 무엇인가
Godot는 2D와 3D 인디 게임의 주류 선택이 된 무료 MIT 라이선스 오픈소스 게임 엔진이며, 점점 더 많은 일본 동인 타이틀이 이것으로 배포됩니다. 게임은 보통 Godot 자체의 파이썬 유사 언어인 GDScript로 작성되고, 씬 — 리소스로 저장된 노드 트리 — 으로 배치됩니다. 게임을 내보내면 스크립트, 씬, 이미지, 오디오까지 전부가 하나의 .pck 팩 파일로 묶이는데, 이 파일은 실행 파일 옆에 있거나 아주 흔하게는 .exe 끝에 붙어 있습니다. 바로 그 패키징이 Godot 게임을 뚫을 수 없어 보이게 만드는 것입니다.
왜 Godot 게임이 번역하기 어려웠나
Ren’Py 같은 스크립트 기반 엔진과 달리, 출시된 Godot 게임은 평문으로 거의 아무것도 노출하지 않습니다:
- 모든 것이 `.pck` 안에 있다. 편집할 낱개 스크립트나 텍스트 파일이 없고 — 팩이
.exe에 내장되어 있으면 도구를 지정할 눈에 보이는.pck조차 없습니다. - 스크립트는 컴파일되어 있다. GDScript는 컴파일된 바이트코드(
.gdc)로 배포되며 — 현대 Godot 4에서는 그 바이트코드가 추가로 압축됩니다 — 코드에 새겨진 대사는 grep하거나 텍스트 편집기로 열 수 있는 것이 아닙니다. - 씬은 바이너리다. UI 라벨과 메뉴 텍스트는 Godot의 바이너리 리소스 형식(
.scn)으로 저장된 씬 파일에 있으며, 편집기에서 보는 사람이 읽을 수 있는.tscn이 아닙니다. - 대부분의 게임은 번역 파일을 쓰지 않는다. Godot에는 일급 현지화 시스템(CSV /
.po→.translation)이 있지만, 많은 게임 — 특히 소규모 동인 타이틀 — 은 그것을 절대 쓰지 않고 그냥 일본어를 스크립트와 씬에 하드코딩합니다. RuneTranslate는 정확히 그 하드코딩된 문자열(.gd,.tscn,.tres,.cfg,project.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를 실행하고 새 프로젝트를 클릭한 뒤 Godot 게임 디렉터리 — 게임의 .exe(와, 별도로 배포되면 .pck)가 있는 폴더 — 를 지정하세요. 엔진 감지가 자동으로 실행됩니다. 실행 파일 끝의 내장 팩 시그니처, 낱개 .pck, 또는 Godot 프로젝트를 알아봅니다. 원본 파일은 절대 수정되지 않습니다.
2단계: 언팩하고 프로젝트 복구하기
RuneTranslate는 번들된 GDRE Tools 사이드카를 실행해 팩을 언팩하고, 컴파일된 GDScript를 디컴파일하며, 바이너리 씬을 읽을 수 있는 소스로 변환합니다. 그런 다음 그 복구된 프로젝트를 훑어 모든 번역 가능한 줄 — 스크립트의 대사와 서술, 씬의 라벨과 UI 텍스트 — 을 파일별로 묶어 나열합니다. 에셋 경로, 노드 이름, 그 밖의 코드 식별자는 걸러져, 플레이어가 실제로 보는 문자열만 번역하게 됩니다.
3단계: 번역하기
제공자를 골라 실행하세요. 이야기 중심 게임이라면 LLM(OpenAI / Anthropic)이 캐릭터의 목소리에 가장 좋고, DeepL은 서술에 빠르고 깔끔하며, 무료 Google Translate는 짧은 UI 문자열에 적합합니다. Godot 게임은 흔히 대사를 하나의 스크립트 — “스토리 데이터베이스” — 안에 긴 줄 배열로 담아두어, 같은 캐릭터나 지명이 수백 번 나타납니다. 어디서나 똑같이 렌더링되도록 등장인물과 핵심 용어를 미리 용어집에 넣으세요. 용어집 101을 참고하세요. AI 리파이너로 선택적 패스를 돌리면 기계 번역이 남기기 쉬운 딱딱한 표현을 조입니다.
4단계: 번역된 빌드 내보내기
내보내기를 클릭하세요. 원본 스크립트가 컴파일된 바이트코드이기 때문에 RuneTranslate는 소스 오버라이드 방식을 씁니다. 여러분의 번역을 복구된 .gd / .tscn 소스에 써넣고, 컴파일된 .gdc / 바이너리 .scn을 떨궈 엔진이 낱개 번역 소스로 대체되게 하며, 새 .pck를 다시 패킹해 .exe 복사본에 다시 내장합니다. 원본 게임은 손대지 않은 채로 남고, 별도의 실행 가능한 번역 복사본을 얻습니다.
내보내기 범위, 유의하세요: 내보내기는 현재 팩이 `.exe`에 내장되어 있고 Godot 4로 만들어진 게임에서 작동합니다(순수 TS 리패커는 Godot 4 팩 형식만 씁니다). 실행 파일 옆에 독립형 .pck를 배포하는 게임이나 Godot 3으로 만든 게임도 여전히 감지, 추출, 번역됩니다 — 전체 번역 패스를 수행해 용어집이나 참고 자료로 쓸 수 있습니다 — 하지만 RuneTranslate가 아직 그런 것들을 실행 가능한 빌드로 다시 패킹할 수는 없습니다. 내장 팩 Godot 4 게임(가장 흔한 동인 경우)은 처음부터 끝까지 내보내집니다.
5단계: 복사본이 실행되는지 검증하기
내보낸 빌드는 Godot 런타임이 낱개 번역 스크립트 소스를 로드 시점에 컴파일하는 데 의존하므로 — 새 엔진이 다 그렇듯 — 공유하기 전에 내보낸 게임을 한 번 실행해 대사와 메뉴가 여러분의 언어로 나오는지 확인하세요. 스크립트가 로드되지 않는다면, 그것이 바로 우리가 안정화하는 데 도움이 되는 종류의 신고입니다(아래 참고).
알려진 한계
- 최선의 노력. 재배포하기 전에 내보낸 게임이 실행되고 올바르게 읽히는지 검증하세요.
- 내보내기는 내장 팩 + Godot 4 전용. 독립형
.pck게임과 Godot 3 게임은 감지, 추출, 번역되지만 아직 실행 가능한 빌드로 다시 패킹할 수 없습니다. - 하드코딩된 문자열만. RuneTranslate는 스크립트와 씬에 새겨진 일본어를 읽으며, 소수 게임이 쓰는
.csv/.po/.translation현지화 테이블은 읽지 않습니다. - 암호화된 팩. 어떤 게임은 바이너리에 새겨진 키로 암호화된
.pck를 배포하며, 그것들은 아직 열리지 않습니다. - C# / .NET (Mono) 게임. RuneTranslate는 GDScript에 집중합니다. C# Godot 게임 로직에 컴파일된 텍스트는 범위 밖입니다.
- 이미지에 그려 넣은 텍스트. 아트워크로 렌더링된 타이틀이나 로고는 문자열이 아니라 픽셀입니다 — 그것은 스크립트 추출이 아니라 이미지 텍스트 번역의 일입니다.
- 비라틴 대상 언어는 게임이 그것을 실제로 렌더링할 수 있는 폰트를 배포하느냐에 달려 있습니다.
무엇이 깨지는지 알려주세요
Godot는 여러 엔진 버전과 패키징 방식에 걸쳐 있고, 우리가 다 보지는 못했습니다. 게임이 감지되지 않거나, 언팩되지 않거나, 실행되지 않는 무언가를 내보낸다면 신고해 주세요 — 게임 이름, Godot 버전, 패킹 방식(내장 팩 대 낱개 .pck)이 우리가 가장 빨리 안정화하는 데 딱 맞는 정보입니다.
RuneTranslate 다운로드하고 읽으려던 그 Godot 게임에 지정해 시험해 보세요. 또 다른 현대 엔진은 다음으로 Unity 가이드를 보세요.
RuneTranslate를 써볼 준비가 되셨나요?
무료 등급에서 모든 엔진과 모든 번역 제공자가 열립니다. Supporter($3/mo)로 최고 속도가 열립니다.
Windows용 다운로드
