자바스크립트 국제화(날짜, 긴날짜, 숫자, 정렬) 데모앱

소프트웨어 국제화는 여러 문화와 언어 권에서 기능을 사용할 수 있도록 소프트웨어를 구현하는 것이다. 국제화는 소프트웨어 개발 단계에서 구현되기 때문에, 기술적인 부분을 많이 다룬다. 국제화는 아래의 기술적인 부분을 포함한다.

  • 언어 입력과 표시, 날짜와 시간 표기, 문자 정렬 순서, 데이터 교환 등의 다양한 데이터를 지정 언어와 위치에 맞는 형식으로 보여준다.
  • 개발자들이 문자열이나 그림 리소스를 코드 안에 직접 삽입하지 않고, 리소스를 따로 분리하여 저장한다. 그리고 UI 레이아웃을 고정하지 않고 어떤 언어로 바꿔도 자동으로 맞춰질 수 있게 구현한다.

또한 국제화는 집의 기초 뼈대를 만드는 단계이다. 집의 기초를 잘 만들면 집 주인이 원하는 모양대로 방을 만들고 꾸밀수 있는 것이다. 국제화가 세계화와 현지화와 어떻게 연결되는지는 이전 블로그 포스트에서 볼 수 있다.

국제화를 지원하는 라이브러리나 API는 프로그래밍 언어나 플랫폼에 따라 다양하다. 요즘 필자가 빠져있는 자바스크립트 언어에서는 ECMAScript Internationalization API를 사용하여 날짜, 화폐, 숫자, 시간 등의 다양한 데이터 형식을 국제화할 수 있다. 이 API는 네이티브 컴파일 형식으로 스피드가 빠르고 특별한 설치나 별도의 셋업 없이 사용할 수 있다. 자바스크립트의 표준으로 삼으려는 노력이 있지만 지원하지 않는 국제화 기능이 있기 때문에 필요에 따라 다른 오픈 소스 라이브러리와 함께 사용할 수 있다.

‘국제화가 현지화가 어떻게 다르지?’ 라고 질문하는 분들이 있을것 같아서 간단하게 자바스크립트 앱을 만들어서 표현해보았다. 아래 앱 스크린샷은 날짜, 긴날짜, 숫자, 정렬 요소를 보여준다. 그리고 로케일 버튼을 클릭하여 로케일을 선택할 수 있다.

로케일을 선택하면 각 요소의 값이 바뀌는것을 볼 수 있다. 앱 페이지에서 오른쪽 클릭하여 소스보기를 선택하면 소스를 볼 수 있다. 소스에서 setFormat(locale) 메서드가 국제화 관련 기능을 포함한다.

자바스크립트외에도 닷넷 프레임워크, iOS, 안드로이드 등 다양한 플랫폼에 따라서 제공하는 라이브러리가 다르기 때문에 선택하여 사용할 수 있다.

더 많은 정보를 보기 원하는 분은 https://www.facebook.com/globalsoftwarebook 페이지를 라이크해주시면 됩니다!

 

demo

 

demo2

demo3

에어비앤비의 해외시장 전략은?

airbnb3

미국 캘리포니아에 여행을 갔을 때 에어비앤비를 통해서 숙박을 해본적이 있다. 처음 보는 주인으로부터 방 열쇠를 건네받고 다른 방에는 모르는 다른 여행객이 숙박을 하고 있었다. 첨엔 겁도 조금 났고 사진과 너무 다른 느낌의 집이라서 실망도 했지만 그렇게 하루를 보냈다. 이런 숙박 모델이 다른 나라에서도 통할까하고 궁금해졌다.

에어비앤비의 해외 전략을 들여다보자. 에어비앤비는 글로벌 서비스를 만들기 위해 게릴라 전술을 사용하며 세계화에 힘썼다. 현재 190개 국가에 숙박 목록listing이 있고, 모바일  27개 언어로 현지화하였다(http://bit.ly/1EPoL9K). 게릴라 전략에서 주목할 만한 것중 하나는 에어비앤비가 확장하려는 지역에 직원들을 파견하여 사람들을 직접 만나서 문화를 이해하고 제품을 이해시키고 피드백을 받았다는 점이다. 이런 게릴라 전략은 페이스북에 광고하는 광고 모델 유형인CPAcost per action보다 결과가5배 더 좋았다고 한다(http://bit.ly/1DocjNg  ).

에어비앤비는 현지화할 때 크라우드소싱(사용자가 자원하여 제품을 번역) 모델과 기업 내 현지화 모델을 함께 사용했다. 에어비앤비 서비스를 잘 이해하는 여러 언어의 사용자와 호스트를 모집하여 번역하고 교정에 참여하도록 장려한다. 그다음 기업 내의 전문 번역가와 현지화 담당자가 내용이 일관성 있고 정확하게 번역되었는지 검토하는 방식이다.

또한 에어비앤비의 엔지니어링팀은 새로운 언어를 쉽게 추가하고 콘텐츠를 업데이트할 수 있는 시스템을 개발하였다. 시스템은 사이트에 새로운 구문이 추가될 때 자동으로 화면을 캡처하여 번역가에게 보낸다. 번역가는 사이트에서 구문을 선택하여 번역을 수정할 수 있고 수정한 번역 구문은 거의 바로 사이트에 게시된다.

하지만 많은 내용을 빠르게 그리고 고품질로 번역하긴 어렵다. 따라서 시스템은 특정 기간 얼마나 많은 사용자가 페이지를 봤는지 추적하여 페이지 뷰에 따라 우선순위를 정한다. 번역가는 우선순위가 높은 문자열을 먼저 번역하면 되는 것이다. 뿐만 아니라 언어를 여러 국가에 맞게 현지화하기 위해서 철자와 단어를 바꿔주는 프로세스를 자동화 하였다. 예를 들어 미국 영어, 영국 영어, 캐나다 영어인지에 따라서 철자법이나 단어 사용법을 알맞게 바꿔준다. ‘canceled’ 와 ‘cancelled’, ‘cabin’ 과 ‘cottage’ 등 각 국가에서 사용하는 영어의 철자와 단어를 선택하는 식이다. 이런 노력들은 에어비앤비가 글로벌 시장에서 성장할 수 있는 발판을 마련해주었다.

에어비앤비는 게릴라 전략을 크게 5가지로 요약한다.

  1. Talk to humans: 위에서 언급한것처럼 직접 각 지역에 가서 사람들과 대화하고 필요를 이해하는 것이다. 얼리어답터들이 친구들을 초대해서 함께 에어비앤비 현지 이벤트에 참여하도록 한다. 모임을 가진후 현지 사람들에게 에어비앤비에 대한 업데이트를 해주고 연락을 취한다.
  2. Launch with all you’ve got: 버스나 자전거 등에 로고도 붙이고, 파티, 스턴트 등 다양하게 시선을 끈다. 미디어를 통해서나 직접 직원들이 돌아다니면서 에어비앤비를 알린다.
  3. Find influencers among your users: 에어비앤비를 이미 사용하는 유명인사가 있다면 그들을 발굴해서 인지도를 사용하여 에어비앤비를 알린다. 예를 들면 연예인이나 SNS 에서 유명한 사람들을 찾는다.
  4. Study your users: 사용자들이 정보를 남기지 않거나 나이,연령 등의 자세한 개인 정보를 찾진 못해도 그들이 사용한 디바이스 (iPad, Nexus, Windows)나 이메일 앱 (아웃룩, 지메일)등 정보를 사용하여 캠페인에 이용할 수 있다.
  5.  Don’t ditch your data: 에어비앤비 게릴라 전략 동영상: CPA (온라인 마케팅, 영업, 추천 등의 방법이 얼마나 수익에 효과가 있는지 측정), NPS(사용자들이 제품을 사용할 때의 기분, 감정), 설문조사 등을 사용하여 모은 데이터를 유용하게 사용한다.

에어비앤비 전략을 소개하였지만,  제품 유형, 대상 사용자 및 여러 면을 고려하여 전략을 맞춰가야 할것이다.

아래는 에어비앤비 게릴라 전략에 대한 동영상이다.

포춘 500 대기업이 왜 세계화를 추진할까?

Fortune500icon

세계화 사이클에서 매우 중요한 부분이 현지화 단계이다. 그리고 현지화의 중요한 부분은 번역이다. 2012년 3월 Common Sense Advisory(CSA Research)가 포춘 500대 기업 중 콘텐츠를 다른 언어로 번역한 회사들을 대상으로 번역 목적이 무엇인지에 대해 설문조사를 수행한 결과를 살펴보자. 총 49개 회사가 설문조사에 참여하였다.

 

번역 목적 회사 수 비율
현지 고객의 기대를 충족하기 위해 39 79.59%
브랜드 가치를 유지하거나 높이기 위해 35 71.43%
경쟁하는 시장에서 더 많은 고객을 유치하기 위해 35 71.43%
지역 규정이나 법적 요구사항을 충족하기 위해 34 69.39%
전체 수익을 높이기 위해 28 57.14%
새로운 시장에 진입하기 위해 28 57.14%
경쟁사보다 우위를 유지하거나 확보하기 위해 27 55.10%
직원들에게 동기부여 하기 위해 24 48.98%
국내시장에서 현지 언어의 필요를 충족하기 위해 24 48.98%
파트너와 소통하고 동기부여하기 위해 15 30.61%

49개 회사가 가장 많이 선택한 이유는 현지 고객의 기대를 충족하기 위해서였다. 즉 사용자가 원하는 언어를 지원하기 위한 것이었다.

두 번째는 기업의 브랜드 가치를 유지하거나 높이기 위해서, 그리고 이미 경쟁하는 시장에서 더 많은 고객을 유치하기 위해서였다. 브랜드는 표준화하여야 된다고 생각하는 사람도 있지만, 의미나 로고는 지역마다 다르게 해석될 수 있으므로 현지화하여 번역하는 것이 브랜드 가치를 높이는 데 더 도움이 될 수 있다.

세 번째는 특정 지역의 규정 및 법적 요구사항을 충족시키기 위해서이다. 지도나 국기 같은 민감한 그림에 나라 이름을 잘못 표기하면 그 지역에서 소송에 휘말리거나 벌금을 내는 등의 손해를 볼 수 있다. 판매 금지처분을 받는 경우도 생길 수 있다.

50% 이상의 다른 답변들을 보면 이들은 수익을 높이고 새로운 시장에 진입하기 위해서, 경쟁사보다 우위를 확보하기 위해서 콘텐츠를 번역했다. 새로 확장하는 언어의 번역 비용보다 그 언어 사용자들에게서 벌어들이는 현재 수익 또는 잠재적 수익이 크면 번역할 충분한 가치가 있을 것이다. 또한 선점 효과(first-mover advantage)에 따라, 먼저 시장에 진출하면 경쟁사보다 우위를 차지할 확률이 높아진다.

세계화, 국제화, 현지화가 다른 뜻인가요?

세계화, 국제화, 현지화가 무엇인가?

제프리 삭스(Jeffrey Sachs)는 “세계화는 다른 것과 마찬가지로 기술과 올바른 생각에 의해 이루어진 깊이 있는 트렌드이다” 라고 말했다. 제프리 삭스는 하버드 대학 역사상 최연소 종신 경제학 교수 중 한 명으로, 세계화를 포함한 다양한 경제와 사회 이슈에 대해서 다루었다. 나는 그가 말하는 기술의 대표는 인터넷이라고 말하고 싶다. 인터넷은 물리적인 시장의 한계를 넘어선 가상(virtual) 시장을 만들었다.

인터넷을 통해서 소프트웨어도 세계로 진출할 수 있게 되었다. 하지만, 인터넷을 통해 소프트웨어가 세계 시장에 쉽게 진출하여도 해외 사용자들이 제품의 기능을 사용할 수 없다면 세계 시장이 과연 가치가 있을까? 세계 사용자들이 각각의 문화와 언어에 맞는 제품을 사용할 수 있을 때 가치가 부여될 것이다.

세계 사용자들에게 가치 있는 소프트웨어를 만들기 위해 소프트웨어 세계화의 중요성이 주목 받고 있다. 그리고 이와 관련하여 소프트웨어에서는 세계화, 국제화 등 다양한 용어들이 사용되고 있다. 세계화(Globalization), 국제화(Internationalization), 현지화(Localization) 용어들은 다 비슷하게 느껴질 수 있지만, 뚜렷하게 다른 의미를 가진 용어들이다. 이 용어들의 의미를 잘 이해하고 바르게 사용하면 제품 개발 단계에서 혼동을 줄이고 효과적으로 소통할 수 있다. 이런 혼동을 줄이고자 여러 단체에서 움직임이 있었다.

LISA (the Localization Industry Standards Association)라는 단체에서는 기업과는 독립적으로 국제화와 현지화 소프트웨어 산업의 세계화 표준을 만들고자 했다. LISA는 지금은 존재하지 않지만, 아직도 많은 기업들이 LISA 의 표준 용어의 정의대로 사용하는 경우가 많다. 특정 기업에서는 현지화 준비(Localizability), 시장 맞춤 (Market customization) 용어 등 다른 용어를 사용하기도 하지만, 의미를 좀 더 세분화한 것이지 큰 틀은 다르지 않다.

이 글은 많은 기업이 사용하는 LISA 의 표준 용어를 바탕으로 하여 쓰여졌다. 그리고 이 책의 내용들은 특정 기업에 국한된 내용이 아니라 업계에서 널리 사용되는 지침과 다양한 통계 자료를 바탕으로 한다.

세계화, 국제화, 현지화 의미와 성격

세계화(Globalization)

소프트웨어 세계화는 세계 시장의 사용자들이 제품을 사용할 수 있도록 기획하고 실행하는 총체적인 사이클이다.

성격

  • 제품의 해외 진출 이전에 비지니스 전략을 수립하고 시장 분석을 통해 대상 시장을 결정 한다.
  • 국제화와 현지화 단계를 포함하는 총체적인 사이클이다.

집을 짓는 것에 비유하면 세계화는 집의 설계이다. 어느 지역에, 어떤 주민을 대상으로 할지 전체적인 설계를 한다. 또한, 세계화는 총체적인 사이클이기 때문에, 완성된 집은 세계화된 제품이라고 할 수 있다.

기업의 자원과 기술 현황에 맞게 세계화를 하려면 마케팅팀, 개발팀, 영업팀 등 여러팀이 협력하여 세계화 전략을 토론하고 대상 시장을 결정하는 것이 중요하다. 세계화 사이클을 들여다보면, 세계화 전략을 수립한 후에 국제화를 구현 하고 현지화 작업을 한다. 진출하려는 나라와 언어 전략을 수립하고 국제화와 현지화가 잘 구현되었을 때에 제품이 올바르게 세계화 되었다고 말할 수 있다.

국제화(Internationalization)

소프트웨어 국제화는 여러 문화와 언어 권에서 기능을 사용할 수 있도록 소프트웨어를 구현하는 것이다.

국제화는 소프트웨어 개발 단계에서 구현되기 때문에, 기술적인 부분을 많이 다룬다.

성격

  • 언어 입력과 표시, 날짜와 시간 표기, 문자 정렬 순서, 데이터 교환 등의 다양한 데이터를 지정 언어와 위치에 맞는 형식으로 보여준다.

  • 개발자들이 문자열이나 그림 리소스를 코드 안에 직접 삽입하지 않고, 리소스를 따로 분리하여 저장한다. 그리고 UI 레이아웃을 고정하지 않고 어떤 언어로 바꿔도 자동으로 맞춰질 수 있게 구현한다.

국제화는 집의 기초 뼈대를 만드는 단계이다. 집의 기초를 잘 만들면 집 주인이 원하는 모양대로 방을 지을 수 있는 것이다.

현지화(Localization)

소프트웨어 현지화는 제품을 대상 지역의 현지 언어, 문화, 관습 적인 기대에 맞게 변경하고 콘텐츠를 넣는 것이다.

현지화는 소프트웨어 제품 문자열 뿐만 아니라 문서, 그림, 오디오, 비디오 등에도 적용 된다. 즉, 현지화를 할 때 문자 그대로 번역만 하는 것이 아니라 문화를 이해해야 한다.

“문화적으로 맞춤화된 웹사이트(The Culturally Customized Web Site by Nitish Singh)” 라는 책에서는 문화와 지각의 관계를 한 사례를 통해서 표현하였다. 미국의 노인과 인도의 노인이 각각 “예배 장소에 흰 옷을 입고 있는 여자”를 머릿속에 그려보았다. 미국 사람의 대부분은 제단에 서있는 신부를 상상했고, 인도 사람의 대부분은 기도하는 미망인을 상상했다. 이런 상상력은 정보를 선택하고, 필터하고, 정리하고, 해석하는 지각이다. 지각의 중요한 부분은 환경의 자극을 필터하고 처리하는 것이다. 문화적인 차이가 환경과 상호작용을 하여 정보를 처리할 때 중요한 역할을 한다.

성격

  • 빌드 시스템에서 현지화할 파일을 만드는 방법을 엔지니어링 한다.

  • 현지화 모델을 선택하고 현지화 작업을 위해 다양한 도구를 선택하여 리소스(UI 그림, 문자열 등)를 번역한다. UI 에 보여지는 리소스 외에도 컨텐츠(날씨, 뉴스 등)를 현지에 맞게 번역하거나 맞춤화한다.
    리소스 번역에 사용되는 네 가지 모델은 아래와 같다.

    기업 내의 로컬라이저가 번역하는 모델

    크라우드소싱 (Crowdsourcing)하여 일반인이 번역하는 모델

    아웃소싱 (Outsourcing)하여 외부 공급 업체가 번역하는 모델

    기계 번역(Machine Translation) 엔진을 사용하는 모델

  • 현지에서 필요로 하는 기능이 있다면 현지 특성에 맞는 기능을 구현한다.

현지화는 집에 각 방을 만들고 고유의 멋과 특성에 맞게 방을 꾸미는 것이다. 방들은 대상 지역 및 국가들이다. 한국, 미국, 중국, 일본 등이 각 방이 될 수 있는 것이다.

각 방을 그 방의 특성에 맞게 꾸미듯이, 제품을 특정 국가로 현지화 할 때 그 국가의 문화와 특색에 맞게 번역하고 컨텐츠를 맞춤화 하는 것이다.

buildinghouse

위의 그림은 세계화, 국제화, 현지화가 집의 어떤 부분을 완성 시키는지 그림으로 보여준다. 위에서 설명했듯이, 처음 세계화를 통해서 집을 설계하고, 국제화를 통해서 기초 뼈대를 짓고 현지화 하여 각 방을 문화에 맞게 꾸민다. 이렇게 완성된 집은 세계화가 잘된 집이라고 할 수 있다.

추신: 독자그룹에 가입하시면 빠른 소식을 받으실 수 있습니다.