E. S. Wright Westward 'Round The World (New York: E. P. Dutton and Company, 1908) 60

E. S. Wright Westward 'Round The World (New York: E. P. Dutton and Company, 1908) 60

언젠가 이 날이 올 것을 알고 있었습니다. 직접 만든 앱이 국내 시장을 넘어서 외국 시장에 진출할 단계가 왔습니다. 앱은 이미 준비가 되어 있습니다. Vue, React같은 프론트엔드 프레임워크에서 현지화를 구현하기는 오늘날 그렇게 어려운 일이 아닙니다. 이미 유명한 현지화 라이브러리들이 있기 때문입니다: Vue-i18n 이나 React-i18next 는 오픈소스의 장점을 그야말로 절절하게 보여주고 있습니다. 서수부터 날짜, 복수 및 단수 문제 등 대규모의 현지화를 직접 진행해보지 않고는 알 수 없는 부분들이 모두 구현되어 있습니다. 전 세계에서 모여든 개발자들이 각자 언어에 모자란 현지화 기능을 구현하기 위해 필요한 부분들을 미리 구현해 놓았습니다. 프론트엔드 엔지니어의 관점에서 현지화 시스템은 구축은 그렇게 어렵지 않습니다.

자동화가 필요한 사례들

현지화의 기술적인 구현은 엔지니어가 해결할 수 있습니다. 문제는 외부에 현지화를 맡길 때부터 발생합니다. 현지화 자체는 외부 번역팀의 도움을 받아 진행해야합니다. 앱에 현지화 기능을 구현하는 것과, 시도때도 없이 밀려오는 수정 요청을 감당하는 것은 별개의 문제입니다.

{ "ITEM": "아이템 창" }

앱에는 위와 같은 문자열이 포함되어 있습니다. 미국 현지화 팀에서는 아래와 같이 번역하고 UI에서 이상한 증상을 발견합니다.

{ "ITEM": "item window" }

버튼은 정확히 4글자의 전각문자 + 1글자의 반각문자를 포함할 정도의 크기밖에 되지 않는데, 영어로 번역하니 훨씬 문자열이 길어져서 글씨가 버튼을 뚫고 나오는 일이 발생합니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5699d70e-a614-41b4-bb9f-33f161046ea0/Untitled.png

그러나 "아이템 창"버튼은 앱에서 아주 복잡한 과정을 거치지 않으면 볼 수 없는 버튼입니다. 이 버튼은 검수과정에서 발견되지 않고, 앱이 그대로 릴리즈됩니다. 현지화 검수 비용은 모두 지불했습니다.

어느 날 이벤트가 열립니다. 수많은 해외 유저들이 우연히 이 버튼이 보이는 화면까지 진입하여 클릭을 시도합니다. 스타일이 무너지면서 GUI도 오동작을 하여, 바로 옆에 있는 다른 버튼을 클릭하는 효과가 나타납니다.

CS팀에서 긴급하게 핫픽스를 요청합니다. 기획팀은 CS팀의 요청을 받아 다시 현지화 검수를 요청하고, 버튼의 문자열을 적합하게 수정합니다. 이미 이 과정에서 수 시간이 소모됩니다. 개발팀은 재빠르게 슬랙에서 문자열을 복사하여 붙여넣기 합니다.

{ "ITEM": "inventorwqez" }

급하게 복사 붙여넣기를 하는 과정에서 오타가 발생했습니다. 긴급한 릴리즈 후에도 문제가 해결되지 않습니다. 개발팀은 다시 문자열을 수정합니다.

{ "ITEM": "inventory" }

그러나 릴리즈가 완료 되자 또다시 수정 요청이 들어옵니다. 현지화팀에 기획팀이 확인해본 결과 다른 용어를 사용해야 사람들의 결제를 유도할 수 있다고 합니다. 기획팀의 뒤늦은 수정이 개발팀에 전달되지 않았던 것입니다. 다시 수정이 진행됩니다. 개발팀은 또다시 복사-붙여넣기 과정에서 실수가 일어나지 않기를 기도합니다...