kone
소프트펨돔

소프트펨돔

RJ 01 35 22 05 번역하기 - 1. 개요 / R P G Ma ker Uni te와 Uni ty의 구조 및 번역법 이해

11/04/2025, 15:25:12
정보
5836 views · 9 likes

https://kone.gg/s/femdom/cHeOnMRc-3QRf0RUpX1PKb?p=1&qd=all&qk=%EA%B1%B0%EC%9D%98
이거 후속글임.
원래 글 전체를 한번에 다 쓰려 했는데 늦어질 것 같아서 개요부터 올림
번역/프로그래밍에 익숙한 사람이거나, 이거 기반으로 물어보면서 gpt를 갈군다면 개요만으로도 가능할 것 같아서 우선 개요만 올렸음


- 이 게임은 어떤 엔진으로 만들어졌는가?
그냥 uni ty가 아니라, r p g ma ker un ite를 통해 만들어진 것으로 보임.
얘는 이름 보면 알겠지만 r p g ma ker vx, mv, mz 등과 같운 곳에서 만들었고, 유니티와도 관련이 있음. ui가 mv같다고 느끼는 것도 같은 이유임.
mv->mz->unit e 순서로 나와서 un ite가 가장 최신제품이지만, 평가는 좋지 않기에 거의 안 쓰이는 중임. 추후에 어떻게 될지는 모르겠음.
xoxo가 번역이 잘 안되는게 un ite의 특성인지, 이 게임 제작자가 그렇게 해놓은 건지는 모르겠음. 하지만 이게 다른 un ite 게임에도 해당되는 이야기라면, 추후 타 게임 번역할 때도 이 글이 도움이 됐으면 좋겠음.

- un ite의 구조적 특징
최종 결과물은 유니티지만 뜯어보면 내부 구조는 rpg mv와 유사함.

기존 mv 번역은 아래의 과정과 같았음
1. mv에 있는 json 파일에서 번역 대상 텍스트 분리
2. 번역
3. 다시 json에 조립

그래서 얘를 번역하려면 4가지 단계가 필요한데
1. 유니티 뜯어서 자료 얻기
2. 뜯은 자료를 mv번역에서 한 것과 유사한 규칙으로 번역 대상 텍스트 분리
3. 번역
4. 다시 이 데이터를 유니티에 조립

이렇게 됨.

- 그래서 번역은 어떤 방식으로 하는가
3번은 기존과 크게 다르지 않으므로 결국 문제는 1,2,4번 단계인데

1번 => 다행히도 유니티는 유명하니까 뜯는 걸 지원하는 툴들이 많음. 그래서 gpt에게 물어봐도 잘 대답해줌. 여기서는 ass et rip per를 사용함. ass et rip per로 게임 폴더를 열고(exe가 있는 폴더) 기다림. 그 다음 완료되면 export un ity project로 내보냄. 선택지가 있을텐데 primary만 export하면 안되고 전체를 export 해야 함. 그러면 파일들이 많을텐데, 게임 텍스트가 들어있는 폴더는 딱 하나임. 따라서 2번에서는 다움 폴더에서 번역문을 뽑는 작업을 할 거임. Assets/RPGMaker/Storage/Event/SO/Event/*.asset

asset ripper에서 export 를 통해서 위와 같이 뽑아냈다면 우선 텍스트 추출까지는 성공한 거임


2번 => ass et 파일들을 보면 json이 아니라 yml 형태의 파일임. r p g mv에서 형태가 바뀌긴 했지만 내부 구조는 rpg ma ker들과 크게 다르지 않음. 마찬가지로 gpt에게 물어봐도 잘 대답해줌. 나는 401번, 402번, 101번은 모두 번역했고, 101번은 실제 조립 과정에서 일부만 조립함. 일반 메시지 출력은 401번 코드, 선택지는 402번 코드, 101번은 이름표기+알파인데 이름 표기만 적용함
3번 => 준비된 번역기 프로그램이 있으면 무난, 없으면 귀찮을 거임. 나는 source,target 형태로 매 라인마다 원문,번역문 형태로 나오는 csv파일을 만들었음. 여기서 파싱이 쉬운 파일 형식을 해야 dns py에 넣을 코드도 간결해짐
4번 => 일단 나는 dn spy를 사용해 dll 코드를 직접 수정하는 방식으로 했음. 3번에서 만든 번역 파일을 읽어서 일치하는 원문 발견 시 번역문으로 대체하도록 함. 우선 dns py에서 원하는 위치에 우클릭 후 create type을 눌러서 3번의 번역 데이터를 읽어 텍스트를 번역하는 번역기 클래스를 하나 만듦. 그 다음 다른 곳에서는 이걸 불러다 쓸 거임. 어디서 불러서 쓰느냐? 401, 402, 101 번 코드의 작업을 수행하는 클래스들이 각각 있음. 이 세 군데에서 문자열을 처리하는 시점에 번역기 클래스를 사용해서 원문을 대체해버리면 됨.


- 어떤 도구를 준비해야하는가
1 => un ity asse t ripp er
https://github.com/AssetRipper/AssetRipper
2 => 자체 제작 스크립트(추후 공유 예정)
3 => 선호하는 방식으로 번역
4 => dns py
https://github.com/dnSpy/dnSpy

이렇게 4개임




- 이후
다음 글에서는 2번의 스크립트를 공유하고
다다음 글에서는 4번의 dnSpy의 실제 수정 지점을 공유 예정
만약 1번에 대한 질문도 많으면 1번부터 쓰겠음




1. 개요 / R P G Ma ker Uni te와 Uni ty의 구조 및 번역법 이해
2. uv + python을 사용한 일본어 데이터 추출하기

9
1 comment
Sign in to comment
11/09/25
직접 해보고 싶은데 번역 쪽 지식이 아예 없어서 번역해주실 천사가 나타날 때까지 숨 참는 중...ㅜ
Sign in to comment
데보라 0.3
게임
why않되
04/10 2409 15
서큐버스 유적 질문인데요
질문/요청
aion2222
04/09 685 0
레비아의 모녀 요청해봅니
질문/요청
색구
04/09 1187 6
[미번] TOT 본편+스탠드 얼론 전편
게임
summer4552
04/09 4397 19
충신의 말로 회상 X
일반
why않되
04/09 967 3
모음 공유 요청]A86GJ3 이작가 너무 맛있네요
질문/요청
xkrureo112
04/08 1293 -6
기번)연장) [RJ01 48 054 9] 쇼 타 마법 약학 자와 몬스 터 소녀
게임
kaeru
04/08 4029 14
요청복구) 음마와 마사냥꾼 RJ01503729
게임
ㅇㅇ
04/08 2530 9
도와주세요
질문/요청
kyso2524
04/08 981 -6
드라이드림 신작 2 가지 질문
질문/요청
sbsb4519
04/08 799 0
옆집에 파라서큐 번역판 나온듯?
일반
계략에빠짐
04/07 1399 3
역NTR 추천해주세요
일반
qpsjcb00
04/07 1065 -3
이야 서큐버스의 밤 체험판 해보니까 개쩌는데?
lovesccubus
04/07 2963 8
서큐버시티 기계번역
게임
ellaellaei
04/06 5160 28
딸각기번) RJ01583517 서큐버스 허니잭
게임
미인계좋아
04/06 7064 28
드라이드림 신작 이거 뭐 어캐 깸?
질문/요청
부르마
04/06 1204 1
RJ01386945 약혼자가 있는 지휘관을 벨파스트와 다이호가 파이즈리로 유혹해서 역NTR 복구
질문/요청
cannibalize
04/06 1120 0
세장의 부적 서클 신작은 언제나올까?
일반
tkffuwntpdy
04/06 694 0
큰 여자아이에게 옮겨진다 질문
질문/요청
ddagu
04/05 1243 1
rr연구소 신작 세이브
일반
passing-by
04/05 887 1
서큐버스 듀얼 궁금한건데
질문/요청
dea31
04/05 1101 0
[요청복구] 세장의 부적 시리즈
게임
히젠
04/05 1925 9
후기)드라이드림 신작 빠르게 해봤는데 여전한듯
일반
미인계좋아
04/05 1517 3
기번) 서큐버스 마녀 사냥꾼편 챕터 1
게임
야전포병장교
04/04 3314 15
[복구요청]음마와 마사냥꾼 rj01503729
질문/요청
lskdj
04/04 1156 6
번역요청) [RJ01480549] 쇼타 마법 약학자와 몬스터 소녀
게임
눈나맘마조
04/04 3191 12
번역요청) [RJ01184706] 서큐버시티 ~치녀들의 유혹을 견디며, 도시에 숨어 있는 음마를 찾아내라!~ ver.24.05.19
게임
눈나맘마조
04/04 5579 23
복구)큰 여자아이에게 운반받아!
게임
눈나맘마조
04/04 1772 11
[구매보급][번역요청] RJ0159 5656 まものノごホウビ
게임
dippubpeg53
04/04 2559 6
구매보급 어떻게 하면됨?
질문/요청
dippubpeg53
04/04 660 1