개발하는동안 경험했던 i18n, l10n에 대한 팁들을 모았습니다. 몰라도 할 수 있지만 글로벌 진출을 노린다면, 변수 선언할 때 타입을 뭘로 할지, textview에게 공간을 얼마나 할당해야할지 고민할 때 도움이 되시리라 생각합니다.
다른 팁들이 있다면 알려주시면 감사히 취합하도록 하겠습니다 🙂
- 모든 나라가 그레고리안 달력을 쓰는 것은 아니다.
이란은 이란 달력(Iranian Calendar)를 사용한다. 이는 이란의 카드 사에서도 사용하는 공식 표기 법이다. 이를 이용하면 이 글을 쓰는 올 해 2014년은 1393년이 된다. 둘 간의 변환은 여기에서 해볼 수 있다. - (대체적으로) 같은 뜻을 가진 문장이라면, 동유럽 국가 언어가 길다.
다국어를 지원하면 string이 모두 보이기에 공간이 충분한지 궁금할 때가 있다. 이 때에는 러시아, 슬로바키아, 우크라이나 쪽 언어를 확인해보고 잘 보인다면 공간이 충분하다고 봐도 무방하다. - 프랑스어는 캐나다에서도 쓴다.
퀘벡 프랑스어라고도 하며, 캐나다 퀘벡 주에서 사용된다. - 스페인어 하나로 꽤 많은 국가를 지원할 수 있다.
우리나라는 영어가 (비공식) 제2외국어라 잊을 수도 있지만, 사실 가장 많이 쓰는 언어는 스페인어다. 스페인어를 모국어로 사용하는 나라만 꼽아도 수십개다. 어떤 나라가 포함되어 있는지는 여기서 위키피디아에서 참고하자. - 오른쪽에서 왼쪽으로 쓰는 언어도 있다.
아랍어는 오른쪽에서 왼쪽으로 글을 쓰는 나라이다. 정렬 방식까지 고집해서 GUI/UX를 맞추면 일부 언어 국가에서 올바르지 않은 모양이 될 수 있다. - (대략) 60여개 언어만 번역하면 전세계를 지원할 수 있다.
세계에서 사용되는 언어의 수에 대한 연구자료를 보면 최소 2,500 개에서 많개는 7,000여 개에 이른다고 한다. 하지만, 이 언어를 모두 지원할 수는 없지 않은가? 구매능력도 어느정도 있고 스마트폰도 보급은 되어 있는 나라들이 앱을 만드는 우리 입장에서는 잠재 고객일 것이다. 이를 감안한다면, 약 60~65개국 정도 지원하면 전세계를 지원한다고 봐도 무방하다. 또, 스페인어, 영어, 포루투칼어, 프랑스어 등이 여러 나라를 지원하므로 언어 갯수는 더 줄어들 것이고. - 세계를 겨냥한다면 한국어, 영어, 중국어, 일본어는 지원해야 한다.
한국어는 모국어니까 넣은 것도 있지만 앱 매출이 많이 나는 나라 중 하나이다. 다음 몇개 더 꼽는다면 스페인어, 포루투칼어, 독일어 정도가 포함될 수 있다. - 번역된 string도 잘 넣어야 한다.
안드로이드 개발자 사이트에 string(정확히는 resource)을 어떤 순으로 찾는지 잘 나와있다. 하지만, 읽기 싫은 사람도 있을터. 그런 분들을 위해 간단히 요약하면 아래와 같다. 영어로 예를 들면 설명이 쉬울 것 같다. 아래 예를 보면 알겠지만, 영어만 넣겠다면 여러곳에 복사할 필요가 없다. /res/values/ 폴더안에 넣으면 언어와 지역이 맞는 곳 > 언어가 맞는 곳 > 기본 값 순으로 찾기 때문에 영어를 올바로 지원할 수 있다.
/res/values/string.xml : default 언어(보통 영어) /res/values-en/string.xml : 영어권 언어(보통 미국식 영어) /res/values-en-rGB/string.xml : 영국지방 영어(영국식 영어)
- 통화 표시는 매우 다양하다.
먼저 $나 ₩같은 통화 단위 표시는 금액의 앞이나 뒤에 올 수 있다. 한국은 1000원이 앱이나 아이템의 기본 가격이고 1보다 작은 숫자를 쓰지 않지만(장부상으로 존재), 다른 나라는 소숫점 이하 두자리(예. 1.25)도 돈의 가치가 있으며 종종 쓴다.