일반게임

illusion SBPR에서의 AutoTranslator 플러그인 적용법과 ezTransWeb 기능을 사용하는 법.

K66Google 2020. 1. 10. 19:57

 

* 알림

설명 필요없이 본론만 보고 싶으시면, 'SBPR에서 AutoTranslator 플러그인 적용법' 단락과

'ezTransWeb 기능을 사용하는 법' 단락만 보시면 됩니다.



그동안 나는 illusion SBPR에 AutoTranslator 플러그인을 적용해보려는 시도를 하지 않고 있었다.

막장한글패치를 다 만들었는데 또다른 한글패치 방식을 시도하는 것도 귀찮고, SBPR이 재미가 별로 없어서 플레이 안 한지 오래되었기 때문이다. (맵은 꽤 잘 만들었다고 생각하지만)


그러나 최근 ezTransWeb이라는 기능을 통해 이지트랜스로 자동번역을 할 수 있다는 제보를 받아서 SBPR을 다시 들여다보게 되었는데, 문득 이런 생각이 들었다.


"SBPR도 AutoTranslator 플러그인을 적용할 수 있지 않을까?"


합리적인 의심이었다. SBPR도 Unity 엔진으로 만들어진 게임이니 어쩌면 될 지도 모른다.

그래서 illusion사 게임이라면 유명한 플러그인인 BepInEx를 설치했다. 그런데...


오류만 나고 꺼지는 것이다.

BepinEx 5버전 64비트, 5버전 32비트는 설치 후에 바로 실행해도 오류가 뜨면서 강제 종료된다.

BepinEx 4버전 64비트는 설치 후에 바로 실행은 되지만 AutoTranslator 플러그인을 설치하면 위와 같은 오류가 뜨면서 역시 강제 종료된다.


error.log에는 공통적으로 'mono.dll caused an Access Violation (0xc0000005)' 라는 문구가 출력되었다.


AutoTranslator가 작동되지 않으면, 자동번역이고 ezTransWeb이고 다 불가능하다. 이를 어쩌면 좋단 말인가?


...그런데 다시 보니까, AutoTranslator는 Bepin만 지원하는 것이 아니었다. IPA, ReiPatcher, UnityInjector도 지원하는 플러그인인 것이었다.


따라서 실행도 안되는 BepIn은 과감히 삭제하고 IPA 3.4.1 (링크) 을 받아서 게임 폴더에 설치하였다.


그런 다음 SexyBeachPR_64.exe를 IPA.exe에다가 드래그해주니 ...(Patch & Launch) 라는 바로가기가 생겼다. 아마 IPA 방식은 이 바로가기를 통해 실행을 하는 것 같다.


바로가기를 통해 실행하니 정상 실행되었다. 종료 후 IPA용 AutoTranslator 4.8.1 (링크) 을 Plugins 폴더에 설치했다.

설치 후 다시 게임을 실행하니 일본어 문장들이 영문으로 번역되어 출력되었다.

다시 종료하고 AutoTranslatorConfig.ini 파일을 열어서 [Service]의 Endpoint를 PapagoTranslate[General]의 Language를 ko로 바꾸었다.

그렇게 하고나니 드디어 일본어 문장들이 한국어로 자동번역되어 출력된다.


----------------------------


※ SBPR에서 AutoTranslator 플러그인 적용법


0. 막장번역 플러그인 삭제 (사용중인 사람에게만 해당)


0-1. Plugins 폴더 내의 UITranslaton 폴더 통째로 삭제.


0-2. ...PR_64_Data\Managed 폴더에 들어가서 UnityEngine.UI.Translation.dll / UnityEngine.dll / UnityEngine.UI.dll 파일을 삭제.


0-3. 같은 폴더의 UnityEngine.dll.original 의 파일 이름을 UnityEngine.dll 로 변경.


0-4. 같은 폴더의 UnityEngine.UI.dll.original 의 파일 이름을 UnityEngine.UI.dll 로 변경.


0-5. ...PR_32_Data\Managed / ...Studio_32_Data\Managed / ...Studio_64_Data\Managed 폴더에서도 위와 동일한 작업 반복.



1. IPA 3.4.1 설치


IPA_3.4.1.zip

1-1. IPA 3.4.1을 다운로드 받아서 SBPR 폴더에 압축을 푼다.


1-2. SexyBeachPR_64.exe 실행파일을 IPA.exe드래그한다.


1-3. 만들어진 바로가기를 클릭하여 게임을 실행한다.



2. AutoTranslator 4.8.1 설치


XUnity.AutoTranslator-IPA-4.8.1.zip

2-1. AutoTranslator 4.8.1을 다운로드 받아서 SBPR 폴더에 압축을 푼다.

(Plugins 폴더 안에 dll 파일들이 바로 보이게끔 풀어야 된다. Plugins\Plugins\dll 파일 이런 구조가 됐다면 싹 지우고 다시 풀 것)


2-2. 게임을 실행했다가 바로 종료한다.


2-3. AutoTranslatorConfig.ini의 일부 내용을 수정하고 저장한다.

(Endpoint 값은 Plugins\Translators 폴더 내 dll 파일들의 이름을 보고 결정하면 된다.)


[Service]

Endpoint=PapagoTranslate


[General]

Language=ko

FromLanguage=ja



2-4. 게임을 다시 실행해서 일본어 문장이 한글로 자동 번역되는지 확인한다. (처음에는 일본어 문장이 나왔다가 5초 이내에 한국어 문장으로 치환된다.)


2-5. 막장 도움말 패치링크 )를 한다. (선택사항)


----------------------------

위 내용까지가 AutoTranslator 플러그인 적용법이다. 여기까지만 해도 다 자동번역되니까 굳이 아래 과정까지 따라 할 필요가 없다.

아래 과정은 이지트랜스로 자동번역을 하고 싶은 사람들만 보시면 된다. 그럼 ezTransWeb 기능에 대해 알아보도록 하자.


ezTransWeb 기능을 사용하려면 당연히 ezTransXP는 설치되어 있어야 하고, 꿀도르 사전의 설치도 필요하다.

두 가지는 이미 설치되어 있어서 상관없는데 파이썬까지 설치해야 한다니... 이건 좀 귀찮다. 무설치 파이썬같은 건 없을까? 그러면 통팩이라도 만들 수 있을텐데...



있었다. 바로 WinPython이다.

나는 여기서 파이썬 3.7 32bit 버전을 다운로드 받았다. (32비트 버전 파이썬이 필요하다고 하니까)


다운로드 받은 후 압축을 풀고 WinPython Command Prompt.exe를 실행해서 명령어 두 개를 입력했다.


pip install -U Flask

pip install gevent


이렇게 하니까 FlaskGevent가 자동으로 다운로드되어 설치되었다. 내가 구하러 다니지 않고 명령어만 치니까 알아서 구해다준다니 신기하군.


이제 .py 파일을 다운로드 받아야 한다. ezTransWeb Github 페이지에서 release에 아무 파일도 없어서 어디서 받아야 되나 했는데 Clone or download 클릭하고 Download ZIP 누르니까 받을 수 있었다.


마지막으로 .py 파일을 실행해줄 배치 파일(.bat)을 만들기로 하였다.

굳이 배치 파일을 만들지 않아도 WPy32-3760\scripts 폴더의 python.bat 파일에다 eztrans.py를 드래그하는 것으로 실행이 되지만 그렇게 하면 번거롭기 때문이다.


배치 파일을 만든 뒤 게임 폴더에 바로가기를 만들었다. 이제 게임과 같이 편하게 실행할 수 있다.

다음으로 AutoTranslatorConfig.ini를 열어서 [Service]의 Endpoint는 CustomTranslate로, [Custom]의 Url은 http://127.0.0.1:5000/translate로 설정하였다.


번역 작동 여부를 파악하기 위해 Translation\ko\Text 폴더 안의 txt 파일도 다 삭제해놓고 배치 파일과 게임을 함께 실행했다.

그 결과는?


성공적으로 일본어 문장이 한국어로 치환되었다. 번역 과정 중에는 배치 파일 화면에 로그가 출력된다.

과정이 좀 복잡한 면이 있어서 아예 통팩까지 만들어놓았는데, 밑에 다운로드 링크에서 받으면 된다.


--------------------------------


※ ezTransWeb 기능을 사용하는 법


1. 공통


1-1. ezTransXP를 설치하고 최초 한 번은 실행한다.


1-2. 꿀도르 사전을 설치한다. (링크)


1-3. AutoTranslatorConfig.ini 설정을 다음과 같이 변경하고 저장한다.


[Service]

Endpoint=CustomTranslate


[General]

Language=ko

FromLanguage=ja


(중략)


[Custom]

Url=http://127.0.0.1:5000/translate



1-4. 기존 번역문을 다 없애고 싶으면 Translation\ko\Text 의 텍스트 파일들을 다 삭제한다. (아니면 건너뛰기)



 

여기서부터는 통팩 설치 / 수동 설치 분기입니다.

통팩으로 받고 싶으신 분들은 2. 통팩 설치 단락을 보시고, 스스로 수동으로 설치하고 싶으면 3. 수동 설치를 보세요.



2. 통팩 설치


2-1. 통팩을 받는다. (링크)


2-2. 게임 폴더에 붙여넣는다.


2-3. ezTransWeb 실행.bat 을 실행한다. (바로가기를 만들어서 실행해도 상관없음)


2-4. 게임을 실행 후 번역 기능의 동작 여부를 확인한다.



3. 수동 설치


3-1. WinPython을 다운로드 받는다. 이때 3.x 버전의 32bit용으로 받아야 한다. (링크)


3-2. 게임 폴더 내에 새 폴더를 만들고 압축을 푼다.


3-3. WPy32-**** 폴더 안의 WinPython Command Prompt.exe를 실행해서 두 개의 명령어를 입력한다.


pip install -U Flask

pip install gevent


3-4. ezTransWeb Github 페이지에 가서 eztrans.py 파일을 다운로드 받는다. (링크)


3-5. .py 파일을 WinPython 폴더 내부나 또는 근처 폴더에 붙여넣는다.


3-6. 메모장을 열어서 다음과 같이 작성한 뒤 .bat 파일로 저장해서 .py 파일과 같이 둔다.


start "ezTransWeb" ".\WPy32-3760\scripts\python.bat" eztrans.py


(빨간색 블록 지정된 영역은 각자 자신의 python.bat 파일 경로에 맞게 바꿀 것)


3-7. 만든 배치 파일(.bat)을 실행한다. (바로가기를 만들어서 실행해도 상관없음)


3-8. 게임을 실행 후 번역 기능의 동작 여부를 확인한다.



* 주의

- 만들어놓은 배치 파일(.bat)을 다른 폴더로 이동시키면 안됩니다.


- 배치 파일이 게임과 같이 실행중이어야 게임 내에서 번역 기능이 작동합니다.

--------------------------------


지금까지 illusion SBPR에서의 AutoTranslator 플러그인 적용법과 ezTransWeb 기능 사용법에 대해 알아보았다.

그럼 이만...