미흡한 번역이 아쉬운 책: 레이몬드 첸의 윈도우 개발 282 스토리

@codemaru · September 17, 2007 · 10 min read

                             282     md 0

주말에 읽으려고 레이몬드 첸의 윈도우 개발 282 스토리를 구매했다. 지난 번에 포스팅 했듯이 정말 읽고 싶어던 책이었다. 원서를 사고 싶었으나 가격 부담으로 번역서를 샀다. 그런데 이것은 정말 최악의 선택이었다.

책을 읽는 내내 고문서를 해석하기 위한 고고학자가 된 듯한 느낌이 들었다. 문장 하나하나 속에 들어있는 어색한 단어와 과도하게 한글화된 단어들은 나의 독서를 엄청나게 방해했다. 그나마도 좀 읽을만하다 싶으면 어김없이 튀어나오는 프로그래밍 내용에 대한 오역이 나를 괴롭혔다. 과연 정말 역자가 윈도우 프로그래밍을 알기는 할까? 라는 의문이 드는 내용들이 한 둘이 아니였다. 또한 구글에서 한번만 찾아봐도 나오는 각종 용어에 대한 잘못된 번역도 역자의 컴퓨터 공학적인 지식을 의심하게 만들었다. 한번 눈밖에 나면 계속 눈밖에 난다고, 한번 그런 생각이 들자 그 다음 부터는 정상적인 문장들 조차도 머릿속으로 들어오지 않았다.

절반정도 밖에 읽지 않았지만, 결국 다시 원서를 사기로 맘을 먹었다. 아래는 그 짧은 독서 시간 동안 발견한 잘못됐거나 어색하거나 이상하거나 한 내용에 대한 아주 일부분이다. 한번 시작해 보자.

p27 윈도우 95 베타 테스트 도중에 사람들이 시스템 속성 페이지지를 실행한 후, '메모리 부족'에 대해 불평을 했다.
뒤쪽 내용을 쭉 읽으면 메모리 부족이랑 별 관계가 없는 내용이라는 것을 알 수 있다. 메모리 부족이란 윈도우 95가 많은 메모리를 사용해서 시스템이 느릴 때나 하는 말이다. 그런데 이 내용은 자신이 8메가 메모리를 가지고 있는데, 화면에 7메가라고 표시된다는 것에 관한 내용이다. 원문은 missing memory다. 메모리 부족이 아니라 사라진 메모리인 것이다.

p28 단일화 메모리 구조
unified memory architecture를 번역해 둔 것이다. UMA란 비디오 카드랑 메인 메모리를 같이 공유해서 사용하는 시스템을 말한다. 보통은 통합 메모리 구조로 불린다.

p31 당신의 백만분의 일 확률의 버그는 매년 윈도우 7만 벌 수입만큼의 비용을 회사에 가중시킨다.
당신의 자체가 어색하다. 7만 벌 수입만큼의를 한번에 이해할 수 있을까? 이건 7만 카피를 번역해둔 것이다. 백만분의 일의 확률로 발생하는 버그는 매년 7만 카피의 윈도우가 벌어들이는 수입과 맞먹는다. 정도가 좀 더 이해하기 쉬운 문장일 것이다. 카피를 벌로 번역하는 것은 정말 ㅠㅠ

p.42 실제로 어떤 특별한 처리를 하면 오류가 발생되며, 창 관리자가 마샬링을 해준다.
원래 원문은 두 문장으로 쪼개진 것이다. 번역하면서 이를 되며로 연결을 시켰다. 결과적으로 엉뚱한 문장이 되었다. 특별한 처리를 하면 창 관리자가 마샬링을 해준다는 의미로 읽히기 때문이다. 원문의 의미는 특별한 처리를 하면 오류가 발생한다. 왜냐하면 창 관리자가 마샬링을 해주기 때문이다. 정도다. 물론 원문엔 왜냐하면은 없다.

p86 수평 메뉴와 팝업 메뉴를 둘 다 추적하는 것이 귀찮을 수도 있다.
It can be cumbersome keeping track of both the horizontal menu and the pop-up menu. 가 원문이다. 당췌 뭘 추적한다는 건지. ㅠㅠ 문맥상으로 해석하면 "수평 메뉴와 팝업 메뉴를 둘 다 관리하는 것은 귀찮다." 정도다. 여기서 keep track of는 리소스 제어용 변수 두 개를 관리하는 것을 말한다. HMENU가 두 개면 각각을 해제해야 하기 때문에 귀찮다는 의미다.

p87 타이머가 점화되면 자신을 InvalidateRect에 보내고 타이머를 죽인다.
점화되면 자신을 보내고. 정말 가관이다. 이쯤까지 읽으면 이제 원문이 추론될 지경이 이른다. When the timer fires, it does an InvalidateRect of itself and kills the timer가 원문이다. 자신을 InvalidateRect에 보낸다는 건 정말 어처구니 없다. "타이머가 발생하면 InvalidateRect를 수행하고 타이머를 죽인다" 정도로 해석할 수 있다. of itself는 자기 자신을 보낸다는 의미가 아니라 자신에 대한 InvalidateRect를 호출한다는 의미다. 점화되면 또한 정말 어처구니 없다.

p97 정적 컨트롤의 색상을 개인화하기 위해 DC 브러시를 사용해보자.
Let's use the DC brush to customize the colors of a static control. static 컨트롤의 색상을 변경하기 위해서 DC 브러시를 사용해보자. 정적은 완전 잘못됐고, 개인화는 어색하다.

과도했던 한글화
화면 낭독기screen reader, 은유metaphor, Z 순서z-order, 서술자descriptor, 선택자selector, 서술자 테이블descriptor table, 자원resource, 종속물dependencies, 가져오기import

어딘지는 기억나지 않지만 이름 분해name resolution도 있었다. 네트워크에서 이름을 찾는 과정에서 나오는 name resolution을 이름 분해라고 해석한 것이다. 정말 당황 스럽다.
컴퓨터 번역서는 정말 최악이던 시절이 있었다. 그러나 요즘은 정말 많이 나아졌다. 번역을 잘하시는 분들이 좋은 책들을 많이 번역해 주셨고, 그나마도 최근에는 개발자들이 번역하는 사례가 늘면서 오역이 좀 사라지는 추세기 때문이다. 이제는 번역서 믿고 사도 되겠지하고 23000원 아껴볼라고 번역서를 지른 나에게 일침을 놓는 엄청난 책이었다.

책 내용은 훌륭하다. 대부분의 소재가 그의 블로그에 올라온 것들이다. 그런데 각색된 것이 많이 있고, 새로 다듬어진 것도 많이 있기 때문에 한권쯤 책으로 꼭 소장하라고 권하고 싶다. 윈도우 개발자가 아니라면 굳이 볼 필요는 없다고 생각된다. 물론 윈도우 개발자가 아니라도 도움되는 내용이 많지만 상당 부분이 윈도우 개발과 관련있는 내용이다. 윈도우 개발의 보다 깊은 곳을 느끼고 싶다면 꼭 사서 읽어 보자. 43000원은 결코 아까운 금액이 아니다. 영어 공부도 할 겸 꼭 원서를 사보자.

끝으로 번역서에 한 가지 더 불만이 있다면 종이 질이다. 뺀질뺀질하게 코팅된 용지를 사용했는데 이거 엄청 무겁다. 두깨는 얼마 되지 않는데 들고 읽기가 상당히 거시기 하다. 특히 밤에 읽으면 난반사가 심해서 눈이 엄청 아프다. 칼라도 아닌것이 왤케 비싼 용지를 써서 고통스럽게 만드는지 모르겠다.

@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중