어디에 올려야 될지 모르겠어서 일단 한글화 탭에 올리겠습니다.

문제가 있다면 일반 탭으로 옮기겠습니다.


다키스트 던전의 많은 모드들이 번역이 되어있지만

번역이 되지 않은 모드들 또한 그에 맞먹는 수준으로 많습니다. 

심지어 그 중에는 백귀야행이나 라이쥬 같은 본좌 취급 받는 모드들도 다수 포함되어 있습니다.


그럼에도 번역이 즉각적으로 이루어지지 않는 이유는 번역에 걸리는 시간이나 노력이 

여러모로 크기 때문에 그럴 것입니다. 게임 즐기기도 바쁜데 번역까지 하려니 시간이 아까울 수 밖에요. 


저 같은 경우엔 영어 번역을 그렇게 어려워하는 편은 아니었기 때문에 

개인적으로 한글화를 해서 사용 중이었습니다. 

최근에는 혼자쓰기 아까워서 공유도 시작했구요.


허나 외국어에 익숙하더라도 번역 작업을 지연시키는 요인은 많이 있습니다.

누락된 엔트리를 확인하고 추가하는 시간, 커서를 움직이는 시간 등등...


번역 작업을 하면서 이런 요인들을 제거할 수 있다면 

작업 속도가 크게 향상될 것이라 여러번 생각했습니다.


그래서 다키스트 던전의 XML파일을 분석하여 

번역 작업에 용이한 인터페이스로 보여주는 

프로그램을 제작하게 되었습니다.




위와 같이 생겼습니다. 


보통은 실행파일(.exe)로 제작된 프로그램은 유저들에게 선호되지 않습니다.

왜냐하면 바이러스 감염의 위험이 있기 때문입니다.

그래서 깃허브에 프로그램의 코드를 업로드 해놓았습니다.


번역 프로그램 코드 깃허브 링크 : https://github.com/RavelMaurice/DarkestDungeon_Translation_Assistor


'코드를 모르는데 바이러스가 심어져 있는지 어떻게 아나요?'


그럼 사용하시지 않으시면 됩니다. 

저도 바이러스 문제엔 민감한 편이라 이렇게 배포된 프로그램은 조심스럽게 받는 편입니다.

사실 노트패드로도 번역 작업은 충분히 편리하게 할 수 있습니다.

   저는 그것마저 귀찮아서 만든 것일 뿐이에요.


'코드에 바이러스가 없는건 알겠는데 실행파일에 없을지 어떻게 아나요?'


그럼 JSmooth을 사용하셔서 직접 실행파일로 만든 뒤 사용하시는 것을 추천드립니다.

JSmooth의 자세한 사용 방법은 구글링하면 많이 나오는고로 

따로 글에 적지는 않겠습니다.




프로그램의 기능은 크게 두 가지입니다.


1. 무결성 검사

2. 텍스트 수정


2번 텍스트 수정은 무엇인지 짐작이 가시리라 생각하지만 1번의 경우엔 그렇지 않을 것입니다.

실제 번역의 대상이 되는 XML파일을 살펴보면 몇 가지 문제가 있는 경우가 있습니다.

그 중에서 가장 대표적인 것이 '특정 언어에는 있는 엔트리가 다른 언어에는 없는 경우'입니다.


예를 들어, 영어에는 분명 <entry id="hero_name"> 이라는 엔트리가 존재하는데 

한국어에는 없는 경우이죠.


이런 문제는 인게임 상에서 대사가 id로 출력되는 문제로 이어지기 때문에 

사전에 검사할 수 있어야합니다.


 

그럼 지금부터 프로그램 사용법을 설명드리겠습니다.



1. 실행 환경 구축


Window 8 기준으로 설명드립니다.


물론 맥쓰시는 분들도 사용 가능하도록 Java로 프로그래밍하긴 했지만 

일단은 윈도우에서 실행한다 가정하고 작성했습니다.

따라서 맥에서는 구축 방법이 조금 다를 수 있습니다. 

구축이라고 해봐야 그냥 자바 설치하는 것이지만요.


프로그램에서 사용된 언어는 Java와 html입니다. 

브라우저(구글 크롬, 네이버 웨일, MS엣지 등)가 컴퓨터에 하나쯤은 당연히 설치되어있으실 것이기 때문에 html은 문제가 없지만

Java의 경우엔 JDK를 설치하셔야 컴퓨터에서 실행이 가능합니다.  


JDK는 오라클 코리아에서 다운받으실 수 있습니다.

최신 버전은 14네요.


Oracle korea JDK 다운로드 링크 : https://www.oracle.com/kr/java/technologies/javase-downloads.html


다운을 받으셨다면 환경 변수를 설정해야합니다. 

쉽게 말해 컴퓨터에게 'JDK가 여기 설치되었으니 자바 프로그램 실행할 때 알아서 가져다 쓰세요' 하고 알려주는 것입니다.

근데 환경 변수 설정은 조금 분량이 있다보니 직접 검색 부탁드리겠습니다

구글에 'JDK 환경 변수'라고 검색하시면 설정법을 알려주는 링크가 여러 개 나옵니다.

어렵지는 않아요. 


 환경 변수 지정까지 끝나셨다면 프로그램을 실행할 차례입니다. 




2. 프로그램 실행 & XML 파일 열기





폴더를 열면 위와 같은 파일들이 들어있습니다. 

DarkestDungeon Translation Assistor.exe를 눌러 실행해줍니다.




그럼 위와 같은 화면이 나옵니다. 

상단 메뉴바의 File을 누르시면 Open, Save, Exit라는 3가지 항목이 있습니다.

각 항목 이름만 보면 무슨 기능인지 아시리라 생각하기에 

따로 설명하진 않겠습니다.


다만 주의하셔야 할 점은 Exit를 누른다고 해서 Dirty Checking을 하지 않습니다. 

즉, '변경 사항이 있습니다. 저장하시겠습니까?'와 같은 메세지가 뜨지 않고 

곧장 종료되버리므로 주의하셔야합니다. 





Open을 누르면 파일을 선택할 수 있는 창이 뜹니다. 

번역의 대상이 되는 xml 파일을 찾아 열어줍니다. 


파일을 열게 되면 해당 파일을 대상으로 아까 말씀드린 '무결성 검사'를 

먼저 진행하게 됩니다. 

그리고 만약 무결성 문제가 발생했다면 다음과 같은 

메세지가 뜹니다.



무결성 문제가 발생했다면 정확히 어떤 문제가 발생했는지 알려주는 보고서가 

생성됩니다. 지금부터 그 보고서를 확인해보겠습니다.



실행 폴더에 있는 IVReport에 들어가줍니다.



그럼 다음과 같이 보고서가 html파일로 생성된 것을 확인 가능합니다.

클릭해서 브라우저로 열어줍니다.





보고서의 내용입니다. 

영어의 엔트리들과 다른 언어들의 엔트리를 비교했을 때 

어떤 엔트리가 다른지 보여주는 것입니다.


Finded의 경우 영어에는 없지만 특정 언어에 있는 엔트리이며 

Miss의 경우, 영어에는 있지만 특정 언어에는 없는 경우입니다. 


위 보고서를 보면 중국어에는 죽음의 문턱(death_door)과 관련된 엔트리가 누락되어있고 

한국어에는 다른 언어에는 없는 붕괴(rage)상태와 관련된 엔트리가 포함되어있음을 확인하실 수 있습니다.


위와 같은 무결성 문제를 확인하셨다면 노트패드와 같은 프로그램으로 xml 파일을 열어 

문제가 되는 엔트리를 삭제, 추가하여 해결해주시면 됩니다. 




무결성 문제가 전부 해결되었다면 다음과 같이 파일이 열리게 됩니다.

왼쪽은 엔트리의 ID리스트입니다. ID를 클릭하면 해당 ID에 대응하는 텍스트로 이동합니다. 


콤보박스를 클릭하면 선택 가능한 언어가 표시됩니다. 만약 선택 가능한 

언어가 1개라면 아래쪽 텍스트 공간은 비활성화됩니다. 


아래 ControlPane의 Previous와 Next 버튼을 이용해 ID리스트를 누르지 않고도 

이전 텍스트, 다음 텍스트로 빠르게 이동할 수 있습니다. 


번역이 모두 끝났다면 File메뉴의 Save 버튼을 눌러 저장하시면 됩니다.

당연히 파일 이름은 기존의 파일과 똑같이 설정하셔야겠지요.


그 이후엔 닼갤 공지에 있는 한글화 팁을 참고하여 Localization 파일을 생성하여 적용하시면 됩니다. 

이 부분까지 프로그램에 포함하려고 했는데 

아무래도 외부 파일을 가져와서 내장하는 것이다보니 좀 꺼려지네요.




간단한 프로그램임에도 설명이 길어진 것 같습니다.

막상 기능은 그렇게 많지 않기 때문에 

사용하시는데에 큰 어려움은 없으리라 생각합니다.




전 여기까지만 만들어놓아도 충분히 편하게 쓰고있긴 하지만

원하시는 추가 기능이 있으시거나,

원하는대로 작동하지 않는 에러가 발생했다면

댓글로 말씀 부탁드립니다.

아니면 깃허브의 Issue에 글을 올려주셔도 괜찮습니다.

영어 사이트지만 한국어로 올려주셔도 무관합니다.



마지막으로 실행 파일 링크입니다.

구글 드라이브에 업로드 해두고 

수정 사항이 있을 때마다 다시 업로드하겠습니다.


실행 파일 링크 : https://drive.google.com/file/d/1ZAT1j4pz_iHF2nDYXGxEIwWjt1GH_b7p/view?usp=sharing




  

저 외에도 한글화에 힘써주시는 모든 분들께 감사드리며 

본 글의 프로그램을 사용하시는 분들에게 

미약하게나마 도움이 되셨으면 좋겠습니다.



P.S. 제가 10월 중순에 입대를 하므로 

그 이후에는 수정이 어렵습니다.