이 글은 내 자신에 대해서 반성하는 글이다.


과거에 프로그래밍 관련 번역에 대한 불만들 토로하는 글을 쓴 적이 있다(프로그래밍 관련 번역에 대한 사설). 번역된 단어에 제대로 된 뜻이 담기지 않았다는 불만이었다.


나는 최근 며칠 간 유니티 5.6의 AssetBundle 초안 문서를 번역하는 작업을 했었다. 거기에 등장하는 용어 중에 배리언트(Variants, 변형)이라는 단어가 있는데, 유니티의 에셋 번들에서는 에셋 번들 배리언트로 하나의 오브젝트에 대해서 에셋 번들을 만들 때 사용하고자 하는 방식이나 버전에 따라서 에셋 번들을 다르게 만드는 것을 의미하는 것이었다.


예를 들어 하나의 오브젝트가 있는데 이것이 작동하는 방식이 iOS와 안드로이드가 달라서 에셋 번들을 다르게 빌드해야한다던지, 두 장의 텍스쳐를 하나는 고해상도 배리언트로 묶고 하나는 저해상도 배리언트로 묶는다던지 하는 방식으로 사용하는 것이다.


하지만 나는 이 단어의 의미나 용도에 대해서 깊게 고민하지 않았고 그 뜻이 명확하게 드러나 보이지 않는, 단순한 사전의 뜻 그대로 "변형"이라는 단어를 사용해서 번역하는 실수를 저지르고 말았다.


Direct3D에서 사용되는 서피스라는 단어의 표면적인 뜻에서 진짜 뜻을 찾아 헤매던 것을 고생을 잊은 것이다.


번역 작업을 할 때는 기계적으로 번역하지 말자.

반응형
  1. daewonyoon 2017.05.02 10:56 신고

    서페이스?
    surface 라면 보통 "서피스"라고 읽어야 하지 않을까요?

프로그래밍에서 사용되는 용어의 주된 특징은 그 원어는 거의 전부(어쩌면 거의가 아니라 그냥 전부)가 영어에서 온다는 것이다. 그렇기 때문에 발생하는 문제는 비영어권인 지역의 사람이 정보를 접하기 위해서는

  1. 영어로 된 자료를 직접 번역해서 읽는다.
  2. 번역된 자료를 읽는다.

이 두 가지 중 하나를 선택해야 한다. 물론 오랫동안 프로그래밍 해온 개발자로서는 제대로 된 정보를 얻기 위해서는 1번이 좀 더 나은 선택이라는 것을 알고 있고 어느 정도 영어에 친숙해진 이후라 1번을 주로 택하게 되겠지만 아직 프로그래밍을 시작한지 얼마 안된 개발자/지망생은 일반적으로 영어에 친숙하지 않고 번역된 자료를 선호하는 경향이 좀 있기도 하고, 쉽게 접할 수 있는 자료가 번역된 자료이기 때문에 2번을 주로 하게 된다.


물론 번역된 쉽게 접할 수 있는 자료라는 것은 아주 좋은 것이지만 몇 가지 문제가 항상 읽는 사람을 큰 혼란에 빠뜨린다.

  1. 용어의 과도한 한글화로 인한 원래 용어를 알 수 없게 되는 경우
  2. 용어의 한글화를 하는 도중에 그 단어의 표면적인 뜻만을 번역해서 그 용어가 의미하는 바를 알 수 없게 되는 경우
  3. 딱딱한 번역체로 인해서 아주 읽기 힘든 글이 되는 경우

뭐... 번역자들에게도 고충이 없겠냐마는 위의 세 가지 문제는 언제나 외국의 문물을 받아들이려는 학생을 힘들게 한다.


이번에 surface라는 용어에서는 그런 2번의 문제를 매우 심하게 느꼈는데 DXGI_USAGE의 열거형들을 조사하면서 이 surface라는 단어를 만났다. 그래서 이 열거형들의 내용이 번역된 자료를 찾아나섰는데 거기엔 이 surface를 다른 설명없이 그냥 표면이라는 단어 하나로 번역해 놓은 것이었다.


Direct3D의 surface라는 용어를 표면이라는 단어로 진정한 용어의 뜻 대신 그냥 표면적인 단어의 뜻만 보여주는 상황이라니... 이 얼마나 어이없는 일인가?

이것은 그리 똑똑하지는 못한 내 생각이지만 번역을 할때 이 원칙을 세워 지켰으면 좋겠다.


한글로 번역했을때 그 뜻이 쉽게 혹은 누구나 알기 쉽게 드러나지 않는 용어는 섣불리 한글로 번역하지 않고 그 용어에 대한 충분한 설명을 곁들일 것.

반응형

+ Recent posts