문제를 일으키지 않는 언어, 나라, 날짜 그리고 시간 표기법

언어와 나라

한국은 한국어만 쓰기 때문에 한 영토 안에서 한 언어만 쓰지 않을까 하는 생각을 하기 쉽지만, 사실은 그렇지 않다. 아래의 지도를 보자. 언어를 기준으로 그린 세계지도를 보면 우리가 알고있는 지도와 많이 다르다.

World-Languages

이를 감안하여 안드로이드에서는 언어를 표기하는 방법을 다음과 같이 하고 있다. 영어를 “en”으로 표기하는 ISO 639-1 언어 코드와 미국을 “US”로 나타내는  ISO 3166-1 alpha-2 국가 코드를 조합하여 표현한다. 예를 들어 영어-미국이나 한국어-한국을 표기한다면,

예) en-US, ko-KR

이런 표준을 사용하면 이를 인식하는 라이브러리도 많고, 또한 다른 개발자와도 혼란을 줄일 수 있다.

다른 참고할만한 표준은 무엇이 있나?

  • 사실 날짜/시간에 관련된 표준이 제일 많다. 하지만, 안드로이드/웹 개발자라면 ISO 8601을 참고하면 좋다. 연속된 스트링으로 작성할 수 있어 공백이 무슨 문제를 일으킬지 모르는 공간에서도 올바로 표기될 수 있다. 그리고, joda-time과 같이 안정적인 라이브러리도 많다. 게다가, 세계 시간을 올바르게 표현할 수 있고, 허락되는 저장공간에 따라 여러가지 길이로 표현할 수 있다.
  • 국가를 표기하는 경우는 ISO 3166-1 alpha-3이 ISO 3166-1 alpha-2보다 좋다. 3글자로 국가를  “GBR”과 같이 표기한다.  alpha-2의 두글자로만 나라를 표현하려는 시도는 좋았다. 표준을 만들 때 글자만 보고도 나라를 유추까지 할 수 있도록 만들려 했(었던 것 같)다. 하지만, 막상 전세계의 나라 이름을 계속 추가하다보니 두글자만으로는 표기가 겹치는 나라들이 자꾸 생겨났는지, 나중에 추가된 (대체적으로 IT분야에서 뒤떨어진) 나라들에게 할당된 두글자의 표기로는 도저히 유추할 수 없는 코드를 가지고 있다. 아무래도, 이 생각을 할 때 모든 국가 이름을 가지고 충분히 고려하지 않았던 것 같다.
  • 통화는 세글자로 표현하는 ISO 4217이 있다.  USD(미국 달러), KRW(원)와 같이 표현한다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.