i18n이란? (Feat. 국제화)

시온·2023년 8월 7일
0
post-thumbnail

🌎 i18n?

국제화(internationalization)를 I18N이나 i18n으로, 지역화(localization)를 L10N이나 l10n 등으로 표기하기도 한다. 이것은 두 단어의 영어 철자에서 첫 글자와 마지막 글자만 뺀 나머지 글자들을 그 숫자로 표시한 것이다. - 위키백과

i18n국제화(internationalization)의 약자로, i와 n 사이에 18글자가 있기 때문에 이렇게 표기한다.
비슷한 예로 k8s(kubernetes)가 있다.

🤔 그럼 정확히 의미하는 게 뭔데?

i18n은 여러 분야에서 사용되지만 여기서는 컴퓨터 분야만 살펴보도록 하자.
컴퓨터 분야에서 가장 대표적인 예시는 바로, 번역일 것이다.
프로그램이 동작하는 코드 말고, 실제로 출력되는 메시지 등을 각 나라에 맞춰 달라지게끔 하여 모든 나라의 사용자들이 접할 수 있게 하는 것!

💾 PO, POT, MO 파일?

i18n 을 파이썬에서 지원하기 위해서는 다음과 같은 도구에 대한 이해가 있어야 한다.

PO, POT, MO, 그리고 gettext

1. PO 파일

PO 파일은 실제로 다른 언어로 번역된 내용이 포함되어 있다. 따라서 번역을 지원할 각 언어마다 PO 파일을 만들어 주어야 한다. 각 언어 번역 정보는 locale 폴더 안에 ko_KR 등 로케일 정보가 담긴 폴더 안에 PO 파일로 기록된다.

2. MO 파일

MO 파일은 PO 파일을 가지고 만든 바이너리 파일이다. msgfmt 명령어를 통해 생성한다.

msgfmt gettext_test.po -o gettext_test.mo

3. POT 파일

POT 파일은 PO 파일을 만들기 위한 template 파일이다.

4. gettext

gettext는 번역을 위해 필요한 리눅스 프로그램이다.

Openstack에서 사용할 수 있도록, Python 라이브러리도 존재한다. 링크

profile
끊임없이 성장중

0개의 댓글