아시는 분은 이미 아시겠지만 모르시는 분은 알아두시면 도움이 될 것 같아 작성합니다.
ㄹㄹ
기본적으로
[Files]
Directory=Translation\{Lang}\Text
OutputFile=Translation\{Lang}\Text\_AutoGeneratedTranslations.txt
SubstitutionFile=Translation\{Lang}\Text\_Substitutions.txt
PreprocessorsFile=Translation\{Lang}\Text\_Preprocessors.txt
PostprocessorsFile=Translation\{Lang}\Text\_Postprocessors.txt
cfg에 저장된 위 내용에 따라서 파일이 없으면 생성하고 파일이 있으면 인식해서 적용합니다.
_AutoGeneratedTranslations.txt는 기본적으로 미번역된 부분이 최종적으로 저장되는 부분입니다.
중오한 부분은 최종적으로 저장 된다는 겁니다. 아래의 파일들과 임의로 정해둔 txt파일에서 먼저 번역된 부분을 읽은 후 없으면 번역을 시도하고 그 결과를 저장하는 부분입니다.
번역이 길 경우에는 _AutoGeneratedTranslations.txt처럼 하나로 하면 차 후 수정할 때 힘이 드니까 파일을 나누어 두시는 게 좋습니다.
예시)
Regex.txt <- 정규식 내용 모음
RichText.txt <- 리치 텍스트가 많은 게임의 경우 분리해 두면 수정하시기 좋습니다.
Menu.txt <- 메뉴의 번역 내용 등을 모아둡니다.
Level1~9.txt <- 챕터가 1~9가 있고 그 내용이 많은 경우 나눠서 저장합니다. 캐릭터의 경우 그 캐릭터의 이름으로 저장하셔도 됩니다.
게임의 내용이 길 경우 위 처럼 파일이름은 임의로 정하셔서 나눠두고 사용하시면 좋습니다.
또는 여러 게임에서 사용되는 기본적인 메뉴 같은 부분은 Menu.txt로 만들어서 사용하시면 좋습니다.
번역기 자체가 일어면 영어 인식을 잘 안해서 영어는 번역이 안되기에 수정해 두시고 쓰시면 좋습니다.
_Substitutions.txt의 기능과 목적
이 파일에 정의된 규칙들은 게임에서 추출된 원본 텍스트에 순서대로 적용됩니다.
각 줄은 원본 문자열=치환될 문자열 형식으로 구성됩니다.
주요 목적:
1. 텍스트 정규화: 게임마다 줄임표(... 또는 …), 대시(-- 또는 —), 특정 인용 부호("" 또는 “”) 등 다양한 형태의 기호가 사용될 수 있습니다. _Substitutions.txt를 사용하면 이런 비표준적인 기호들을 번역에 더 유리한 표준 형태로 미리 바꿔줄 수 있습니다.
예시: … = ... (유니코드 줄임표를 일반적인 점 세 개로)
예시: ー = - (일본어 장음 기호를 하이픈으로)
2. 불필요한 문자 제거: 번역에 방해가 되거나 불필요한 특수 문자, 게임 내 고유 기호 등을 미리 제거할 수 있습니다.
3. 번역 오류 방지: 특정 문자열이 번역기에서 오작동을 일으키거나, 문맥과 상관없이 번역되는 것을 방지하기 위해 다른 문자열로 임시 치환할 수 있습니다.
4.성능 향상 (미미하게): 자주 등장하지만 번역이 필요 없는 작은 문자열들을 미리 처리함으로써, 주된 번역 과정의 부하를 약간 줄일 수 있습니다.
이 _Substitutions.txt는 1번의 경우에 자주 사용되지만 특수 기호의 경우 게임이나 번역기 자체에서 지원되지 않는 특수 등을 잘 못 넣으시면 게임 실행이 안되는 경우가 생깁니다.
「=「
」=」
『=『
』=』
«=«
»=»
…=…
・=・
°=°
보통 일본 게임의 이렇게 넣어서 사용하곤 합니다.
저렇게 넣으면
(이 부분은 저 변수가 코네에서 게시물로 쓰면 없애버려서 스크린샷으로 대체합니다.)
이런 식으로 결과를 받게 됩니다.
저 특수 기호를 _Substitutions에 안넣었다면
ご、ごめっ…! こ、これはその……。=죄, 죄송해요......! 그, 그건 말이죠.......
이런 식으로 결과를 받고 번역하게 됩니다.
번역이 끝난 후 _Substitutions에 저런 전각 기호나 대치되는 부분을 추가하시면
번역을 새로하게 됩니다.
_Preprocessors.txt는 번역 전에 미리 번역을 해두는 걸 말합니다.
번역 사전?이라고 보셔도 될 것 같습니다.
사용하시는 번역기가 오역하는 부분을 미리 정해주시면 번역의 품질이 더 올라갑니다.
예시: なつひに動いてもらいます。=나츠히가 움직이게 합니다。
이게 제대뢰 된 결과인데
번역기로 돌리면
なつひに動いてもらいます。=여름날이 움직입니다。
이렇게 번역이 된다고 했을 때
_Preprocessors.txt에
なつひ=나츠히
이렇게 넣어주면 번역기에 "나츠히に動いてもらいます。" 이렇게 번역해달라고 요청을 하게 됩니다.
그럼
なつひに動いてもらいます。=나츠히가 움직여 줍니다.
이런 식으로 번역 결과를 받게 됩니다.
_Preprocessors.txt에서 전처리 과정을 거쳤다고 해도 원문은 원래대로 받아서 인식하게 됩니다.
이어서 _Postprocessors.txt는 후처리 과정입니다.
위의 예시를 이어서 해보지면
예시: なつひに動いてもらいます。=여름날이 움직이게 합니다。
이런 식으로 이름 등의 특정한 부분이 번역기에서 반환 되는 과정에서 변경되는 것이 존재하게 됩니다.
_Postprocessors.txt에 아래와 같이 넣습니다.
여름날이=나츠히가
그러면 원래 예시: なつひに動いてもらいます。=여름날이 움직이게 합니다。 이렇게 받던 결과값을
예시: なつひに動いてもらいます。=나츠히가 움직이게 합니다。
이런게 변경해서 받게 됩니다.
후처리 부분은 대다수에 자주 사용되는 단어는 피해서 사용하시는 것이 좋습니다.
예제로 사용한 게임에서
여름날=나츠히
로 후처리를 해버리면
여름날이 뜨거웠다
이렇게 받아야 할 부분이
나츠히이 뜨거웠다
이렇게 받게 됩니다.
그래서
여름날=나츠히
여름날이 뜨거웠다=여름날이 뜨거웠다
이렇게 하시면 나중에 넣은 부분으로 최종 결과가 저장되게 됩니다.
_AutoGeneratedTranslations.txt에는
원문=여름날이 뜨거웠다
이렇게 번역문이 저장되게 됩니다.
후처리를 잘 써주시면 자동 번역기의 오역을 많이 수정하실 수 있습니다.
_Preprocessors.txt는 전처리를 해주니 공통 사전적인 사전이라고 보시면 되고
_Postprocessors.txt는 번역기와 게임에 따른 전용 사전으로 보시면 편합니다.
마지막으로 번역 순서는
_Substitutions.txt 대치
아래의 txt제외 모든 txt 우선 처리
3._Preprocessors.txt 전처리
4.번역기
5._Postprocessors.txt 후처리
6._AutoGeneratedTranslations.txt
이런 순서로 처리됩니다.
즉 먼저 txt의 내용을 인식해서 번역할 것이 없으면
3~6의 순서로 번역을 하게 됩니다.
번역 품질을 좀 더 높이시고 싶으시면
2번, 3번, 5번을 잘 사용하시면 번역이 훨씬 매끄럽게 됩니다.
기계 번역이라도 전처리 후처리 부분을 손대주시면 텍스트가 많은 경우
수동으로 수정해야할 부분이 많이 줄어듭니다.
적다보니 글이 꽤 길게 되었네요. 도움이 되셨으면 좋겠습니다.
