스카이림 번역보관소


원본(영문) 모드를 사용중에 한글화한 경우 MCM 메뉴만 뜨고 내용이 뜨지 않는 경우가 있습니다.

(혹은 한글화를 설치했다가 영문 모드를 버전업하거나 다른 한글화로 바꾼 경우도 그런 현상이 발생할 수 있습니다. 예: OBIS)

이는 모더가 MCM을 만들 때의 방식에 따라 달라집니다.


1. MCM 스트링을 Interface/Translations 폴더 안의 txt로 따로 뽑는 경우

   : 위 문제 생기지 않음


2. MCM 스트링을 MCM 스크립트(pex)에서 바로 출력되게 하는 경우 (Interface/Translations 안에 txt가 없는 경우)

   : MCM 페이지 메뉴 제목(TesVTranslator에서 노란 전구로 표시되는 부분)이 세이브파일에 저장되므로,

    이 제목 부분이 번역으로 인해 바뀌면 세이브파일에서 인식되지 않아 MCM 내용이 뜨지 않을 수 있습니다.


이 경우 세이브툴로 기존의 세이브파일에서 해당 모드의 MCM 스크립트를 찾아 삭제하면 문제가 해결됩니다.

(단 MCM 설정이 초기화될 수 있습니다)




------- 아래부터는 번역시 참고 ----------


모더가 MCM 소스(scripts/source/xxx.psc)를 배포한 경우

MCM 소스 내용을 1번 방식으로 수정한 후 CK툴로 컴파일해서 번역하면 이런 문제를 원천적으로 방지할 수 있습니다.

(단 모드 업데이트시 한글화 또한 같은 방식으로 지속적인 수정 업데이트가 필요합니다)

소스가 없다면 위의 문제를 피하기 위해 노란 전구 부분은 가급적 번역하지 않는 편이 좋습니다.


1번 방식으로 번역이 수정된 모드 : SkyTweak , Better Vampire , OBIS , CCOR , FLP , Jaxonz Positioner , Jaxonz Smart Looter , SHOT 



[소스에서 수정될 부분]


Event OnConfigInit() ; 페이지 제목의 변수 이름 확인. 수정할 부분 없음

Pages = new string[3]

Pages[0] = "menu 1"

Pages[1] = "menu 2"

Pages[2] = "menu 3"

EndEvent


Event OnPageReset(String a_page) ; a_page 부분을 모두 찾아 수정. 스트링을 바로 변수로 지정하지 않도록 하면 해결

If (a_page == "menu 1") ---> If (a_page == Pages[0])

ElseIf (a_page == "menu 2") ---> ElseIf (a_page == Pages[1])

...(반복)






150318일자로 SkyTweak , Better Vampire OBIS , CCOR 한글화에는 이 방식이 적용되었습니다. (영문 모드 사용중 한글화해도 MCM이 정상 출력됩니다)