- Releases에서
hdTrans-<버전>-windows.zip을 받습니다.Source code는 필요 없습니다. C:\hdTrans처럼 영문 경로에 압축을 풉니다. 별도 설치 프로그램은 없습니다.- 연결할 도구를 끄고 아래 도구별 설정을 적용합니다.
연결에 필요한 파일은 다음과 같습니다.
C:\hdTrans\
J2KEngine.dll
hdtrans-data\
dicts.hdsnap
dicts.txt
user\
userdict.example.txt
names.example.txt
hdtrans.config.example.yaml
dicts.hdsnap은 기본 사전,dicts.txt는 사전 버전입니다.dicts/폴더나 원본 TSV는 배포하지 않으며 따로 받을 필요도 없습니다.- DLL을 다른 폴더로 옮기면
hdtrans-data폴더도 함께 옮깁니다.
- 이지트랜스 번역 설정에서 DLL 경로를 지정합니다.
C:\hdTrans\J2KEngine.dll파일을 선택합니다.- 이지트랜스 번역을 켜고 일본어를 번역합니다.
-
아네모네를 끕니다.
-
실행 파일 옆
anemone.ini의[CONFIG]에 아래 값을 넣습니다. 같은 항목이 있으면 값을 바꿉니다.[CONFIG] EZTRANS_PATH=C:\hdTrans
-
아네모네를 다시 실행합니다.
아네모네의 사용자 사전(AneDic.txt)은 Windows의 J2KEngine.dll이 아네모네 안에서 읽으므로 그대로 쓸 수 있습니다.
파일을 고치면 아네모네가 엔진에 다시 읽기를 요청합니다. C:\hdTrans\hdtrans-data\user\userdict.txt의 항목이 AneDic.txt보다 우선하며,
형식은 사용자 사전을 보세요.
- 위 방법으로 아네모네를 설정합니다.
- Textractor에서 Copy to Clipboard 확장을 켭니다.
- 아네모네에서 클립보드 번역을 켭니다.
- Textractor에서 게임에 연결하고 번역할 텍스트 스레드를 선택합니다.
Textractor는 텍스트를 클립보드로 보내고 아네모네가 번역합니다. Textractor에 DLL 경로를 지정하지 않습니다.
-
게임을 끄고 XUnity.AutoTranslator의
Config.ini에서 아래 값을 설정합니다. 기존 섹션에 항목이 있으면 값을 바꿉니다.[Service] Endpoint=ezTransXP [General] Language=ko FromLanguage=ja [ezTrans] InstallationPath=C:\hdTrans
-
지정한 폴더에
J2KEngineH.dll이 있으면 제거합니다. 이 파일이J2KEngine.dll보다 먼저 선택됩니다. -
게임을 다시 실행합니다.
InstallationPath를 지정하면 레지스트리 등록은 필요 없습니다.
장시간 사용하면 중개 프로그램의 결과 버퍼 미해제로 메모리 사용량이 늘 수 있습니다.
먼저 레지스트리를 설정합니다.
- 아랄트랜스를 끕니다.
Win+R을 누르고regedit을 실행합니다.HKEY_CURRENT_USER\Software\ChangShin\ezTrans로 이동합니다.FilePath값을C:\hdTrans로 바꿉니다. 키나 값이 없으면 키와 문자열 값FilePath를 만듭니다.- 아랄트랜스를 실행하고 EzTransXP 번역 플러그인을 선택합니다.
게임 후킹과 ATCode는 아랄트랜스에서 별도로 설정합니다.
먼저 레지스트리를 설정합니다.
- 에그헤드를 끕니다.
Win+R을 누르고regedit을 실행합니다.HKEY_CURRENT_USER\Software\ChangShin\ezTrans로 이동합니다.FilePath값을C:\hdTrans로 바꿉니다. 키나 값이 없으면 키와 문자열 값FilePath를 만듭니다.- 에그헤드 실행 파일 옆에 기존
J2KEngine.dll이 있으면 제거합니다. - 에그헤드를 다시 실행합니다.
에그헤드 0.73new와 0.73rev.E_BETA2 기준입니다. 레지스트리 경로보다 실행 파일 옆 DLL을 먼저 읽습니다. 같은 레지스트리를 쓰는 다른 도구의 엔진 경로도 바뀝니다.
공식 2024.08.30 배포판 기준입니다.
- 투컨트롤을 끕니다.
- 하드트랜스 배포본의
J2KEngine.dll을 두 개 복사하고, 각각Ehnd.dll과Ehnd.dlx로 이름을 바꿔 투컨트롤의Ehnd폴더에 덮어씁니다. - 하드트랜스 배포본의
hdtrans-data폴더를 투컨트롤의Ehnd폴더 안에 복사합니다. - 나머지 투컨트롤 동봉 파일은 그대로 둡니다.
- 투컨트롤을 다시 실행하고 이지트랜스 번역을 사용합니다.
TwoControl\
TwoControl.exe
Ehnd\
Ehnd.dll
Ehnd.dlx
hdtrans-data\
dicts.hdsnap
dicts.txt
user\
Ehnd.dll과 Ehnd.dlx는 둘 다 하드트랜스 DLL의 복사본입니다.
Preferences > Locations > Translators > ChangShin Soft - ezTrans XP > Browse에서C:\hdTrans폴더를 선택합니다.Preferences > Translation > Translators의 Enable built-in Ehnd translation script를 끕니다.- VNR을 재시작합니다.
다른 엔진이 계속 사용되면 VNR 폴더나 PATH에 남아 있는 기존 J2KEngine.dll, J2KEngine.dlx를 제거합니다.
terminal 버전과 .NET 6 런타임을 설치한 뒤 서버 폴더에서 실행합니다.
.\EztransServer.exe --dll-path "C:\hdTrans\J2KEngine.dll"기본 주소는 http://localhost:8000/입니다. DLL 경로를 직접 지정하려면 terminal 버전을 씁니다.
등장인물, 지명처럼 작품의 이름은 C:\hdTrans\hdtrans-data\user\names.txt에 한 줄에 하나씩 적습니다.
일본어, 한국어, 종류(선택)를 탭으로 구분합니다. 형식은 names.example.txt와
dictionary-files.md에 있습니다.
衣更 이사라
黒沢 쿠로사와 family
みみ 미미 nick hon
- 이름 목록은 사용자 사전과 달리 이름으로 읽으므로 경칭, 조사, 띄어쓰기가 맞습니다(
衣更さんに이사라 씨에게). J2KEngine.dll과hdTransEngine.dll은 사용자 사전과 함께 읽고, 게임을 하는 동안 고쳐 저장하면 다음 줄부터 반영합니다. 한 줄씩 보내는 후킹 도구에서도 줄마다 쓰입니다.- 보통 낱말과 같은 히라가나 이름(はな, ひかり)은 넷째 칸에
hon을 적어 경칭 앞에서만 이름으로 읽게 합니다. - 작품마다 나누려면
user\games\작품\에 그 작품의userdict.txt와names.txt를 두고user\hdtrans.config.yaml에userdict: [., games/작품]을 적습니다. 작품을 바꿀 때 이 줄을 고치고 도구를 다시 시작하거나 다시 읽기를 하면 사전과 이름이 함께 바뀝니다. - 잘못된 줄은 건너뛰고 hdTrans 프로그램의 로그 탭에 나옵니다.
텍스트 후커, 번역 모음 도구, 플러그인, C DLL, npm과 웹 API에 모두 해당합니다.
- 한 줄씩과 대본 전체: 한 줄씩 보내면 줄마다 따로 번역합니다. 대본 여러 줄을 한 번에 보내면 그 안에서 이름을 맞추고,
대사를 「」로 쓰는 글이면 「」 밖 줄을 지문(
-다)으로 봅니다. 예:soft에서それは違う는 혼자 보내면그건 달라, 「」 대사가 있는 대본과 함께 보내면그것은 다르다. - 도구나 엔진을 다시 시작하기, reset 부르기: 0.5.5부터 번역 결과를 바꾸지 않습니다. 앞에서 번역한 줄이 다음 줄에 남지 않기 때문입니다. 다시 시작은 사전을 새로 읽을 뿐입니다.
- 사전 바꾸기: 사용자 사전(
user/userdict*.txt)과 이름 목록(user/names*.txt)은 저장하면 다음 번역부터 반영됩니다. 설정 파일과 기본 사전은 도구를 다시 시작하거나 다시 읽기(J2K_ReloadUserDict,hdTrans_Reload)를 하면 반영됩니다. - 사전 진단: 번역이 이상하면 hdTrans 프로그램의 로그 탭(또는
hdtrans --verify-dicts)에서 사전 경고를 확인합니다. - 말투 설정:
J2KEngine.dll과 C API는 설정 파일의speech로 엔진 전체에 정합니다. TypeScript는setSpeech()로 이후 번역에,translate(text, { speech })로 그 호출에만 정하고, C++은Session::SetSpeech, CLI는--speech입니다. 말투마다 무엇이 달라지는지는 말투와 번역 방식에 있습니다. - 대사의 말투 수준: 「」나 『』로 시작하는 줄은 번역한 뒤 말투 수준 규칙이 문장 끝을 다시 씁니다(「白崎、俺が手伝うから大丈夫だ」 →
「시라사키, 내가 도우니까 괜찮아」). 후킹 도구가 한 줄씩 보내도 그 줄이 「로 시작하면 적용됩니다. 끄려면 설정 파일에
speech_levels: keep을 적고 도구를 다시 시작하거나 다시 읽기를 합니다(TypeScriptspeechLevels, CLI--speech-levels). 대사 하나가 여러 줄로 잘려 오면(「白崎、俺が手伝うから와大丈夫だ」) 「를 같은 줄에서 닫지 않으므로wrapped: true여도 그 대사는 번역의 말투 그대로입니다(괜찮다」). 자세한 내용은 말투와 번역 방식에 있습니다. - 문장 중간에서 잘린 줄: 설정 파일의
wrapped: true(CLI--wrapped, TypeScriptwrapped): 입력이 문장 중간에서 잘려 있음 (자막, 후킹 텍스트). 줄 수는 유지됨. 빈 줄은 늘 문장 경계입니다. 앞 호출의 줄은 남지 않으므로 이어지는 문장의 앞부분은 문맥(C APIhdTrans_TranslateContext, TypeScriptcontext, CLI--context)으로 함께 넘깁니다. - 도구가 보낼 것:
- 한 줄씩 보냅니다. 여러 줄을 묶으면 위처럼 「」 밖 줄이 지문이 될 수 있습니다.
- 화자 이름은 떼어 보냅니다. 붙여 보내면 이름이 문장의 일부로 번역되고,
アリス:それは違う처럼 쌍점이 있는 줄은soft에서도 대사로 보지 않아앨리스:그것은 다르다가 됩니다. 이름 없이それは違う면그건 달라입니다.白崎「…」처럼 붙인 줄은 대사의 말투 수준도 바꾸지 않습니다. - 루비는 될 수 있으면 지웁니다.
君《きみ》의 《》 루비는 엔진이 지우지만,君(きみ)처럼 괄호로 붙은 읽기는 글자로 남아 결과가 바뀝니다(君(きみ)が好き너가 좋아,君が好き너를 좋아해).
Translator++와 MTool은 하드트랜스 연결 방법이 아직 정리되지 않았습니다.
- CLI 안내: 명령줄 설치, 파일 번역과 옵션
- JavaScript와 TypeScript API: npm 라이브러리 사용법
- 설치 없이 번역: https://trans.kuri.kr
직접 프로그램에 연결할 때의 호출 규약과 제한은 도구 호환성 개발 참고를 보세요.