kone
소프트펨돔

소프트펨돔

RJ 01 35 22 05 번역하기 - 3(끝). dnspy를 사용한 텍스트 로드 바꿔치기

12/09/2025, 15:18:02
정보
6974 views · 2 likes

이전 글(파이썬으로 추출하기): https://kone.gg/s/femdom/dze1uP_9Q1VY58LZDjCzOb

마지막 내용임

이제 이전에 만든 csv 파일이 인게임 텍스트를 바꿔치기하도록 개선할 거임. dnspy가 필요함.

- dnspy 로 파일 열고, 번역기 클래스 만들기

우선 dnspy를 통해서 게임폴더 > 게임명_Data > Managed > RPGMaker.CodeBase.CoreSystem.dll 라는 파일을 엶.
그 다음 우클릭 -> add class 를 누르고, 해당 파일 의 내용을 복사해서 붙여넣기 하고 저장하면 됨.


save module까지 눌러줘야 함


이제부터는 CsvTranslator.Translate()를 통해서 문자열을 바꿔치기 할 수 있음

- 번역 대상 찾기
나는 지금 401, 402, 101 코드만 번역했음. 그래서 전체 검색으로 이 코드들을 찾아볼 거임. 그러면 나오는 게 있는데,
AbstractEventCommandChainLauncher 라는 클래스를 보면  코드enum-작업클래스 매핑 딕셔너리가 있음. 이걸 기반으로 최종 대상을 정해보자면,
MessageTextProcessor, MessageTextOnLineProcessor, MessageInputSelectProcessor
이 세 개의 클래스를 수정하면 됨


- 번역 대상에 주입하기

전체 검색으로 MessageTextProcessor 검색. 51번째줄을 보면 원래는 HudDistributor.Instance.NowHudHandler().ShowName(text) 라고 쓰고 있음. 이제 이거에 번역기를 적용해서 HudDistributor.Instance.NowHudHandler().ShowName(CsvTranslator.Translate(text)) 가 되도록 만들어주면 됨. 수정하는 방법은 우클릭 -> edit method로 하면 됨.
마찬가지로 저장 + save module까지 해야 함

마찬가지로 MessageTextOnLineProcessor 검색. 21번째 줄 다음 줄을 약간 수정.

MessageInputSelectProcessor 에서 34번째 줄


- 번역 파일 넣어주기

이렇게 대체를 완료했으면, 번역 파일만 넣어주면 끝임.
이번에는 게임폴더 > 게임명_Data > StreamingAssets  폴더로 들어가서 이전에 얻은 translation.csv 파일을 붙여넣으면 됨.

이제 게임을 실행하면 번역이 적용됨

2
0 comments
Sign in to comment
Sign in to comment