영어나 외국어로 된 프로그램의 메시지을 한글로 바꾼 뒤에 그 언어 정보는 원래대로 두는 실수를 하는 때가 있다. 보통 때는 전혀 문제가 없으나, 간혹 문제가 생기는 경우도 있습니다. 이렇게 언어 정보가 틀려 있는 프로그램의 언어 정보를 리소스 해커(Resource HackerTM)를 이용하여 고쳐보도록 하겠습니다.

먼저 Total Commander Korean Forum :: XPG Community 사이트에서 NFO Viewer 플러그인을 다운로드합니다.

언어 정보 편집 순서

프로그램 리소스에서 언어 정보를 고치는 작업의 순서는 다음과 같습니다.

  1. 프로그램의 언어 정보 고치기
  2. 메뉴의 언어 정보 고치기
  3. 대화상자의 언어 정보 고치기
  4. 대화상자의 글꼴 정보 고치기

프로그램의 언어 정보 고치기

리소스 해커에서 파일을 열어서 가장 먼저 할 일은 프로그램 전체에 적용되는 언어 정보를 고치는 작업입니다. 프로그램 전체에 적용되는 언어정보는 아래 자료 화면에서, 주로 왼쪽 창에서 Version Info라는 항목을 살펴보면 찾을 수 있습니다.

버전 정보(Version Info)와 언어 정보

버전 정보(Version Info)와 언어 정보

다음과 같은 순서로 작업을 합니다.

  1. nfoviewer_kor.wlx 파일을 리소스 해커에서 엽니다.
  2. Version Info를 클릭하고, 1을 클릭하고, 2052를 클릭하면 위와 같은 화면을 볼 수 있습니다.
  3. 오른쪽 창에서 BLOCK "StringFileInfo" 부분과 BLOCK "VarFileInfo" 부분을 찾습니다. "Translation", 0x0804 0x04B0 부분에서 앞의 십육진수는 언어 정보이고, 뒤의 십육진수는 코드페이지 정보입니다.
  4. MSDN :: List of Localized MS Operating Systems 문서를 참조하여 언어 정보(LCID)와 코드페이지 정보를 알아둡니다.
    • 참고로 한국어의 LCID는 십육진수로 0x0412, 십진수로는 1042입니다. 그리고 코드페이지는 십진수로 949, 십육진수로는 0x03B5입니다. 다만 이번 경우에는 0x04B0(utf-16, 유니코드)을 그대로 유지합니다.
  5. "Translation", 0x0804 0x04B0 부분을 "Translation", 0x0412 0x04B0라고 고칩니다.
  6. BLOCK "080404b0" 부분을 BLOCK "041204b0"라고 고칩니다.
  7. 왼쪽 창에서 언어 정보(LCID)를 2052(중국어 간자체)에서 1042(한국어 통합완성형)로 고칩니다.

    언어 변경

    언어 변경


    새 리소스 언어 입력

    새 리소스 언어 입력

  8. 스크립트 컴파일을 클릭한다. 이 작업을 하면 지금까지 했던 작업 결과가 적용된다.
    스크립트 컴파일
  9. 저장한다.
    저장

메뉴의 언어 정보 고치기

메뉴는 대부분 글꼴 정보를 포함하고 있지 않습니다. 그 까닭은 메뉴는 대부분 비주얼스튜디오와 같은 IDE(개발 환경)에서 자동으로 만들어주기 때문이며, 또한 그 과정에서 시스템에서 기본으로 정해준 글꼴을 사용하도록 설정되어 있기 때문입니다. 물론 프로그램을 짤 때 사용자가 수동으로 바꿀 수는 있으며, 또한 메뉴 글꼴 전체를 사용자 시스템에서 고칠 수도 있습니다.

[디스플레이지 등록 정보]의 [고급 화면 배색]에서 [메뉴] 항목을 수정하는 화면

[디스플레이지 등록 정보]의 [고급 화면 배색]에서 [메뉴] 항목을 수정하는 화면

이 글에서는 그런 시스템 정보는 전혀 다루지 않지만, 참고 삼아 알려드렸습니다.

메뉴 항목과 언어 정보

메뉴 항목과 언어 정보

메뉴에 대한 언어 정보를 고치는 과정은 다음과 같습니다.

  1. nfoviewer_kor.wlx 파일을 리소스 해커에서 엽니다.
  2. Version Info를 클릭하고, 101을 클릭하고, 2052를 클릭하면 위와 같은 화면을 볼 수 있습니다.
  3. MSDN :: List of Localized MS Operating Systems 문서를 참조하여 언어 정보(LCID)와 코드페이지 정보를 알아둡니다.
  4. 왼쪽 창에서 언어 정보(LCID)를 2052(중국어 간자체)에서 1042(한국어 통합완성형)로 고칩니다.
  5. 오른쪽 창에서 LANGUAGE LANG_CHINESE, 0x2 부분을 찾습니다. 이것을 LANGUAGE LANG_KOREAN, 0x1라고 고칩니다. 이때 마지막 0x2SUBLANG_KOREAN 또는 0x01로 고쳐도 됩니다.
  6. 스크립트를 컴파일한 뒤에 저장합니다. 이때 스크립트를 컴파일하면 LANGUAGE LANG_KOREAN, SUBLANG_KOREAN 이라고 바뀐 부분이 LANGUAGE LANG_KOREAN, 0x1로 바뀝니다. 이것은 정상이므로 걱정하지 않아도 됩니다.

이 프로그램(nfoviewer_kor.wlx)에는 메뉴가 하나뿐이지만, 대부분의 프로그램은 메뉴가 여러 개로 되어 있다.

대화상자의 언어 정보 고치기

프로그램을 만들게 되면 현재 화면에 보이는 창으로 작업을 할 수 없는 때가 생기거나 메시지를 사용자에게 전달해야 하는 때가 있다. 이때 생성하는 것이 바로 대화상자이다. 대화상자에는 언어 정보와 함께 글꼴 정보가 함께 포함되는 때가 많다.

이 프로그램(nfoviewer_kor.wlx)에는 대화상자가 하나뿐이지만, 대부분의 프로그램은 대화상자가 여러 개로 되어 있다.

대화상자 항목과 언어 정보

대화상자 항목과 언어 정보

작업하는 순서는 다음과 같습니다.

  1. 앞서 작업한 메뉴를 참조하여 대화상자언어 정보(LCID)와 코드페이지 정보를 고칩니다.
  2. 글꼴 정보에서 FONT 9, "宋?"FONT 9, "굴림" 또는 FONT 10, "굴림"으로 고칩니다.
  3. 스크립트를 컴파일한 뒤에 저장합니다.

완료

그밖에 살펴야 할 사항

일단 이렇게 바꾸었으면, 메시지가 정상적으로 출력되는지를 확인해야 합니다. 이 작업에 앞서 반드시 원본을 백업해 두기 바랍니다. 백업은 선택이 아닌 필수입니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


Posted by koc/SALM 트랙백 0 : 댓글 17

지난 10월 30일 스프링노트에서 글을 작성하다가 발견한 벌레이다. 웹사이트에 GFDL로 공개된 그림을 불러와서 스프링노트에 저장(외부 이미지를 스프링노트에 저장 옵션)을 지정하려고 했는데, 그만 미리보기에서 그 옵션을 가리는 일이 벌어졌다. 다행히 재현이 가능하여 몇 차례 더 확인하여 지금에야 올린다.

  • 참고 : 이 현상은 파이어폭스 v3.5.4 (2009년 11월 3일 현재 최신 버전)에서 확인하였습니다.

벌레의 유형

  • 파이어폭스를 사용할 때 나 혼자만 잘나면 되고 다른 놈은 제 역할도 못하게 만드는 이기적인 벌레이다.

벌레의 발견

지난 10월 30일 스프링노트에서 글을 작성하다가 외부 이미지를 불러오면서 발견한 벌레이다.

조금 옆으로 퍼진 스프링노트 화면

조금 옆으로 퍼진 스프링노트 화면

내가 자료화면으로 제시하는 800x600 화면으로는 삽입 메뉴와 부가기능 메뉴를 제대로 보여줄 수 없어서 너비를 920픽셀로 조정했다. 아울러 이미지 불러오기를 할 때 이미지 미리보기 기능을 켰을 때 위아래로 가리는 현상을 막기 위해 높이도 720픽셀로 조정했다. 이 현상은 버그가 아니라고 여겨지니 오해 없기를 바랍니다.

이미지 첨부 대화상자

위 그림에서 외부 URL로 첨부하기를 클릭한다.

외부 URL로 첨부하기

외부 URL로 첨부하기

위의 그림이 화면에 나타났을 때 미리보기를 클릭하였다.

불러올 그림 미리보기 화면

불러올 그림 미리보기 화면

위와 같이 미리보기 화면 아래쪽에 대화상자의 다른 내용을 가리는 글을 볼 수 있다. 문제가 되는 부분만 떼어내면 아래와 같다.

위 그림에서 왼쪽 체크박스오른쪽 [삽입] 단추를 가리는 것은 아래와 같은 저작권 보호를 위한 글귀이다.

특히 왼쪽의 체크박스는 잘 클릭이 되지 않아도 가려져서 그런가 보다 생각했지만, 오른쪽은 조금 의외였다. 글씨가 옅은 색이라 가려진 모습이 잘 보이지 않았기 때문이다. 결국 확대해 보니 "삽"자까지는 가려져 있고, "입"자도 일부 가려져 있었다. 처음에 이것을 눈치채지 못한 까닭은 내가 "입"자보다 오른쪽을 클릭했기 때문이리라 추측한다.

해결하기

이 문제에 대한 완전한 해결은 스프링노트 측에서 수정해 주는 방법뿐이다. 다만 그 이전까지 임시로 쓸 수 있는 방법은 그저 사용자가 주의하는 것이다.

우선 이미지 첨부 대화상자를 부른다.

위의 그림에서 자주색 네모로 표시한 부분을 잘 보자. 왼쪽 체크박스에 체크 기호가 되어 있다. 이것을 먼저 체크한 다음에 [미리보기] 단추를 클릭하자.

체크박스가 유지된 화면

체크박스가 유지된 화면

먼저 체크박스를 표시하면 위와 같이 그 체크 기호가 유지된다. 다만 이때 [삽입] 단추의 일부를 가리는 현상은 어쩔 수 없다. 앞서 말했듯이 스프링노트 개발진에서 수정해 주어야 할 부분이기 때문이다.

제작자/제공자의 답변

2009년 11월 3일 오류를 보고한 상태이다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


Posted by koc/SALM 트랙백 0 : 댓글 0

티스토리 툴바