국제화(i18n)란?
국제화는 글로벌 사용자를 위한 소프트웨어를 만드는 기반입니다. 처음부터 여러 언어, 지역, 문화를 지원하도록 애플리케이션을 설계하는 방법을 알아보세요.
국제화 이해하기
국제화(i18n)는 소스 코드에 대한 엔지니어링 변경 없이도 다양한 언어와 지역에 맞게 애플리케이션을 조정할 수 있도록 소프트웨어를 설계하고 개발하는 과정입니다.
목표는 사용자에게 노출되는 콘텐츠를 비즈니스 로직과 분리하는 유연한 아키텍처를 만드는 것입니다. 이를 통해 핵심 애플리케이션을 수정하지 않고도 새로운 언어와 지역별 변형을 쉽게 추가할 수 있습니다.
올바르게 국제화를 적용하면 제품이 글로벌 시장에 효율적으로 진출할 수 있습니다. 새로운 로케일의 출시 시간을 단축하고, 지원하는 모든 언어에서 일관된 사용자 경험을 보장합니다.
"i18n"은 왜 그렇게 부를까요?
용어 "i18n"은 숫자 축약어(numeronym)로, "internationalization"에서 첫 글자 'i'와 마지막 글자 'n' 사이의 18개 글자를 의미합니다. 이 약어는 소프트웨어 업계에서 널리 사용됩니다.
i18n = i + (18 letters) + n국제화의 핵심 원칙
진정한 글로벌 소프트웨어를 만들기 위한 핵심 원칙을 따라보세요
콘텐츠와 코드 분리
사용자에게 노출되는 모든 문자열을 외부 리소스 파일에 저장하세요. 소스 코드에 텍스트를 직접 하드코딩하지 마세요.
날짜, 시간 및 숫자 형식 처리
날짜, 시간, 숫자, 통화는 로케일을 고려한 포맷을 사용하세요. 지역마다 관례가 다릅니다.
유연하게 설계하기
텍스트 확장, RTL 레이아웃, 다양한 문자 집합을 수용하면서도 UI가 깨지지 않도록 컴포넌트를 설계하세요.
국제화의 이점
처음부터 i18n에 투자하면 제품이 글로벌로 성장할수록 큰 효과를 얻을 수 있습니다.
- 코드를 다시 작성하지 않고도 새로운 시장으로 확장
- 중앙화된 번역으로 더 쉬운 유지보수
- 인터넷 사용자의 95%에게 모국어로 도달
- 문화적으로 적절한 콘텐츠로 더 나은 사용자 경험
- 현지 규정 및 접근성 요구사항을 충족
- 장기 현지화 비용을 크게 절감
i18n 모범 사례
성공적인 국제화를 위한 가이드라인을 따라보세요
어디서나 유니코드(UTF-8) 사용
UTF-8 인코딩은 모든 언어와 특수 문자를 지원합니다. 데이터베이스, API, 파일이 UTF-8을 사용하도록 구성하세요.
모든 문자열을 외부화
모든 사용자 노출 텍스트를 번역 파일로 옮기세요. 콘텐츠의 목적을 설명하는 의미 있는 키를 사용하세요.
문자열 연결 피하기
문자열을 이어 붙여 문장을 만들지 마세요. 동적 콘텐츠에는 플레이스홀더가 있는 ICU 메시지 형식을 사용하세요.
RTL 언어 대비
아랍어, 히브리어 같은 오른쪽에서 왼쪽으로 쓰는 언어를 위해 레이아웃이 뒤집힐 수 있도록 설계하세요. 논리적 CSS 속성을 사용하세요.
i18n vs l10n
국제화와 현지화는 함께 작동하지만, 글로벌화 과정에서 서로 다른 목적을 갖습니다.
국제화(i18n)
소프트웨어를 다양한 환경에 맞게 만들기 위한 엔지니어링 과정입니다. 초기 개발 단계에서 개발자가 한 번 수행합니다.
현지화(l10n)
특정 시장에 맞게 콘텐츠를 조정하는 과정입니다. 새로운 언어 또는 지역마다 지속적으로 작업이 필요합니다.