Blog - Title

February, 2010

철수네 소프트웨어 세상 [마이크로소프트 지점]

Blog - Post Feedback Form(CAPTCHA)
  • 철수네 소프트웨어 세상 [마이크로소프트 지점]

    국제화(i18n, internationalization): (1) 그거 번역하는거 아냐?

    • 1 Comments

    무슨일을 하냐는 질문에 국제화(i18n, internationalization)과 관련된 일을 한다고 대답을 하면 다수가 "아~"라고 하면서도 잘못된 "아~"를 날립니다. 물어보면, "그거 번역하는 일이랑 관련된거 아냐?" 정도로 이해를 하고 있는 경우가 참 많더라구요. 글로벌시대에 그런 이해가 웬말입니까~^^ 번역일 자체도 복잡하지만, 번역일을 포함하는 현지화(l10n, localization) 이외의 여러가지를 포함합니다. 일반적으로 "번역?"이라고 하는 이유에는, IT직종에 있는데 번역 관련일을 하고 있다고 하면 뭔가 매치가 안되고 기술적으로 뭔가 관련이 적을 것 같은 느낌이 드는 이유도 있겠습니다.

    국제화란 것은 제품을 세계 시장에 내놓을 수 있도록 만드는 작업을 통칭하는 이야기입니다. 제품이 세계시장에서 사용되기 위해서는(이를 World-Readiness라고 합니다), 새로운 시장이 생겨도 언제든지 쉽게 바꿀 수 있도록 소프트웨어가 만들어져 있어야 합니다. 세계시장에 통용된다는 말이 단순히 해당 언어로 볼 수 있다는 것만 의미하는 것이 아니고, 해당 문화와 표준에 맞는지, 해당 법규제를 어기지 않는지, 해당 영역에서는 다르게 사용하고 있는지 등등의 다양한 질문들이 최소한 해결된다는 것을 의미합니다.

    번역 자체는 비용이 표준화되어있다고 하더라도, 이 번역한 결과물을 소프트웨어에 넣어서 문제없이 사용될 수 있는 과정은 표준화하기가 힘듭니다. 또한, 시장마다 다른 문제들을 매번 소프트웨어를 뜯어고쳐서 해결해야된다면 그 비용은 감당하기 쉽지 않겠죠. 또한 해당 시장 제품을 만드는데 드는 시간이 많이 든다면, 이 또한 비용과 직결된 문제겠습니다. 어떤 기능 때문에 해당 시장에서 아예 팔리지 못한다면, 투자한 비용을 버리는 것이 되기도 하겠죠. 또한, 제품이 잘 작동하는지 확인하는 테스트 과정은 또 어떻게 해야할까요, 모든 기능을 해당 언어로 다시 봐야할건데 말이죠. 사실 많은 것이 이렇게 비용와 예산과 결부가 되어있기 때문에, 글로벌한 소프트웨어 비즈니스를 하는 것이 알고보면 쉽게 할 수 있는 일이 아닌 것이 되어버렸습니다.

    국제화 작업은 1. 번역/현지화(localization) 2. 번역가능한 소프트웨어(localizability) 3. 번역이 안돼있어도 어디서든 사용할 수 있는 소프트웨어(globalization) 4. 해당 시장에 맞게 모든 것이 제대로 적응된 소프트웨어(market customization) 이렇게 4가지의 요소를 가집니다.

    - 소프트웨어를 만든다면 꼭 영어가 아니라고 하더라도 해당 소프트웨어를 만드는 사람의 언어로 만드는 것이 가장 효율적일 것입니다. 그런 이유로 그것을 다른 언어를 사용하는 곳에 가져가서 사용하려면 번역은 필수적인 요소입니다. 번역일 자체를 해본 분들은 아시겠지만, 번역 작업도 굉장히 어렵고, 계속된 번역을 위한 용어를 통일화하는 것, 정의하는 것 또한 어렵고, 원어와 1:1로 대비되는 용어가 없는 경우도 엄청나게 많고, 또한 사람이 번역하기에 교정/감수를 하는 일 자체도 많은 리소스를 요하게 됩니다. 또한, 번역을 위해서는 소프트웨어의 어느 부분을 번역하는 것이냐에 따라 다른 문맥을 가지게 되므로 완전히 다른 의미로 돌변하는 경우도 많습니다. 번역을 할때는 기능을 모두 사용할 줄 아는 사람이 하면 좋겠지만, 일반적으로 그렇게 이루어지지 않습니다(시간이 엄청나게 걸리겠죠). 예를 들어서 제품명인 "xxx폰"을 "xxx전화"라고 번역해버린다면, 웃긴 사태가 벌어지겠죠.

    - 번역을 해놓았다면 이 자료를 해당 소프트웨어가  읽어들여서 사용해야합니다. 소프트웨어에서는 어떤 특정 언어를 편애해서 읽어들이는 것이 아니기 때문에, 인코딩도 맞아야하고, 문자들이 올바르게 표시가 되는지도 정확해야하고, 각기 다른 크기의 문자들로 바뀌면 잘리거나 잘못 나오지 않도록 해야하고, 또한 사람이 만든 소프트웨어이기 때문에 빼먹은 부분이 없는지도 확인해야하는 등 수많은 작업들이 필요합니다.

    - 현지화가 미처 안된 시장이라고 하더라도, 이를 해당 시장의 사용자들이 사용도 하지 못하는 경우보다는 사용은 할 수 있으되 현지화되지 않은 경우가 훨씬 좋은 방향이겠죠. 가장 쉽게 이해할 수 있는 예가 입력일 것입니다. 내 언어로 입력이 안된다면, (소프트웨어의 용도에 따라 다르겠지만) 이는 번역이 안된 것보다 큰 문제겠죠. 워드프로세서가 있는데 한글판이 없더라. 게다가 한글 입력도 안되더라...상상이 되죠? UI가 영어로 되어있어도 한글 문서를 작성할 수 있다면 제 구실을 하기는 하는 것이겠죠.

    - 또한 각 시장에는 시장의 요구사항들이 있습니다. 어떤 시장을 타겟으로 마케팅을 하는 경우 문제가 되는 요소가 있는 것보다는 이를 미연에 방지하는 편이 훨씬 좋은 전략이겠죠. 예를 들어서, 어떤 시장에서는 영어 알파벳이 정렬순서의 앞쪽인데 어떤 시장에서는 반드시 뒤쪽이어야한다면, 나중에 다른쪽 시장에 적응하기 위해서는 소프트웨어를 뜯어고쳐야겠죠. 미리 이를 알고 두가지 방법으로 할 수 있도록 만들어두었다면 비용이 훨씬 적게 들테구요.

    간단히 몇가지 이야기를 했지만, 이 정도만으로도 글로벌 비즈니스를 책임(?)지는 국제화/현지화가 얼마나 복잡한 것인지 느낌이 오시죠? 그거 그냥 번역하는거 아니랍니다.^^

    ...다음에 계속...

  • 철수네 소프트웨어 세상 [마이크로소프트 지점]

    커서에 먼지가 껴 있어요!

    • 1 Comments
    image

    위의 이미지에서 보통 보던 입력과 다른 점이 뭘까요? 관찰력이 좋으신 분들은 한눈에 알아차리시겠지만, 입력창의 커서가 일자가 아니라 위가 오른쪽으로 꼬부라진 모양이라는 것이 조금 다릅니다. 인터넷을 검색해보면, 이에 관한 수많은 글들을 보실 수 있습니다.

    “커서 위에 점이 생겼는데, 바이러스인가요?” “이거 굉장히 눈에 거슬리는데 어떻게 없애나요?” “실시간 보안 툴을 설치했더니 없어지더이다.” “커서가 잘못된 것 같은데 고쳐주세요.” “키로거가 작동중인 것 같은데 어떻게 제거하나요” 등등 말이죠.

    헌데 사실은 이것은 바이러스나 키로거와는 별 상관이 없는 실제 기능입니다. 어떤 기능인지 살펴보기 위해서 IE8을 사용한 약간의 실험을 해보겠습니다.

    IE8의 새로운 기능 중에서 “커서 브라우징(Caret Browsing)”이라는 알면 편한 기능이 있습니다(모르면 당황스러울지도 모르는). “Caret”은 커서와 비슷한 의미로 사용되는 말인데, 커서를 사용해서 글자들을 수정할 수 있는 모드처럼 사용할 수 있는 기능입니다. 입력이 가능한 창에서는 오른쪽 키를 누르면 글자의 오른쪽으로 커서가 움직입니다. 헌데 보통 입력창이 아닌 수정이 불가능한 글씨에는 커서가 위치할 수 없죠. Caret Browsing 기능을 사용하면 이것이 가능해집니다.

    지금 IE8을 사용하고 계시다면 바로 F7을 마구 눌러보세요. 그러면 (영문 Windows를 기준으로) 아래와 같은 질문을 받습니다:

    image

    Caret Browsing을 사용하기 위해서 Yes를 누릅니다. 그리고선 화살표 키들을 누르거나 마우스로 원하는 글자 근처를 클릭해보세요. 커서가 나타나서 깜빡일 것입니다. Shift와 함께 좌우 화살표를 누르면 입력창처럼 글자들을 선택할 수도 있습니다.

    다음 단계로 가겠습니다. 브라우저에서 http://en.wikipedia.org/wiki/Arabic_language로 이동을 합니다. 아랍어가 섞여있는 간단한 페이지입니다:

    image

    설명에 보면 Arabic 옆에 다른 언어로 적혀있는 부분(위에 빨간 동그라미)이 아랍어 부분입니다. Caret Browsing 모드를 켜고 여기를 클릭합니다. 커서가 나타나면 오른쪽 화살표 키를 눌러봅니다. 어?

    커서가 신기하게도(?) 왼쪽으로 움직이는 것을 보실 수 있습니다. 이것이 바로 BiDi(바이다이) 텍스트(여기서는 RTL 텍스트)입니다. Bi-Di는 Bi-Directional의 약자(양방향)로 우리나라나 영어권 국가들이 글을 오른쪽으로 적는 것과는 다르게 중동 쪽에서는 왼쪽으로 적기 때문에 지원하는 기능입니다. Windows가 처음에는 영어버젼밖에 없었기 때문에 오른쪽이 기준이었지만, 이제는 다른 언어들을 지원하기 위해서 양쪽방향을 모두 지원합니다. Windows 뿐만 아니라 수많은 표준들이 이를 지원하기 시작하고 있죠. 대개 오른쪽으로 적는 것을 LTR(Left to Right) 그리고 왼쪽으로 적는 것을 RTL(Right to Left)이라는 약자를 사용하여 이야기합니다. BiDi는 LTR+RTL인 것이죠.

    양쪽으로 글을 적을 수 있다는 것은 어느쪽으로 글을 적고 있는 것인가를 구분하는 기능이 필요하다는 것을 의미하지 않을까요? 위에서 이야기한 커서에 달린 먼지는 바로 이 방향성을 나타내는 지시자입니다. 오른쪽에 붙어있으면 오른쪽으로 글을 쓰고 있다, 왼쪽에 붙어있으면 왼쪽으로 쓰고 있다는 말이죠. 이렇게 설명을 들으니까 있어야겠다는 생각이 드나요?

    하지만, 그냥 보통 사람이 아랍언어를 사용하는 빈도는 이전보다는 있을 수 있다고 해도 그다지 많지 않을 것입니다. 해서 이 커서는 아무때나 나타나지는 않고, 일반적으로 아랍 언어 입력기를 설치할 경우에(IE8과 같이 이를 지원하는 프로그램에서) 나타납니다. 예외로 BiDi의 중요성을 크게 생각하는 일부 프로그램들에서는 자동으로 켜지는 경우가 있습니다. 이를 끌 수 있는 방법은 아랍 입력기가 있다면 이를 제거하거나 파이어폭스 브라우저같은 경우 주소창에 “about:config”로 이동해서 “bidi.support” 값을 0으로 바꾸면 없어진다거나, 혹은 다른 프로그램들은 도움말을 참조해서 기능을 꺼야하겠습니다. 안타깝게도 프로그램마다 이 커서가 나타나는 규칙에 표준이 없습니다. 그냥 표준이 되어서 사용자들이 익숙해지면 좋겠지만, 그렇게 간단하지는 않습니다.

    아무튼 혹여 이런 현상을 보시더라도 이제는 잘못된 것이 아니라 BiDi 기능이 켜진 것으로 생각하시면 되겠습니다.^^

    --

    간만의 블로깅인데, 앞으로는 조금 더 분발해보도록 하겠습니다.ㅜ_ㅜ;;

Page 1 of 1 (2 items)