i18n과 l10n에 대해서

안영재·2020년 10월 25일
1

들어가기 전
i18n이란 internationalization(국제화)을 줄여서 i18n(i와 n 사이에 18글자가 있다는 뜻)
l10n이란 localization(현지화)을 줄여서 l10n(l과 n 사이에 10글자가 있다는 뜻)

i18n이란

i18n(국제화)이란 응용 프로그램을 다양한 지역에 맞게 조정하는 시스템이다. i18n은 문화, 지역 또는 언어가 다양한 대상 고객을 위해 쉽게 l10n(현지화) 할 수 있는 디자인 및 개발이다.

i18n에 필요한 작업

  1. 소프트웨어의 국제화
  2. 디자인의 국제화
  3. 리소스의 국제화

1. 소프트웨어의 국제화

  • 언어별 번역
    -> 국제화의 가장 큰 의미이다.
  • 문자 인코딩 설정
    -> 초기에 문자를 표현하는 대표적인 방식은 ASCII 인코딩 방식이었으나, 한글이나 한자 같은 문자는 2개 이상의 특수문자를 합쳐서 표현하곤 했는데, 이러한 방식은 비정상적이고 그에 따라 문자가 깨지거나 제대로 표현하지 못하여 2~4바이트 공간에 여유롭게 문자를 할당하고자 나온 방식이 Unicode이다. Unicode 자체는 1바이트로 표현이 가능한 영문자도 2바이트 이상의 공간을 사용하여 메모리 낭비가 심하여 이를 가변 길이 문자 인코딩 방식으로 낭혼 것이 UTF-8이다.
  • 문자열 치환 방법
    1. Server Side (서버에서 언어별 리소스 교체)
    2. Client Side (클라이언트에서 언어별 리소스 교체)
    • Client Side가 Server Side보다 많은 경우에서 좋은 방법이다. 왜냐하면 리소스 캐시와 선호 언어 설정 등이 가능하기 때문이다.

2. 디자인의 국제화

소스 코드의 변경 없이도 다양한 언어 / 지역을 지원할 수 있도록 처리해야한다.
왜냐하면 언어 / 지역별로 가독성이 적절해야하고, 번역으로 인해 문자열의 길이가 길어질 수 있기 때문이다. (ex 국제화 -> internationalization)

3. 리소스의 국제화

언어 / 지역에 맞춰 가장 적절한 리소스를 준비해야한다.

l10n이란

l10n이란 특정 목표 시장(국가)의 문화 및 기타 요구 사항을 충족시키는 작업

l10n에 필요한 작업

  1. LTR / RTL (쓰기 방향의 차이)
  2. 숫자, 화폐, 날짜 및 시간 형식
  3. 문자열 정렬 방법
  4. 개인 이름 및 주소 형식 처리 등
  5. 지역의 관습
  6. 다양한 법적 요건

1. LTR / RTL (쓰기 방향의 차이)

-> 일부 중동 국가에서는 표기방식을 오른쪽에서 왼쪽으로 읽음. 그에 따라 UI와 HTML 코드 수정이 필요해짐.

2. 숫자, 날짜 및 시간 형식

-> 나라마다 화폐(콤마), 날짜 표현 방식이 다 다름. 

3. 문자열 정렬 방법

-> 나라마다 알파벳을 정렬하는 방법이 다름 (ex 발음의 강세가 표현된 글자) Collation 참고

4. 개인 이름 및 주소 형식 처리 등

-> 나라마다 개인 이름 및 주소 형식이 다름.

i18n은 l10n에 큰 영향을 미친다. 현지화 중심의 결과물을 변경하는 것은 글로벌하게 제공을 의도로 개발 및 디자인하는 것보다 어렵고 시간과 비용이 많이 소비된다.

그러므로 i18n는 후속조치가 아닌 설계 및 개발 프로세스 기본 단계에서 실시해야한다.

[참고]
https://www.w3.org/International/questions/qa-i18n#i18n
https://ko.wikipedia.org/wiki/%EA%B5%AD%EC%A0%9C%ED%99%94%EC%99%80_%EC%A7%80%EC%97%AD%ED%99%94
https://medium.com/plustv/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%EC%9D%98-%EA%B5%AD%EC%A0%9C%ED%99%94-software-i18n-cf40f199ab77

0개의 댓글