FE/React
🌍 i18n이란? 프론트엔드 개발에서 국제화를 쉽게 이해하기
yhkim_
2025. 5. 22. 12:15
프론트엔드 개발을 하다 보면 i18n이라는 용어를 자주 보게 된다.
i18n은 국제화(Internationalization)를 의미하며, 글로벌 서비스를 개발할 때 꼭 필요한 기능이다.
이 글에서는 i18n의 의미부터 실무에서 왜 필요한지, 어떤 식으로 적용하는지까지 정리해본다.
📌 i18n 뜻
i18n은 internationalization의 약자이다.
단어의 첫 글자 i와 마지막 글자 n 사이에 18개의 문자가 있어서
i18n = i + 18글자 + n
비슷한 방식으로 l10n은 **localization(지역화)**의 약자다.
💡 i18n이 왜 필요할까?
서비스를 한국뿐 아니라 전 세계 사용자에게 제공하려면,
언어, 날짜, 숫자, 화폐, 지역 포맷 등이 그 나라에 맞게 표시돼야 한다.
예를 들어,
항목 | 한국어 | 영어(미국) |
날짜 | 2025.05.21 | May 21, 2025 |
화폐 | 1,000원 | $1,000 |
텍스트 | "회원가입" | "Sign Up" |
🔧 i18n의 주요 기능
기능 | 설명 |
다국어 텍스트 지원 | 버튼, 알림, 메시지 등을 각 언어로 출력 |
날짜/시간 포맷 변환 | 나라별 날짜 형식 자동 적용 |
숫자/화폐 포맷 | 통화 기호 및 자리수 표현 변경 |
레이아웃 방향 지원 | 좌→우, 우→좌 (아랍어 등 RTL 지원) |
🧰 i18n 적용 예시
하드코딩 방식 (i18n 없음)
<p>Welcome to our site!</p>
i18n 적용 방식 (react-i18next 기준)
const { t } = useTranslation();
<p>{t("home.welcomeMessage")}</p>
locales/en.json
{
"home": {
"welcomeMessage": "Welcome to our site!"
}
}
locales/ko.json
{
"home": {
"welcomeMessage": "우리 사이트에 오신 걸 환영합니다!"
}
}
언어 설정만 바꾸면 자동으로 해당 언어로 텍스트가 바뀐다.
프론트엔드에서 사용하는 i18n 라이브러리
라이브러리 | 설명 |
react-i18next | React 프로젝트에서 가장 널리 사용됨 |
next-intl | Next.js App Router에 최적화된 i18n 도구 |
react-intl | 오래된 프로젝트에서 여전히 사용됨 |
실무에서는 이렇게 사용한다
상황 | 처리 방식 |
글로벌 서비스 | react-i18next, next-intl 등으로 전체 텍스트 관리 |
한국 전용 서비스 | 간단한 상수 또는 문자열 하드코딩 |
내부 관리자 시스템 | 하드코딩 or 상수 분리 방식 |
✍️ 마무리
i18n은 글로벌 서비스를 만드는 데 있어 필수적인 기술이다.
텍스트만 번역하는 게 아니라, 날짜, 숫자, 화폐 등 사용자 경험을 각 국가에 맞게 최적화하는 것까지 포함된다.
React, Next.js를 사용하고 있다면 react-i18next 또는 next-intl로 시작해보자.
지금은 필요 없어 보여도, 나중에 분명히 도움이 될 날이 온다.