Open-source desktop OCR, AI translation, editing and inpainting tool for user-provided manga and comic images.
63
stars
634
commits
TypeScript
primary language
Sep 9, 2026
updated
OCR부터 번역, 식자, 원문 제거, 검수와 출력까지 한곳에서 처리하는 데스크톱 만화 번역 도구
Windows 10/11 · Apple Silicon macOS 14+
한국어 · English · 日本語 · 简体中文 · 繁體中文
당근망가번역기는 사용자가 준비한 만화·코믹 이미지에서 대사와 효과음을 찾고, AI로 번역한 뒤, 화면 위에서 문장·배치·서식을 다듬어 PNG 또는 레이어 PSD로 내보내는 오픈소스 앱입니다. 이미지 한 장부터 여러 화가 든 폴더·압축파일·PDF·웹 페이지 링크까지 가져올 수 있고, 텍스트 일괄 편집으로 이름·말투·서식·검수 상태를 여러 블록에 한꺼번에 적용할 수 있습니다.
처음 실행하면 빈 보관함과 시작 안내가 나타납니다.
처음부터 한 화 전체를 처리하기보다 서로 다른 형태의 말풍선과 효과음이 있는 1~3페이지를 먼저 시험하는 편이 좋습니다. 잘못된 언어·OCR·폰트·인페인팅 설정을 일찍 발견하면 재작업과 API 사용량을 크게 줄일 수 있습니다.
| 단위 | 뜻 | 함께 저장되는 내용 |
|---|---|---|
| 작품 | 여러 화를 묶는 최상위 단위 | 공통 용어집, 캐릭터, 번역 규칙, 스토리 메모리 |
| 화 | 번역·검수·출력 범위를 정하는 회차 | 여러 페이지와 회차별 진행 상태 |
| 페이지 | 원본 이미지 한 장 | 이미지, OCR 결과, 블록, 인페인팅 결과 |
| 블록 | 대사·나레이션·효과음 한 덩어리 | 원문, 번역문, 위치, 크기, 역할과 서식 |
처리 과정도 세 부분으로 나누어 생각하면 쉽습니다.
OCR이 틀리면 번역도 틀릴 가능성이 높습니다. 번역문만 고치기 전에 오른쪽 편집 패널의 OCR 원문부터 확인하세요.
Intel Mac은 지원하지 않습니다. macOS 14 이상과 M1 이상의 Apple Silicon이 필요합니다.
설정 → LLM에서 만화의 원문 언어와 결과 언어를 먼저 정합니다. 앱 표시 언어는 설정 → 일반에서 별도로 바꿉니다.
일본어 만화를 한국어로 옮긴다면 다음처럼 시작합니다.
| LLM | 처리 위치 | 준비할 것 | 이런 경우에 적합 |
|---|---|---|---|
| Gemma 로컬 | 현재 PC | 모델 저장 공간, 충분한 RAM/VRAM | 작품을 로컬에서 처리하고 싶을 때 |
| Codex | Codex 계정 | 앱 안의 ChatGPT 로그인, 인터넷 | 로컬 모델 준비를 줄이고 싶을 때 |
| API | OpenAI 호환 비전 API 또는 로컬 서버 | Base URL, 모델 ID, 필요 시 API 키 | 이미 사용하는 서버·모델이 있을 때 |
Codex 엔진은 앱에 포함된 Codex App Server와 별도 앱 데이터 디렉터리를 사용합니다. 시스템에 Codex CLI를 따로 설치하거나 터미널에서 로그인할 필요는 없습니다.
Gemma를 고르면 모델 크기, GPU 오프로딩과 컨텍스트 크기를 정할 수 있습니다. 처음에는 권장 프리셋으로 한 페이지를 시험하고, 메모리가 부족할 때만 더 작은 모델이나 컨텍스트로 낮추세요.
API 엔진은 이미지 입력을 지원하는 모델이 필요합니다. 401·403 오류는 키나 권한을, 404 오류는 Base URL과 모델 ID를 먼저 확인하세요.
인터넷 조사를 켜면 번역 전에 기존 용어집을 점검하고 빠진 고유명사·인물 정보를 보완할 수 있습니다. 설정 → LLM → 인터넷 조사에서 Tavily 또는 Codex를 고르고, 조사할 페이지 수와 결과 반영 방식을 확인하세요. 외부 서비스로 작품 문맥이 전달될 수 있으므로 공개해도 되는 자료에만 사용합니다.
설정 → 하드웨어에서 자동 감지 결과와 권장값을 확인합니다.
OCR 선택지는 용도가 다릅니다.
| OCR | 특징 | 선택 기준 |
|---|---|---|
| HayaiOCR | 일반 텍스트 영역과 효과음 후보를 나누고 고정된 영역별로 판독합니다. 효과음을 별도 검토·번역하는 새 흐름과 연결됩니다. | 새 작품을 시작하거나 효과음까지 다룰 때 |
| PaddleOCR | 이전 버전의 조각·그룹 처리 방식과 호환됩니다. | 기존 작업에서 예전 블록 분리가 더 잘 맞았을 때 |
처음에는 화면 위의 권장값 적용을 누르고 대표 페이지로 시험하세요. 고급 장치 선택은 문제가 있을 때만 펼치는 편이 안전합니다.
인페인팅 모델은 다음처럼 고를 수 있습니다.
마지막으로 설정 → 확인/업데이트에서 OCR·모델 확인을 실행합니다. 처음에는 필요한 런타임을 내려받고 체크섬을 검사하므로 시간이 걸릴 수 있습니다. 문제가 생겼을 때는 이 화면에서 다시 확인하고 로그 폴더를 여는 것이 가장 빠릅니다.
왼쪽 위의 새 원본 추가 또는 여러 화 추가를 사용합니다. 파일 탐색기에서 앱으로 끌어 놓아도 됩니다.
지원 입력:
가져오기 창에서는 다음 순서로 확인합니다.
폴더·압축파일 안의 이미지는 파일명 기준 자연 정렬을 사용하고, PDF는 페이지 순서대로 이미지로 변환합니다. WEBP는 보관함에 들어갈 때 PNG로 정규화됩니다.
주의할 점:
웹 링크를 가져올 때는 주소를 붙여 넣고 이미지 찾기를 누른 뒤, 썸네일과 크기를 확인해 실제 만화 페이지만 남깁니다. 표지·배너·아이콘이 함께 잡히면 체크를 끄고, 페이지 순서는 가져오기 전에 정리하세요.
작품 아래의 화를 선택하고 번역을 누릅니다.
상단에서 현재 페이지·현재 화를 고르거나 화 목록을 펼쳐 필요한 페이지만 체크합니다. 아래 옵션에서 처리 모드, 블록 생성 방식, 자동 서식과 원문 지우기를 정한 뒤 예상 페이지 수를 다시 확인하세요.
| 선택지 | 하는 일 | 언제 쓰나 |
|---|---|---|
| 빠른 1회 | 각 페이지를 독립적으로 번역 | 속도·연결 확인용 |
| 누적 컨텍스트 | 앞 페이지의 인물·사건·용어를 다음 페이지가 참고 | 일반적인 연속 장면 |
| 자동 생성 | OCR과 모델 결과로 블록을 새로 생성 | 최초 번역 |
| 기존 블록 유지 | 블록 위치와 서식을 보존하고 텍스트 중심으로 갱신 | 식자 후 재번역 |
화 번역이 중단되면 페이지별 체크포인트가 남을 수 있습니다. 다시 열었을 때 페이지 선택 상태는 대체로 다음 세 가지 의미를 가집니다.
원본 페이지나 언어·블록 방식이 달라져 체크포인트 검증에 실패하면 앱은 오래된 결과를 억지로 재사용하지 않습니다.
자동 결과는 출발점입니다. 작은 후리가나, 속삭임, 기울어진 효과음, 극단적으로 좁은 세로 문장은 직접 확인하세요.
| 위치 | 역할 |
|---|---|
| 왼쪽 위 | 원본 추가, 설정, 작업 가져오기·내보내기 |
| 왼쪽 보관함 | 작품·화 검색, 정렬, 열기 |
| 왼쪽 아래 | 현재 화의 페이지 목록과 순서 |
| 가운데 | 페이지, 번역 블록, 선택·이동·확대·보정 |
| 오른쪽 도구막대 | 선택, 블록, 보기, 인페인팅 등 작업 모드 |
| 오른쪽 패널 | 현재 페이지 블록 목록과 선택한 블록 편집 |
블록을 클릭하면 오른쪽에서 텍스트, 배치, 서식을 편집할 수 있습니다.
편집에서는 문장을 드래그해 일부 글자만 고른 뒤 서식 도구를 누릅니다. 선택 범위가 없으면 입력 위치 이후의 새 글자에 적용될 수 있으므로, 기존 문장을 바꿀 때는 범위를 먼저 선택하세요.
코드에서는 같은 서식을 마크업으로 확인하고 직접 수정할 수 있습니다. 태그가 잘못 닫히면 미리보기와 출력이 달라질 수 있으므로 복잡한 수정 뒤에는 다시 편집 화면으로 돌아가 결과를 확인하세요.
단순 강조는 다음 표기를 직접 입력해도 됩니다.
**굵게***기울임****강조***
반복해서 쓰는 서식은 프리셋으로 저장하고 1~10번 단축키 슬롯에 연결할 수 있습니다. 선택한 블록의 서식 일부를 다른 선택 블록, 현재 페이지 또는 현재 화 전체에 일괄 적용할 수도 있습니다.
현재 블록의 서식을 여러 곳에 복사하려면 서식 패널의 일괄 적용을 누릅니다. 적용 범위와 복사할 속성만 체크하면 텍스트 내용은 건드리지 않고 모양만 맞출 수 있습니다.
예전의 단순 검색·치환은 조건 + 작업 + 실제 페이지 미리보기 방식의 일괄 편집기로 확장되었습니다. 이름 통일뿐 아니라 화자별 말투, 효과음 서식, 검수 상태, 부분 글자 강조와 오류 후보 수집까지 한 규칙에 묶을 수 있습니다.
여는 방법:
처음에는 항상 페이지 범위에서 규칙을 검증한 뒤 화로 넓히세요.
가장 단순한 시작점입니다. 아래 예시는 번역문의 공작을 대공으로 통일합니다.
설정:
공작대공오른쪽에 결과 1개가 표시되고, 공작님이 대공님으로 바뀌는 것을 확인할 수 있습니다. 동명이인이나 고유명사의 일부까지 바뀔 수 있으므로 결과 목록을 꼭 확인하세요.
두 작업을 연달아 실행하는 기본 예제입니다.
실행 순서:
...을 …으로 바꿉니다.예시 페이지에서는 5개 블록이 바뀝니다. 의도적으로 넓힌 효과음 간격이나 특수한 줄바꿈도 후보가 될 수 있으므로, 효과음이 많은 작품에서는 결과를 제외하거나 조건에 텍스트 역할 ≠ 효과음을 추가하세요.
변덕스러운 폭군 세라피나의 대사 중 처형이 들어간 문장만 골라 격식체로 바꾸고 핵심 문구를 강조하는 예입니다.
조건은 모두 맞을 때로 묶습니다.
seraphina처형을 포함작업은 순서대로 두 개를 둡니다.
처형했습니다 → 처형하였습니다처형하였습니다 부분만 굵게, 34px, 붉은색으로 지정그러면 대신의 설명에는 손대지 않고 세라피나가 말한 두 문장만 바뀝니다. 실제 작품에서는 캐릭터에 연결된 화자 ID를 그대로 사용하세요. 화자 정보가 비어 있다면 먼저 캐릭터·블록 정보를 정리하거나, 화자 조건을 빼고 더 구체적인 문장 조건을 사용합니다.
텍스트 역할이 효과음인 블록만 골라 글자 크기·색·외곽선과 검수 상태를 한 번에 바꿉니다.
조건:
속성 바꾸기:
이 규칙은 이미 효과음으로 분류된 블록의 표시 방식을 바꾸는 용도입니다. 효과음을 새로 찾거나 번역하지는 않습니다. 감지와 번역은 아래의 효과음 검토 흐름을 사용하세요.
작업을 하나도 넣지 않아도 일괄 편집기를 검수 검색기로 사용할 수 있습니다.
조건은 하나라도 맞을 때로 묶습니다.
작업은 비워 둡니다. 그러면 화 전체에서 위험 후보만 오른쪽에 모이고 적용 버튼은 나타나지 않습니다. 결과를 하나씩 열어 직접 수정하거나, 필요하다면 검수 상태를 검수 필요로 변경하는 작업을 나중에 추가하세요.
새 규칙 메뉴에는 빈 번역, 낮은 OCR 신뢰도, 원문과 같은 번역, 숫자 불일치, 괄호·따옴표 불균형, 의심스러운 공백, 용어집 불일치, 너무 긴 번역, 낮은 글꼴 신뢰도, 검수 대기 같은 점검용 시작점도 있습니다.
| 구분 | 대표 항목 |
|---|---|
| 조건 | 원문·번역문, 화자, 텍스트 역할, 폰트 역할, 방향, 검수 상태, OCR·글꼴 신뢰도, 길이·줄 수·페이지 번호 |
| 자동 점검 | 원문과 동일, 숫자 불일치, 구두점 불균형, 의심스러운 공백, 용어집 불일치, 부분 서식 유무 |
| 텍스트 작업 | 일반 문자·시각 패턴·정규식 찾아 바꾸기, 원문·번역문·둘 다 대상 |
| 속성 작업 | 글자 크기·방향·정렬·간격·색·외곽선·효과·화자·역할·검수 상태 등 설정 또는 초기화 |
| 서식 작업 | 저장한 서식 프리셋 적용, 번역문 전체 또는 특정 부분에 글자별 서식 적용 |
| 조합 | 조건 그룹, 여러 작업의 순차 실행, 여러 규칙의 연속 실행 |
저장한 규칙은 수정 후 자동 저장됩니다. 규칙을 즐겨찾기에 두거나 복제할 수 있고, 한 규칙 또는 전체 규칙을 YAML로 내보내 다른 PC와 교환할 수 있습니다. 직접 편집은 숙련자를 위한 YAML 보기이므로, 처음에는 화면의 조건·작업 편집기를 권장합니다.
좁은 창에서도 왼쪽 규칙, 가운데 미리보기, 오른쪽 결과가 각각 내부 스크롤을 사용합니다. 다만 긴 규칙을 만들 때는 넓은 창이 훨씬 편합니다.
HayaiOCR을 사용하면 일반 대사 처리 뒤 별도 효과음 후보가 효과음? 상자로 남을 수 있습니다. 자동 판정을 그대로 확정하지 않고 사람이 확인하도록 만든 흐름입니다.
단건 번역은 원문을 유지합니다. 원문 제거까지 함께 하려면 전체 효과음 번역 창에서 인페인팅을 선택하세요.
효과음 번역 뒤에는 다음을 확인합니다.
여러 효과음의 서식이 제각각이면 앞의 효과음 한 번에 강조 규칙이나 서식 프리셋을 사용합니다.
G를 누르면 현재 페이지 또는 화 전체의 문장을 한곳에서 볼 수 있습니다.
CSV/TSV 검수표에는 블록 ID, OCR, 번역문, 검수 상태와 메모가 들어갑니다. 다시 가져오면 같은 블록 ID의 허용된 필드만 갱신하며 누락·중복·OCR 불일치는 경고합니다.
외부 편집자가 번역문만 고칠 때는 TXT가 간단하고, 상태·메모까지 함께 관리하려면 CSV/TSV가 적합합니다.
작품 단위의 용어/기억은 페이지가 바뀌어도 번역을 일관되게 만드는 자료입니다.
인명, 지명, 기술명과 허용 표기를 등록합니다. 번역에서 빼야 하는 원문, 별칭과 메모도 함께 관리할 수 있습니다. 자주 등장하는데 표기가 계속 달라지는 항목부터 넣으세요.
원문·번역 이름, 화자 ID, 호칭, 존댓말·반말과 말투 지침을 등록합니다. 블록의 화자와 캐릭터가 연결되어 있으면 번역 일관성을 높이고 화자별 일괄 편집 조건도 안전하게 사용할 수 있습니다.
호칭 처리, 효과음 처리와 작품 전체의 기본 문체를 정합니다. 규칙을 너무 많이 겹치기보다 결과가 계속 어긋나는 원칙만 명확하게 두는 편이 좋습니다.
페이지별 장면 요약과 기존 메모를 확인하고, 다음 장면에서 꼭 필요한 사건·관계 변화를 남깁니다. 빈 요약을 직접 채울 수 있지만 이미 지난 장면을 장황하게 다시 적을 필요는 없습니다.
자료가 많다고 항상 좋은 것은 아닙니다. 자주 틀리는 고유명사와 다음 장면에 꼭 필요한 사건부터 넣고, 화면의 토큰 예산을 확인하세요.
이 정보는 일괄 편집 조건의 화자·용어집 불일치 점검과도 연결됩니다. 예를 들어 캐릭터 ID가 정리되어 있으면 화자별 말투 규칙을 안전하게 만들 수 있습니다.
번역문과 블록 위치를 확인한 뒤 인페인팅을 실행합니다.
수동 도구:
머리카락, 집중선, 무늬 배경처럼 선이 많은 부분은 자동 결과를 확대해서 확인하세요. 중요한 선을 함께 지웠다면 더 작은 범위로 다시 처리하거나 복원 도구로 정리합니다.
자동 폰트 맞춤은 블록의 역할·굵기·형태와 같은 페이지의 일반 대사 경향을 함께 보고 후보를 정합니다. 일반 대사를 과장된 효과음 폰트로 바꾸지 않도록 보수적인 제한도 적용됩니다.
다만 결과는 사람의 최종 식자 판단을 대신하지 않습니다. 특히 짧은 감탄사, 장식 글자, 회전 효과음과 독특한 손글씨는 직접 비교하세요. 사용자가 직접 고정한 폰트·색·외곽선은 자동 선택이 함부로 덮어쓰지 않으며, 자동 선택 결과는 되돌릴 수 있습니다.
원문 글자의 실제 획과 OCR 줄을 참고해 새 번역 블록의 명목 크기를 추정합니다. 좁은 세로 문장과 분리된 HayaiOCR 줄을 함께 보고, 세로쓰기의 짝 구두점도 방향에 맞춰 배치합니다.
기존 보관함의 블록을 일괄해서 몰래 바꾸지는 않습니다. 새 번역 또는 해당 페이지 재번역부터 새 측정이 적용됩니다.
폰트 선택기의 폰트 관리 → TTF/OTF 폰트 등록에서 추가합니다. 등록한 폰트는 화면 미리보기와 PNG·PSD 출력에 사용됩니다.
새로 만드는 블록의 기본 모양은 설정 → 기본 서식에서 정합니다. 방향·정렬·폰트·크기·간격·색과 외곽선을 원하는 출발값으로 맞추되, 이미 편집한 블록을 바꾸는 기능은 아니라는 점에 유의하세요.
다른 PC에서 작업 파일을 열 경우 같은 폰트가 없으면 대체 폰트가 보일 수 있습니다. 함께 작업하는 사람에게 사용한 폰트와 라이선스를 알려 주세요.
번들 폰트의 출처와 조건은 third_party/fonts/README.md에서 확인할 수 있습니다.
Ctrl+E 또는 명령 팔레트의 내보내기 열기를 사용합니다.
번역이 끝날 때마다 결과 이미지를 자동으로 저장하려면 설정 → 결과물 자동 저장에서 저장 시점, 파일 형식과 폴더 구조를 정합니다. 편집 중인 결과를 계속 덮어쓸 수 있으므로 처음에는 별도 폴더를 사용하고 파일명 예시를 확인하세요.
PNG를 내보낼 때는 화와 페이지, 파일 형식, 저장 위치와 같은 이름 처리 방법을 정합니다. 아래쪽 출력 전 확인에서 빈 번역, 미완료 인페인팅과 덮어쓰기 위험을 먼저 확인하세요. 경고가 있는 페이지는 페이지 보기로 바로 이동할 수 있습니다.
가로쓰기처럼 PSD 텍스트로 안전하게 표현할 수 있는 블록은 편집 가능한 텍스트 정보를 넣을 수 있습니다. 세로쓰기, 곡선, 원근과 복잡한 부분 서식은 앱과 모양이 달라지지 않도록 래스터 레이어가 될 수 있습니다.
출력 전에 다음을 확인합니다.
기존 결과물을 덮어쓰지 않도록 새 출력 폴더를 사용하는 흐름이 기본입니다.
.mgtshare는 완성 이미지가 아니라 다른 PC에서 이어서 편집하는 작업 파일입니다.
포함 가능:
포함하지 않음:
가져올 때 새 작품으로 만들거나 기존 작품의 화를 추가·교체할 수 있습니다. 원본 이미지가 포함되므로 공유 권한을 반드시 확인하세요.
?를 누르면 현재 단축키 도움말이 열립니다. 설정 → 단축키에서 대부분의 키를 바꿀 수 있습니다.
Ctrl+K는 명령 팔레트를 엽니다. 기능 이름 일부를 입력해 설정, 번역 옵션, 텍스트 모아보기, 일괄 편집과 내보내기를 메뉴를 찾지 않고 실행할 수 있습니다.
| 키 | 동작 |
|---|---|
| Ctrl+K | 명령 팔레트 |
| Ctrl+, | 설정 열기 |
| ? | 단축키 도움말 |
| T | 번역 옵션 |
| Shift+T | 남은 페이지 이어서 번역 |
| G | 텍스트 모아보기 |
| Ctrl+H | 일괄 편집 |
| Ctrl+E | 내보내기 |
| Ctrl+Z | 실행 취소 |
| Ctrl+Shift+Z | 다시 실행 |
| PageUp / PageDown | 이전 / 다음 페이지 |
| Ctrl+A | 현재 페이지 블록 전체 선택 |
| Ctrl+Alt+↑ / ↓ | 읽기 순서 이동 |
| Ctrl+Shift+R | 좌표 기준 읽기 순서 정렬 |
| Alt+1 … Alt+0 | 서식 프리셋 슬롯 1~10 |
텍스트 입력 중에도 동작해야 하는 명령과 편집기에 맡겨야 하는 키가 구분되어 있습니다. 키 충돌이 생기면 단축키 설정에서 기존 연결을 먼저 확인하세요.
단축키를 바꾸려면 원하는 명령의 입력란을 누른 뒤 새 조합을 입력하고 저장합니다. 이미 다른 명령에 연결된 조합은 충돌 표시를 확인한 뒤 한쪽을 바꾸세요. 기본값으로 복원하면 사용자 지정 키를 모두 되돌릴 수 있습니다.
처음에는 모델, Python, OCR과 인페인팅 런타임을 내려받고 검증할 수 있습니다. 준비가 끝난 뒤에도 느리다면 작은 Gemma 프리셋, OCR CPU/권장 경로, AOT 또는 LaMa, 번역만 실행 순서로 부담을 낮춰 보세요.
블록의 텍스트 역할을 효과음으로 바꾸고 서식을 다시 적용합니다. 다음 번역에서는 HayaiOCR의 효과음 후보를 포함·제외하는 단계에서 분류를 확인하세요.
용어집과 캐릭터에 표기를 등록하고 누적 컨텍스트를 사용합니다. 이미 번역한 화는 일괄 편집의 화자·번역문 조건으로 필요한 문장만 정리합니다.
범위를 페이지로 줄이고, 모든 말풍선 대신 텍스트 역할·화자·검수 상태 조건을 추가합니다. 오른쪽의 전체 제외 후 필요한 결과만 다시 포함하는 방법도 안전합니다.
미리보기를 만든 뒤 다른 창이나 편집기에서 같은 블록이 바뀐 경우입니다. 창을 닫고 최신 내용으로 다시 열어 미리보기를 재계산하세요. 충돌 항목은 자동으로 덮어쓰지 않습니다.
설정 → LLM → Codex에서 ChatGPT 로그인을 다시 확인하고 모델 테스트를 실행합니다. 계속 실패하면 확인/업데이트 탭에서 로그 폴더를 열어 내장 Codex App Server 시작 오류를 확인하세요.
API 키, Base URL, 모델 ID와 이미지 입력 지원 여부를 확인합니다. 서버가 거부할 수 있는 Temperature, top_p, top_k, reasoning_effort, 추가 JSON과 사용자 헤더를 잠시 비우고 재시도하세요.
드라이버와 권장 런타임을 확인합니다. OCR만 CPU로 바꿔도 LLM 번역은 GPU에서 계속 실행할 수 있습니다. 장치 고급 설정을 직접 바꿨다면 권장값으로 되돌려 비교하세요.
등록한 TTF/OTF 파일이 이동·삭제되지 않았는지 확인합니다. 다른 PC에서 연 작업이라면 같은 폰트를 등록하고, PSD에서 래스터 처리되는 세로·곡선·부분 서식 블록인지도 확인하세요.
설치 중 지정한 데이터 폴더 아래에 설정과 작품을 저장합니다.
data/ settings.json library/ logs/ fonts/ hf-cache/ llama.cpp/ ocr-runtime/ models/ tmp/
library/: 작품, 화, 페이지, 블록과 인페인팅 데이터fonts/: 직접 등록한 TTF/OTFhf-cache/, llama.cpp/, ocr-runtime/, models/: 모델과 런타임logs/: 현재·직전 실행 로그macOS 기본 데이터 위치는 ~/Library/Application Support/manga-gemma-translator입니다.
중요한 작품은 데이터 폴더 전체를 백업하거나 .mgtshare로 별도 보관하세요. 보관함의 library, 원본과 출력물은 캐시가 아니므로 모델 정리와 함께 삭제하면 안 됩니다.
로그에는 로컬 경로나 작품 내용 일부가 들어갈 수 있습니다. GitHub 이슈에 붙이기 전에 미리보기를 읽고 민감한 내용을 가리세요. 앱은 오류 보고서를 자동 업로드하거나 이슈를 자동 제출하지 않습니다.
개인정보 안내는 docs/privacy-policy.md, 보안 정책은 SECURITY.md에서 확인할 수 있습니다.
필요 환경은 Node.js LTS, npm과 Git입니다.
npm install npm run dev
주요 검사:
npm run typecheck npm run test npm run lint npm run build npm run check
Windows 패키지:
npm run dist:win
릴리스마다 Windows Authenticode와 macOS Developer ID·공증 상태가 다를 수 있으므로 해당 버전 패치노트와 provenance를 확인하세요.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
앱 소스코드는 GPL-3.0-only로 배포합니다. 폰트, FFmpeg, JavaScript/Python 패키지, OCR·AI 모델과 런타임에는 각각 별도 조건이 적용될 수 있습니다. 재배포 전 THIRD_PARTY_NOTICES.md와 번들 폰트 고지를 확인하세요.
TypeScript
45.9%
Python
42.0%
JavaScript
10.5%
CSS
1.2%
Open-source desktop OCR, AI translation, editing and inpainting tool for user-provided manga and comic images.
63
stars
634
commits
TypeScript
primary language
Sep 9, 2026
updated
OCR부터 번역, 식자, 원문 제거, 검수와 출력까지 한곳에서 처리하는 데스크톱 만화 번역 도구
Windows 10/11 · Apple Silicon macOS 14+
한국어 · English · 日本語 · 简体中文 · 繁體中文
당근망가번역기는 사용자가 준비한 만화·코믹 이미지에서 대사와 효과음을 찾고, AI로 번역한 뒤, 화면 위에서 문장·배치·서식을 다듬어 PNG 또는 레이어 PSD로 내보내는 오픈소스 앱입니다. 이미지 한 장부터 여러 화가 든 폴더·압축파일·PDF·웹 페이지 링크까지 가져올 수 있고, 텍스트 일괄 편집으로 이름·말투·서식·검수 상태를 여러 블록에 한꺼번에 적용할 수 있습니다.
처음 실행하면 빈 보관함과 시작 안내가 나타납니다.
처음부터 한 화 전체를 처리하기보다 서로 다른 형태의 말풍선과 효과음이 있는 1~3페이지를 먼저 시험하는 편이 좋습니다. 잘못된 언어·OCR·폰트·인페인팅 설정을 일찍 발견하면 재작업과 API 사용량을 크게 줄일 수 있습니다.
| 단위 | 뜻 | 함께 저장되는 내용 |
|---|---|---|
| 작품 | 여러 화를 묶는 최상위 단위 | 공통 용어집, 캐릭터, 번역 규칙, 스토리 메모리 |
| 화 | 번역·검수·출력 범위를 정하는 회차 | 여러 페이지와 회차별 진행 상태 |
| 페이지 | 원본 이미지 한 장 | 이미지, OCR 결과, 블록, 인페인팅 결과 |
| 블록 | 대사·나레이션·효과음 한 덩어리 | 원문, 번역문, 위치, 크기, 역할과 서식 |
처리 과정도 세 부분으로 나누어 생각하면 쉽습니다.
OCR이 틀리면 번역도 틀릴 가능성이 높습니다. 번역문만 고치기 전에 오른쪽 편집 패널의 OCR 원문부터 확인하세요.
Intel Mac은 지원하지 않습니다. macOS 14 이상과 M1 이상의 Apple Silicon이 필요합니다.
설정 → LLM에서 만화의 원문 언어와 결과 언어를 먼저 정합니다. 앱 표시 언어는 설정 → 일반에서 별도로 바꿉니다.
일본어 만화를 한국어로 옮긴다면 다음처럼 시작합니다.
| LLM | 처리 위치 | 준비할 것 | 이런 경우에 적합 |
|---|---|---|---|
| Gemma 로컬 | 현재 PC | 모델 저장 공간, 충분한 RAM/VRAM | 작품을 로컬에서 처리하고 싶을 때 |
| Codex | Codex 계정 | 앱 안의 ChatGPT 로그인, 인터넷 | 로컬 모델 준비를 줄이고 싶을 때 |
| API | OpenAI 호환 비전 API 또는 로컬 서버 | Base URL, 모델 ID, 필요 시 API 키 | 이미 사용하는 서버·모델이 있을 때 |
Codex 엔진은 앱에 포함된 Codex App Server와 별도 앱 데이터 디렉터리를 사용합니다. 시스템에 Codex CLI를 따로 설치하거나 터미널에서 로그인할 필요는 없습니다.
Gemma를 고르면 모델 크기, GPU 오프로딩과 컨텍스트 크기를 정할 수 있습니다. 처음에는 권장 프리셋으로 한 페이지를 시험하고, 메모리가 부족할 때만 더 작은 모델이나 컨텍스트로 낮추세요.
API 엔진은 이미지 입력을 지원하는 모델이 필요합니다. 401·403 오류는 키나 권한을, 404 오류는 Base URL과 모델 ID를 먼저 확인하세요.
인터넷 조사를 켜면 번역 전에 기존 용어집을 점검하고 빠진 고유명사·인물 정보를 보완할 수 있습니다. 설정 → LLM → 인터넷 조사에서 Tavily 또는 Codex를 고르고, 조사할 페이지 수와 결과 반영 방식을 확인하세요. 외부 서비스로 작품 문맥이 전달될 수 있으므로 공개해도 되는 자료에만 사용합니다.
설정 → 하드웨어에서 자동 감지 결과와 권장값을 확인합니다.
OCR 선택지는 용도가 다릅니다.
| OCR | 특징 | 선택 기준 |
|---|---|---|
| HayaiOCR | 일반 텍스트 영역과 효과음 후보를 나누고 고정된 영역별로 판독합니다. 효과음을 별도 검토·번역하는 새 흐름과 연결됩니다. | 새 작품을 시작하거나 효과음까지 다룰 때 |
| PaddleOCR | 이전 버전의 조각·그룹 처리 방식과 호환됩니다. | 기존 작업에서 예전 블록 분리가 더 잘 맞았을 때 |
처음에는 화면 위의 권장값 적용을 누르고 대표 페이지로 시험하세요. 고급 장치 선택은 문제가 있을 때만 펼치는 편이 안전합니다.
인페인팅 모델은 다음처럼 고를 수 있습니다.
마지막으로 설정 → 확인/업데이트에서 OCR·모델 확인을 실행합니다. 처음에는 필요한 런타임을 내려받고 체크섬을 검사하므로 시간이 걸릴 수 있습니다. 문제가 생겼을 때는 이 화면에서 다시 확인하고 로그 폴더를 여는 것이 가장 빠릅니다.
왼쪽 위의 새 원본 추가 또는 여러 화 추가를 사용합니다. 파일 탐색기에서 앱으로 끌어 놓아도 됩니다.
지원 입력:
가져오기 창에서는 다음 순서로 확인합니다.
폴더·압축파일 안의 이미지는 파일명 기준 자연 정렬을 사용하고, PDF는 페이지 순서대로 이미지로 변환합니다. WEBP는 보관함에 들어갈 때 PNG로 정규화됩니다.
주의할 점:
웹 링크를 가져올 때는 주소를 붙여 넣고 이미지 찾기를 누른 뒤, 썸네일과 크기를 확인해 실제 만화 페이지만 남깁니다. 표지·배너·아이콘이 함께 잡히면 체크를 끄고, 페이지 순서는 가져오기 전에 정리하세요.
작품 아래의 화를 선택하고 번역을 누릅니다.
상단에서 현재 페이지·현재 화를 고르거나 화 목록을 펼쳐 필요한 페이지만 체크합니다. 아래 옵션에서 처리 모드, 블록 생성 방식, 자동 서식과 원문 지우기를 정한 뒤 예상 페이지 수를 다시 확인하세요.
| 선택지 | 하는 일 | 언제 쓰나 |
|---|---|---|
| 빠른 1회 | 각 페이지를 독립적으로 번역 | 속도·연결 확인용 |
| 누적 컨텍스트 | 앞 페이지의 인물·사건·용어를 다음 페이지가 참고 | 일반적인 연속 장면 |
| 자동 생성 | OCR과 모델 결과로 블록을 새로 생성 | 최초 번역 |
| 기존 블록 유지 | 블록 위치와 서식을 보존하고 텍스트 중심으로 갱신 | 식자 후 재번역 |
화 번역이 중단되면 페이지별 체크포인트가 남을 수 있습니다. 다시 열었을 때 페이지 선택 상태는 대체로 다음 세 가지 의미를 가집니다.
원본 페이지나 언어·블록 방식이 달라져 체크포인트 검증에 실패하면 앱은 오래된 결과를 억지로 재사용하지 않습니다.
자동 결과는 출발점입니다. 작은 후리가나, 속삭임, 기울어진 효과음, 극단적으로 좁은 세로 문장은 직접 확인하세요.
| 위치 | 역할 |
|---|---|
| 왼쪽 위 | 원본 추가, 설정, 작업 가져오기·내보내기 |
| 왼쪽 보관함 | 작품·화 검색, 정렬, 열기 |
| 왼쪽 아래 | 현재 화의 페이지 목록과 순서 |
| 가운데 | 페이지, 번역 블록, 선택·이동·확대·보정 |
| 오른쪽 도구막대 | 선택, 블록, 보기, 인페인팅 등 작업 모드 |
| 오른쪽 패널 | 현재 페이지 블록 목록과 선택한 블록 편집 |
블록을 클릭하면 오른쪽에서 텍스트, 배치, 서식을 편집할 수 있습니다.
편집에서는 문장을 드래그해 일부 글자만 고른 뒤 서식 도구를 누릅니다. 선택 범위가 없으면 입력 위치 이후의 새 글자에 적용될 수 있으므로, 기존 문장을 바꿀 때는 범위를 먼저 선택하세요.
코드에서는 같은 서식을 마크업으로 확인하고 직접 수정할 수 있습니다. 태그가 잘못 닫히면 미리보기와 출력이 달라질 수 있으므로 복잡한 수정 뒤에는 다시 편집 화면으로 돌아가 결과를 확인하세요.
단순 강조는 다음 표기를 직접 입력해도 됩니다.
**굵게***기울임****강조***
반복해서 쓰는 서식은 프리셋으로 저장하고 1~10번 단축키 슬롯에 연결할 수 있습니다. 선택한 블록의 서식 일부를 다른 선택 블록, 현재 페이지 또는 현재 화 전체에 일괄 적용할 수도 있습니다.
현재 블록의 서식을 여러 곳에 복사하려면 서식 패널의 일괄 적용을 누릅니다. 적용 범위와 복사할 속성만 체크하면 텍스트 내용은 건드리지 않고 모양만 맞출 수 있습니다.
예전의 단순 검색·치환은 조건 + 작업 + 실제 페이지 미리보기 방식의 일괄 편집기로 확장되었습니다. 이름 통일뿐 아니라 화자별 말투, 효과음 서식, 검수 상태, 부분 글자 강조와 오류 후보 수집까지 한 규칙에 묶을 수 있습니다.
여는 방법:
처음에는 항상 페이지 범위에서 규칙을 검증한 뒤 화로 넓히세요.
가장 단순한 시작점입니다. 아래 예시는 번역문의 공작을 대공으로 통일합니다.
설정:
공작대공오른쪽에 결과 1개가 표시되고, 공작님이 대공님으로 바뀌는 것을 확인할 수 있습니다. 동명이인이나 고유명사의 일부까지 바뀔 수 있으므로 결과 목록을 꼭 확인하세요.
두 작업을 연달아 실행하는 기본 예제입니다.
실행 순서:
...을 …으로 바꿉니다.예시 페이지에서는 5개 블록이 바뀝니다. 의도적으로 넓힌 효과음 간격이나 특수한 줄바꿈도 후보가 될 수 있으므로, 효과음이 많은 작품에서는 결과를 제외하거나 조건에 텍스트 역할 ≠ 효과음을 추가하세요.
변덕스러운 폭군 세라피나의 대사 중 처형이 들어간 문장만 골라 격식체로 바꾸고 핵심 문구를 강조하는 예입니다.
조건은 모두 맞을 때로 묶습니다.
seraphina처형을 포함작업은 순서대로 두 개를 둡니다.
처형했습니다 → 처형하였습니다처형하였습니다 부분만 굵게, 34px, 붉은색으로 지정그러면 대신의 설명에는 손대지 않고 세라피나가 말한 두 문장만 바뀝니다. 실제 작품에서는 캐릭터에 연결된 화자 ID를 그대로 사용하세요. 화자 정보가 비어 있다면 먼저 캐릭터·블록 정보를 정리하거나, 화자 조건을 빼고 더 구체적인 문장 조건을 사용합니다.
텍스트 역할이 효과음인 블록만 골라 글자 크기·색·외곽선과 검수 상태를 한 번에 바꿉니다.
조건:
속성 바꾸기:
이 규칙은 이미 효과음으로 분류된 블록의 표시 방식을 바꾸는 용도입니다. 효과음을 새로 찾거나 번역하지는 않습니다. 감지와 번역은 아래의 효과음 검토 흐름을 사용하세요.
작업을 하나도 넣지 않아도 일괄 편집기를 검수 검색기로 사용할 수 있습니다.
조건은 하나라도 맞을 때로 묶습니다.
작업은 비워 둡니다. 그러면 화 전체에서 위험 후보만 오른쪽에 모이고 적용 버튼은 나타나지 않습니다. 결과를 하나씩 열어 직접 수정하거나, 필요하다면 검수 상태를 검수 필요로 변경하는 작업을 나중에 추가하세요.
새 규칙 메뉴에는 빈 번역, 낮은 OCR 신뢰도, 원문과 같은 번역, 숫자 불일치, 괄호·따옴표 불균형, 의심스러운 공백, 용어집 불일치, 너무 긴 번역, 낮은 글꼴 신뢰도, 검수 대기 같은 점검용 시작점도 있습니다.
| 구분 | 대표 항목 |
|---|---|
| 조건 | 원문·번역문, 화자, 텍스트 역할, 폰트 역할, 방향, 검수 상태, OCR·글꼴 신뢰도, 길이·줄 수·페이지 번호 |
| 자동 점검 | 원문과 동일, 숫자 불일치, 구두점 불균형, 의심스러운 공백, 용어집 불일치, 부분 서식 유무 |
| 텍스트 작업 | 일반 문자·시각 패턴·정규식 찾아 바꾸기, 원문·번역문·둘 다 대상 |
| 속성 작업 | 글자 크기·방향·정렬·간격·색·외곽선·효과·화자·역할·검수 상태 등 설정 또는 초기화 |
| 서식 작업 | 저장한 서식 프리셋 적용, 번역문 전체 또는 특정 부분에 글자별 서식 적용 |
| 조합 | 조건 그룹, 여러 작업의 순차 실행, 여러 규칙의 연속 실행 |
저장한 규칙은 수정 후 자동 저장됩니다. 규칙을 즐겨찾기에 두거나 복제할 수 있고, 한 규칙 또는 전체 규칙을 YAML로 내보내 다른 PC와 교환할 수 있습니다. 직접 편집은 숙련자를 위한 YAML 보기이므로, 처음에는 화면의 조건·작업 편집기를 권장합니다.
좁은 창에서도 왼쪽 규칙, 가운데 미리보기, 오른쪽 결과가 각각 내부 스크롤을 사용합니다. 다만 긴 규칙을 만들 때는 넓은 창이 훨씬 편합니다.
HayaiOCR을 사용하면 일반 대사 처리 뒤 별도 효과음 후보가 효과음? 상자로 남을 수 있습니다. 자동 판정을 그대로 확정하지 않고 사람이 확인하도록 만든 흐름입니다.
단건 번역은 원문을 유지합니다. 원문 제거까지 함께 하려면 전체 효과음 번역 창에서 인페인팅을 선택하세요.
효과음 번역 뒤에는 다음을 확인합니다.
여러 효과음의 서식이 제각각이면 앞의 효과음 한 번에 강조 규칙이나 서식 프리셋을 사용합니다.
G를 누르면 현재 페이지 또는 화 전체의 문장을 한곳에서 볼 수 있습니다.
CSV/TSV 검수표에는 블록 ID, OCR, 번역문, 검수 상태와 메모가 들어갑니다. 다시 가져오면 같은 블록 ID의 허용된 필드만 갱신하며 누락·중복·OCR 불일치는 경고합니다.
외부 편집자가 번역문만 고칠 때는 TXT가 간단하고, 상태·메모까지 함께 관리하려면 CSV/TSV가 적합합니다.
작품 단위의 용어/기억은 페이지가 바뀌어도 번역을 일관되게 만드는 자료입니다.
인명, 지명, 기술명과 허용 표기를 등록합니다. 번역에서 빼야 하는 원문, 별칭과 메모도 함께 관리할 수 있습니다. 자주 등장하는데 표기가 계속 달라지는 항목부터 넣으세요.
원문·번역 이름, 화자 ID, 호칭, 존댓말·반말과 말투 지침을 등록합니다. 블록의 화자와 캐릭터가 연결되어 있으면 번역 일관성을 높이고 화자별 일괄 편집 조건도 안전하게 사용할 수 있습니다.
호칭 처리, 효과음 처리와 작품 전체의 기본 문체를 정합니다. 규칙을 너무 많이 겹치기보다 결과가 계속 어긋나는 원칙만 명확하게 두는 편이 좋습니다.
페이지별 장면 요약과 기존 메모를 확인하고, 다음 장면에서 꼭 필요한 사건·관계 변화를 남깁니다. 빈 요약을 직접 채울 수 있지만 이미 지난 장면을 장황하게 다시 적을 필요는 없습니다.
자료가 많다고 항상 좋은 것은 아닙니다. 자주 틀리는 고유명사와 다음 장면에 꼭 필요한 사건부터 넣고, 화면의 토큰 예산을 확인하세요.
이 정보는 일괄 편집 조건의 화자·용어집 불일치 점검과도 연결됩니다. 예를 들어 캐릭터 ID가 정리되어 있으면 화자별 말투 규칙을 안전하게 만들 수 있습니다.
번역문과 블록 위치를 확인한 뒤 인페인팅을 실행합니다.
수동 도구:
머리카락, 집중선, 무늬 배경처럼 선이 많은 부분은 자동 결과를 확대해서 확인하세요. 중요한 선을 함께 지웠다면 더 작은 범위로 다시 처리하거나 복원 도구로 정리합니다.
자동 폰트 맞춤은 블록의 역할·굵기·형태와 같은 페이지의 일반 대사 경향을 함께 보고 후보를 정합니다. 일반 대사를 과장된 효과음 폰트로 바꾸지 않도록 보수적인 제한도 적용됩니다.
다만 결과는 사람의 최종 식자 판단을 대신하지 않습니다. 특히 짧은 감탄사, 장식 글자, 회전 효과음과 독특한 손글씨는 직접 비교하세요. 사용자가 직접 고정한 폰트·색·외곽선은 자동 선택이 함부로 덮어쓰지 않으며, 자동 선택 결과는 되돌릴 수 있습니다.
원문 글자의 실제 획과 OCR 줄을 참고해 새 번역 블록의 명목 크기를 추정합니다. 좁은 세로 문장과 분리된 HayaiOCR 줄을 함께 보고, 세로쓰기의 짝 구두점도 방향에 맞춰 배치합니다.
기존 보관함의 블록을 일괄해서 몰래 바꾸지는 않습니다. 새 번역 또는 해당 페이지 재번역부터 새 측정이 적용됩니다.
폰트 선택기의 폰트 관리 → TTF/OTF 폰트 등록에서 추가합니다. 등록한 폰트는 화면 미리보기와 PNG·PSD 출력에 사용됩니다.
새로 만드는 블록의 기본 모양은 설정 → 기본 서식에서 정합니다. 방향·정렬·폰트·크기·간격·색과 외곽선을 원하는 출발값으로 맞추되, 이미 편집한 블록을 바꾸는 기능은 아니라는 점에 유의하세요.
다른 PC에서 작업 파일을 열 경우 같은 폰트가 없으면 대체 폰트가 보일 수 있습니다. 함께 작업하는 사람에게 사용한 폰트와 라이선스를 알려 주세요.
번들 폰트의 출처와 조건은 third_party/fonts/README.md에서 확인할 수 있습니다.
Ctrl+E 또는 명령 팔레트의 내보내기 열기를 사용합니다.
번역이 끝날 때마다 결과 이미지를 자동으로 저장하려면 설정 → 결과물 자동 저장에서 저장 시점, 파일 형식과 폴더 구조를 정합니다. 편집 중인 결과를 계속 덮어쓸 수 있으므로 처음에는 별도 폴더를 사용하고 파일명 예시를 확인하세요.
PNG를 내보낼 때는 화와 페이지, 파일 형식, 저장 위치와 같은 이름 처리 방법을 정합니다. 아래쪽 출력 전 확인에서 빈 번역, 미완료 인페인팅과 덮어쓰기 위험을 먼저 확인하세요. 경고가 있는 페이지는 페이지 보기로 바로 이동할 수 있습니다.
가로쓰기처럼 PSD 텍스트로 안전하게 표현할 수 있는 블록은 편집 가능한 텍스트 정보를 넣을 수 있습니다. 세로쓰기, 곡선, 원근과 복잡한 부분 서식은 앱과 모양이 달라지지 않도록 래스터 레이어가 될 수 있습니다.
출력 전에 다음을 확인합니다.
기존 결과물을 덮어쓰지 않도록 새 출력 폴더를 사용하는 흐름이 기본입니다.
.mgtshare는 완성 이미지가 아니라 다른 PC에서 이어서 편집하는 작업 파일입니다.
포함 가능:
포함하지 않음:
가져올 때 새 작품으로 만들거나 기존 작품의 화를 추가·교체할 수 있습니다. 원본 이미지가 포함되므로 공유 권한을 반드시 확인하세요.
?를 누르면 현재 단축키 도움말이 열립니다. 설정 → 단축키에서 대부분의 키를 바꿀 수 있습니다.
Ctrl+K는 명령 팔레트를 엽니다. 기능 이름 일부를 입력해 설정, 번역 옵션, 텍스트 모아보기, 일괄 편집과 내보내기를 메뉴를 찾지 않고 실행할 수 있습니다.
| 키 | 동작 |
|---|---|
| Ctrl+K | 명령 팔레트 |
| Ctrl+, | 설정 열기 |
| ? | 단축키 도움말 |
| T | 번역 옵션 |
| Shift+T | 남은 페이지 이어서 번역 |
| G | 텍스트 모아보기 |
| Ctrl+H | 일괄 편집 |
| Ctrl+E | 내보내기 |
| Ctrl+Z | 실행 취소 |
| Ctrl+Shift+Z | 다시 실행 |
| PageUp / PageDown | 이전 / 다음 페이지 |
| Ctrl+A | 현재 페이지 블록 전체 선택 |
| Ctrl+Alt+↑ / ↓ | 읽기 순서 이동 |
| Ctrl+Shift+R | 좌표 기준 읽기 순서 정렬 |
| Alt+1 … Alt+0 | 서식 프리셋 슬롯 1~10 |
텍스트 입력 중에도 동작해야 하는 명령과 편집기에 맡겨야 하는 키가 구분되어 있습니다. 키 충돌이 생기면 단축키 설정에서 기존 연결을 먼저 확인하세요.
단축키를 바꾸려면 원하는 명령의 입력란을 누른 뒤 새 조합을 입력하고 저장합니다. 이미 다른 명령에 연결된 조합은 충돌 표시를 확인한 뒤 한쪽을 바꾸세요. 기본값으로 복원하면 사용자 지정 키를 모두 되돌릴 수 있습니다.
처음에는 모델, Python, OCR과 인페인팅 런타임을 내려받고 검증할 수 있습니다. 준비가 끝난 뒤에도 느리다면 작은 Gemma 프리셋, OCR CPU/권장 경로, AOT 또는 LaMa, 번역만 실행 순서로 부담을 낮춰 보세요.
블록의 텍스트 역할을 효과음으로 바꾸고 서식을 다시 적용합니다. 다음 번역에서는 HayaiOCR의 효과음 후보를 포함·제외하는 단계에서 분류를 확인하세요.
용어집과 캐릭터에 표기를 등록하고 누적 컨텍스트를 사용합니다. 이미 번역한 화는 일괄 편집의 화자·번역문 조건으로 필요한 문장만 정리합니다.
범위를 페이지로 줄이고, 모든 말풍선 대신 텍스트 역할·화자·검수 상태 조건을 추가합니다. 오른쪽의 전체 제외 후 필요한 결과만 다시 포함하는 방법도 안전합니다.
미리보기를 만든 뒤 다른 창이나 편집기에서 같은 블록이 바뀐 경우입니다. 창을 닫고 최신 내용으로 다시 열어 미리보기를 재계산하세요. 충돌 항목은 자동으로 덮어쓰지 않습니다.
설정 → LLM → Codex에서 ChatGPT 로그인을 다시 확인하고 모델 테스트를 실행합니다. 계속 실패하면 확인/업데이트 탭에서 로그 폴더를 열어 내장 Codex App Server 시작 오류를 확인하세요.
API 키, Base URL, 모델 ID와 이미지 입력 지원 여부를 확인합니다. 서버가 거부할 수 있는 Temperature, top_p, top_k, reasoning_effort, 추가 JSON과 사용자 헤더를 잠시 비우고 재시도하세요.
드라이버와 권장 런타임을 확인합니다. OCR만 CPU로 바꿔도 LLM 번역은 GPU에서 계속 실행할 수 있습니다. 장치 고급 설정을 직접 바꿨다면 권장값으로 되돌려 비교하세요.
등록한 TTF/OTF 파일이 이동·삭제되지 않았는지 확인합니다. 다른 PC에서 연 작업이라면 같은 폰트를 등록하고, PSD에서 래스터 처리되는 세로·곡선·부분 서식 블록인지도 확인하세요.
설치 중 지정한 데이터 폴더 아래에 설정과 작품을 저장합니다.
data/ settings.json library/ logs/ fonts/ hf-cache/ llama.cpp/ ocr-runtime/ models/ tmp/
library/: 작품, 화, 페이지, 블록과 인페인팅 데이터fonts/: 직접 등록한 TTF/OTFhf-cache/, llama.cpp/, ocr-runtime/, models/: 모델과 런타임logs/: 현재·직전 실행 로그macOS 기본 데이터 위치는 ~/Library/Application Support/manga-gemma-translator입니다.
중요한 작품은 데이터 폴더 전체를 백업하거나 .mgtshare로 별도 보관하세요. 보관함의 library, 원본과 출력물은 캐시가 아니므로 모델 정리와 함께 삭제하면 안 됩니다.
로그에는 로컬 경로나 작품 내용 일부가 들어갈 수 있습니다. GitHub 이슈에 붙이기 전에 미리보기를 읽고 민감한 내용을 가리세요. 앱은 오류 보고서를 자동 업로드하거나 이슈를 자동 제출하지 않습니다.
개인정보 안내는 docs/privacy-policy.md, 보안 정책은 SECURITY.md에서 확인할 수 있습니다.
필요 환경은 Node.js LTS, npm과 Git입니다.
npm install npm run dev
주요 검사:
npm run typecheck npm run test npm run lint npm run build npm run check
Windows 패키지:
npm run dist:win
릴리스마다 Windows Authenticode와 macOS Developer ID·공증 상태가 다를 수 있으므로 해당 버전 패치노트와 provenance를 확인하세요.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
앱 소스코드는 GPL-3.0-only로 배포합니다. 폰트, FFmpeg, JavaScript/Python 패키지, OCR·AI 모델과 런타임에는 각각 별도 조건이 적용될 수 있습니다. 재배포 전 THIRD_PARTY_NOTICES.md와 번들 폰트 고지를 확인하세요.
TypeScript
45.9%
Python
42.0%
JavaScript
10.5%
CSS
1.2%