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

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

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

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

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

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

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

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

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

 

demo

 

demo2

demo3