엔진가이드자주 묻는 질문PatreonDiscord다운로드
로그인
RuneTranslate · 일본어 등 30개 이상 언어의 게임을 번역
엔진가이드비교이미지 텍스트세이브 편집기치트 모드자주 묻는 질문다운로드변경 이력TrustpilotPatreonDiscordYouTube개인정보 처리방침이용약관문의
모든 엔진

지원 엔진 · Gettext (.po / .mo)

완전 지원 — 재빌드 후 플레이 확인

PO 파일 번역기 — 게임의 gettext .po 및 .mo 카탈로그 번역

gettext는 일본산이 아닌 인디 게임 대부분이 현지화에 쓰는 방식입니다. Python과 pygame 게임, Solarus, SDL과 GTK 게임, 그리고 Poedit·Weblate·Crowdin을 거친 모든 것이 여기 해당합니다. 문자열은 locale 폴더에 .po 원본과 컴파일된 .mo 카탈로그로 들어 있습니다. RuneTranslate는 프로젝트를 만들 때 이를 감지하고, 모든 문자열을 번역한 뒤 동작하는 .mo를 다시 씁니다. 실행 중인 게임이 읽는 파일이 바로 그것입니다.

이 엔진을 위한 용어집 팁

gettext 카탈로그는 대부분 UI입니다. 메뉴 항목, 버튼 레이블, 툴팁, 여러 화면에서 반복되는 상태 표시 같은 것들이죠. 명사와 아이템 이름, 핵심 동사를 용어집에 한 번만 넣어두면 어디에 나오든 동일하게 번역됩니다. 대사보다 오히려 더 중요합니다. 한 곳에서는 “저장”, 다른 곳에서는 “보관”이라고 쓰는 메뉴는 버그처럼 보이니까요. 용어집 기초 →

Windows용 RuneTranslate 다운로드

Gettext (.po / .mo) 번역하는 방법

  1. 단계 1

    게임 폴더 열기

    locale/, lang/ 또는 i18n/ 폴더가 들어 있는 게임 디렉터리를 RuneTranslate로 지정하세요. 감지는 확장자가 아니라 실제 바이트를 보기 때문에, 사실은 3D 장면인 .mo는 무시됩니다. 낱개의 .po 파일이 모인 폴더도 됩니다.

  2. 단계 2

    무엇이 발견됐는지 확인

    새 프로젝트 창이 프로젝트를 만들기 전에 읽어낸 카탈로그 수, 컴파일된 .mo와 원본 .po의 비율, 게임이 이미 포함한 언어, 전체 문자열 수를 알려줍니다.

  3. 단계 3

    언어와 번역 서비스 선택

    대상 언어와 서비스를 고르세요. 무료 Google이나 DeepL, 또는 본인의 DeepL·OpenAI·Claude·DeepSeek 키를 쓸 수 있습니다. 서식 자리표시자(%s, %d, %(player)s, {count})는 번역 전에 가려지고 번역 후 복원되므로, 어떤 서비스도 이를 지우거나 바꿔 쓸 수 없습니다.

  4. 단계 4

    편집기에서 검토

    문자열은 카탈로그 파일별로 묶입니다. 각 항목은 gettext 컨텍스트(msgctxt)를 그대로 유지합니다. 개발자가 바로 그 문자열을 위해 적어둔 구분 정보이므로, 같은 단어가 왜 두 번 나오는지 알 수 있고 각각 알맞게 번역할 수 있습니다.

  5. 단계 5

    플레이 가능한 빌드 내보내기

    내보내기는 올바른 locale/<선택 언어>/LC_MESSAGES/ 카탈로그와, 게임이 원래 불러오던 카탈로그의 갱신본을 함께 담은 게임 전체 사본을 만듭니다. 게임이 언어를 어떤 방식으로 고르든 번역이 나타납니다. .po와 컴파일된 .mo가 모두 기록됩니다.

지원 항목

  • 컴파일된 .mo 카탈로그 — 읽기와 쓰기, 두 바이트 순서 모두 지원. 실제 카탈로그 43개·93,717개 항목으로 검증
  • .po 원본 파일 — 복수형, msgctxt 컨텍스트, 플래그, 번역자 주석 포함
  • 표준 locale/<언어>/LC_MESSAGES/<도메인>.mo 구조와 lang/tr.po 같은 평면 구조
  • 복수형 개수를 대상 언어에 맞게 재조정(영어 2개 → 러시아어 3개 → 일본어 1개)하고 헤더도 그에 맞게 다시 작성
  • printf 및 중괄호 자리표시자(%s, %d, %(player)s, {count}, {0})를 번역 중 가리고 이후 복원
  • 내보내기는 새 언어와, 게임이 이미 불러오는 카탈로그의 덮어쓰기를 모두 생성

제한 사항

  • 내보낸 게임을 믿고 쓰기 전에 실행되고 제대로 표시되는지 확인하세요
  • 이미 카탈로그에 있는 텍스트만 번역됩니다 — 개발자가 gettext를 거치지 않은 문자열은 .po/.mo에 없으므로 거기서는 찾을 수 없습니다
  • msgid를 원문으로 봅니다. 그것이 gettext의 약속입니다. msgid가 영어이고 실제 원어가 msgstr에 있는 카탈로그는 영어에서 번역됩니다
  • 직접 지원하는 엔진으로 만든 게임(Godot, Unity, Ren’Py 등)은 해당 엔진이 처리합니다. 나머지 텍스트에도 접근할 수 있도록 하기 위해서입니다
  • 번역되지 않은 항목은 비워지지 않고 게임이 원래 갖고 있던 번역을 유지합니다

관련 읽을거리

Gettext (.po / .mo) 번역 전체 가이드
가이드 읽기 →

관련 읽을거리

RuneTranslate vs Translator++
가이드 읽기 →

지원하는 다른 엔진

RPG MakerRPG Maker XP/VX/AceRen'PyKirikiriWolf RPGTyranoBuilderElectron VNUnityBakinSRPG StudioNScripterGodotArtemisYU-RISAliceSoftUnrealLiveMaker