목차
i18n vs l10n: 국제화와 현지화의 차이점은 무엇인가요?
글로벌 진출 프로젝트에 합류해 누군가가 "i18n과 l10n을 해야 한다"고 말하는 것을 들었을 때, 이 두 용어가 동의어인지, 반의어인지, 아니면 같은 작업을 다르게 부르는 말인지 헷갈렸던 경험이 있다면 당신만 그런 것이 아닙니다.
이 두 가지는 그 중 어느 것도 아닙니다. 국제화와 현지화는 특정 순서로 진행되는 두 가지 별개의 분야로, 서로 다른 팀이 참여하며 서로 다른 종류의 산출물을 만들어냅니다. 이 둘을 혼동하거나 잘못된 순서로 진행하는 것은 새로운 시장에 진입할 때 제품 팀이 저지를 수 있는 가장 비용이 많이 드는 실수 중 하나입니다.
이 글에서는 두 용어를 명확하게 설명하고, 업계에서 사용하는 관련 어휘를 다루며, 엔지니어링 측면과 콘텐츠 측면 모두에 대한 실용적인 체크리스트를 제공합니다.
TL;DR / 핵심 요약
- i18n은 internationalization(국제화)의 약자입니다("i"와 "n" 사이에 18개의 글자가 있습니다). 제품이 여러 언어와 지역을 지원할 수 있도록 만드는 엔지니어링 작업입니다.
- l10n은 localization(현지화)의 약자입니다("l"과 "n" 사이에 10개의 글자가 있습니다). 제품이 특정 언어와 문화로 실제로 말할 수 있도록 만드는 콘텐츠 및 적응 작업입니다.
- i18n은 일회성 엔지니어링 투자이고, l10n은 각 대상 로케일마다 한 번씩 반복되는 운영 프로세스입니다.
- 항상 i18n을 l10n보다 먼저 완료해야 합니다. 순서를 바꾸면 처음부터 올바르게 수행하는 것보다 거의 항상 더 비용이 많이 드는 재작업이 발생합니다.
- 더 넓은 포괄 용어는 g11n(globalization, 세계화)으로, i18n과 l10n뿐만 아니라 시장 전략까지 포함합니다.
국제화(i18n)란 무엇인가요?
국제화는 새로운 로케일이 추가될 때마다 소스 코드를 변경하지 않고도 다양한 언어, 지역, 문화적 관습에 맞게 제품을 적응시킬 수 있도록 제품을 설계하고 엔지니어링하는 과정입니다.
약자 i18n은 단어 자체에서 유래합니다. "internationalization"은 첫 번째 "i"와 마지막 "n" 사이에 18개의 글자가 있습니다. 기술 문서에서 전체 단어를 반복해서 쓰는 것이 번거로워지면서 업계에서 이 약어를 채택하게 되었습니다. i18n은 "internationalisation"(영국식 철자)과 같은 의미로 사용됩니다 — 둘 다 동일한 엔지니어링 분야를 가리킵니다.
국제화는 근본적으로 기술적인 관심사입니다. 이 작업을 수행하는 사람들은 소프트웨어 엔지니어이며, 결과물은 인프라입니다. 즉, 나중에 번역이 배치될 수 있는 기반을 만드는 코드, 설정, 아키텍처 결정입니다.
i18n 엔지니어링의 내용
문자열 외부화는 가장 기본적인 단계입니다. 버튼 레이블, 오류 메시지, 툴팁, 이메일 제목, 알림 문구 등 모든 사용자 대면 텍스트는 소스 코드에서 리소스 파일(예: .json, .po, .resx, .yaml 파일)로 옮겨져야 합니다. React 컴포넌트에 <button>Submit</button>처럼 하드코딩된 문자열은 소스 코드를 건드리지 않고는 번역할 수 없습니다. <button>{t('form.submit')}</button>처럼 외부화된 문자열은 코드 변경 없이 리소스 파일을 업데이트하고 재배포하는 것만으로 번역할 수 있습니다.
Unicode 및 문자 인코딩은 스택의 모든 계층에서 올바르게 처리되어야 합니다. W3C는 Unicode 표준의 모든 스크립트(라틴어, 키릴 문자, 아랍어, CJK(중국어, 일본어, 한국어) 등)를 포함하는 UTF-8을 모든 웹 콘텐츠의 문자 인코딩으로 강력히 권장합니다. [^1] Latin-1과 같은 레거시 인코딩으로 데이터를 저장하는 제품은 사용자가 일본어 이름이나 아랍어 주소를 입력하는 순간 문자가 깨지게 됩니다.
날짜, 시간, 숫자, 통화 형식은 로케일마다 크게 다릅니다. "03/04/2026"이라는 날짜는 미국에서는 3월 4일을 의미하지만 유럽 대부분에서는 4월 3일을 의미합니다. "1.000"이라는 숫자는 독일에서는 1,000을 의미하지만 미국에서는 소수점 세 자리의 1을 의미합니다. Unicode Common Locale Data Repository(CLDR)는 900개 이상의 로케일에 대한 형식 규칙을 정의합니다. [^2] 국제화된 제품은 형식 문자열을 직접 작성하는 대신 JavaScript의 Intl.DateTimeFormat, Intl.NumberFormat과 같은 로케일 인식 형식 함수를 사용합니다.
복수형 규칙은 언어마다 비직관적인 방식으로 다릅니다. 영어에는 두 가지 복수형이 있습니다(1 item, 2 items). 아랍어에는 여섯 가지가 있습니다. 러시아어에는 세 가지가 있으며, 어떤 숫자에 어떤 형태를 적용하는지에 대한 복잡한 규칙이 있습니다. i18n 라이브러리는 CLDR 복수 규칙을 지원해야 하므로, 번역 팀은 엔지니어링 팀이 각 언어에 대한 사용자 정의 로직을 작성할 필요 없이 언어별로 올바른 수의 복수형 변형을 제공할 수 있습니다.
오른쪽에서 왼쪽(RTL) 레이아웃 지원은 오른쪽에서 왼쪽으로 읽는 언어인 아랍어, 히브리어, 페르시아어, 우르두어에 필요합니다. 이는 UI가 미러링되어야 함을 의미합니다. 내비게이션은 오른쪽으로 이동하고, 텍스트 정렬이 반전되며, 방향을 암시하는 아이콘(화살표, 브레드크럼)이 반전되고, CSS 레이아웃 속성은 문서 방향 속성에 따라 브라우저가 레이아웃을 자동으로 반전할 수 있도록 논리적 값(margin-left 대신 margin-inline-start)을 사용해야 합니다.
로케일 인식 라우팅은 로케일 식별자가 URL에 나타나는 방식을 결정합니다. 두 가지 일반적인 규칙은 하위 디렉토리(better-i18n.com/fr/pricing)와 하위 도메인(fr.better-i18n.com)입니다. W3C는 로케일 식별을 위해 BCP 47 기반의 언어 태그(예: en, en-US, pt-BR, zh-Hant)를 사용하도록 권장합니다. [^3] 라우팅 레이어는 사용자의 선호 로케일을 감지하고, 올바른 콘텐츠를 제공하며, 검색 엔진 크롤러를 위한 올바른 Content-Language HTTP 헤더와 hreflang 속성을 반환해야 합니다.
연결된 문자열 금지는 별도로 강조할 필요가 있는 규칙입니다. "Your order of " + count + " items has shipped"와 같은 코드는 대상 언어의 어순이 완전히 다를 수 있기 때문에 올바르게 번역할 수 없는 연결 방식입니다. 올바른 i18n은 명명된 플레이스홀더가 있는 메시지 형식 문자열을 사용합니다: "Your order of {count} items has shipped" — 번역가는 전체 문장을 받고 대상 언어가 요구하는 어디든 플레이스홀더를 재배치할 수 있습니다.
현지화(l10n)란 무엇인가요?
현지화는 특정 대상 로케일을 위해 제품의 텍스트, 이미지, 어조, 기능을 적응시키는 과정입니다. 국제화가 컨테이너를 만든다면, 현지화는 그것을 채웁니다.
약자 l10n도 같은 패턴을 따릅니다. "localization"은 "l"과 "n" 사이에 10개의 글자가 있습니다.
현지화는 주로 콘텐츠 및 문화적 관심사입니다. 이 작업을 수행하는 사람들은 번역가, 현지화 엔지니어, 문화 컨설턴트, 법률 검토자입니다. 결과물은 로케일별 자산입니다. 즉, 번역된 문자열 파일, 적응된 이미지, 지역별 법적 텍스트, 로케일 테스트 완료된 빌드입니다.
l10n 콘텐츠 작업의 내용
번역은 현지화에서 가장 눈에 띄는 부분입니다. i18n 과정에서 외부화된 모든 문자열은 단어 그대로가 아니라 관용적으로 대상 언어로 번역되어야 합니다. 좋은 번역은 의미, 어조, 의도를 보존합니다. 대형 언어 모델로 기계 번역(MT)이 크게 개선되었지만, 마케팅 문구, 법적 콘텐츠, 브랜드 보이스가 중요한 텍스트에 대해서는 전문 인간 검토가 여전히 중요합니다.
문화적 적응은 단어 그대로의 번역을 넘어섭니다. 이미지, 색상 사용, 유머, 은유는 모두 문화적 의미를 담고 있습니다. 엄지 올리기 아이콘은 많은 서구 문화에서 긍정적이지만 중동 일부 지역에서는 모욕적입니다. 악수하는 사진은 신체 접촉 규범이 다른 시장에서는 다른 제스처로 교체해야 할 수도 있습니다. 날짜 예시, 이름 형식(이름 대 성 순서), 주소 형식, 전화번호 형식은 모두 로케일별 처리가 필요합니다.
법적 및 규제 준수는 시장마다 다릅니다. EU는 GDPR 및 ePrivacy 지침에 따라 명시적인 쿠키 동의를 요구합니다. 브라질에는 LGPD가 있습니다. 캘리포니아에는 CCPA가 있습니다. 세금 표시 규칙, 가격 공개 요구 사항, 필수 법적 고지는 관할권마다 다릅니다. 현지화 팀은 대상 시장별 이러한 요구 사항을 파악하고 제품이 이를 충족하도록 보장할 책임이 있습니다.
로케일별 테스트는 번역된 제품이 실제로 맥락에서 올바르게 작동하는지 검증합니다. 여기에는 번역된 문자열이 UI 컨테이너에 맞는지 확인하는 것(독일어 문자열은 일반적으로 영어 등가물보다 30-40% 더 깁니다), RTL 레이아웃이 올바르게 렌더링되는지, 로케일별 날짜 및 숫자 형식이 예상대로 표시되는지, 로케일별 법적 콘텐츠가 존재하는지 확인하는 것이 포함됩니다.
i18n vs l10n 비교표
| 항목 | 국제화 (i18n) | 현지화 (l10n) |
|---|---|---|
| 담당자 | 소프트웨어 엔지니어 | 번역가, 현지화 엔지니어, 문화 컨설턴트 |
| 시기 | 로케일별 작업 이전; 제품당 1회 | i18n 완료 후; 대상 로케일당 1회 |
| 내용 | 문자열 외부화, Unicode, 형식, RTL, 라우팅 | 번역, 문화적 적응, 법적 준수, 로케일 테스트 |
| 주요 결과물 | 코드, 아키텍처, 리소스 파일 구조 | 번역된 문자열 파일, 적응된 자산, 로케일 빌드 |
| 사용 도구 | i18n 라이브러리(next-intl, i18next, ICU), CLDR, Unicode | TMS 플랫폼, CAT 도구, MT 엔진, QA 도구 |
| 비용 구조 | 고정 초기 엔지니어링 비용, 1회 지불 | 로케일당 비용, 각 콘텐츠 업데이트마다 반복 |
| 되돌리기 | 나중에 수정하기 어려움 | 업데이트 또는 교체 간단 |
| 비즈니스 동인 | 엔지니어링 준비 | 시장 진입 및 수익 |
관련 용어
i18n과 l10n 분야는 같은 약자 패턴을 따르는 단축어 어휘를 발전시켜 왔습니다.
g11n — Globalization(세계화)('g'와 'n' 사이에 11개의 글자)은 제품을 국제 시장에서 이용 가능하게 하고 성공시키기 위한 전체 노력을 포괄하는 용어입니다. i18n과 l10n을 포함하지만, 시장 전략, 국제 가격 책정, 국제 법적 구조, 시장 진출 계획도 다룹니다. 회사가 "글로벌로 나간다"고 말할 때, i18n과 l10n이 두 가지 기술적 구성 요소인 g11n 노력을 설명하는 것입니다.
t9n — Translation(번역)('t'와 'n' 사이에 9개의 글자)은 가장 좁은 용어입니다. 번역은 l10n의 하위 집합으로, 특히 텍스트를 소스 언어에서 대상 언어로 변환하는 행위입니다. 현지화는 번역을 포함하지만 위에서 설명한 비텍스트 적응 작업도 포함합니다. 제품은 완전히 현지화되지 않고도 번역될 수 있습니다(예: 텍스트가 프랑스어로 변환되었지만 날짜 형식이 여전히 미국 형식으로 표시되고 이미지가 적응되지 않음).
a11y — Accessibility(접근성)('a'와 'y' 사이에 11개의 글자)은 관련되지만 독립적인 분야입니다. 접근성은 시각, 운동, 청각, 인지 장애가 있는 사람들이 제품을 사용할 수 있도록 설계하는 것을 의미합니다. i18n과의 교차점은 실재합니다. 스크린 리더는 다국어 콘텐츠를 올바르게 처리해야 하고, ARIA 레이블은 가시적 텍스트와 함께 번역되어야 하며, RTL 레이아웃 변경이 키보드 탐색이나 포커스 순서를 깨지 않아야 합니다. 국제화된 제품을 구축하는 팀은 접근성과 국제화를 순차적 요구 사항이 아닌 병렬 요구 사항으로 처리해야 합니다.
GILT 프레임워크는 분야를 Globalization(세계화), Internationalization(국제화), Localization(현지화), Translation(번역)의 네 가지 영역으로 구성하는 업계 프레임워크입니다. GILT는 현지화 업계에서 엔지니어링 준비부터 시장 준비 콘텐츠 제공까지 전체 공급망을 설명하는 데 일반적으로 사용됩니다.
올바른 순서: 항상 i18n 먼저, 그다음 l10n
이것은 선호의 문제가 아닙니다 — 이것은 하드 의존성입니다. 현지화는 그 아래에 작동하는 i18n 인프라 없이는 진행할 수 없으며, i18n이 완료되기 전에 l10n을 시도하면 빠르게 복잡해지는 낭비가 발생합니다.
순서를 바꿨을 때 발생하는 문제:
개발 팀이 영어로 제품을 출시했다가 독일 시장에 진입하기로 결정했을 때, 코드베이스를 번역 업체에 넘기는 상황을 상상해 보십시오. 번역가가 코드를 열면 JSX 컴포넌트 전체에 하드코딩된 영어 문자열, 영어 전용 필드 값을 반환하는 SQL 쿼리, 항상 MM/DD/YYYY를 출력하는 날짜 형식 유틸리티, RTL 고려 없이 margin-left와 text-align: left를 사용하는 CSS 레이아웃을 발견하게 됩니다.
번역 업체는 이 코드베이스로 유용한 작업을 할 수 없습니다. 엔지니어링 팀은 이제 성숙한 제품 전체에 문자열 외부화를 수정해야 합니다 — 수백 개의 컴포넌트를 건드리고, 데이터베이스 스키마를 리팩토링하고, 형식 유틸리티를 다시 작성하고, RTL 안전성을 위해 모든 레이아웃을 감사해야 합니다. 이 수정 작업은 단순히 추가적인 것이 아닙니다. 프로덕션 시스템에 회귀를 도입할 위험이 있습니다. 독일 출시는 수개월 지연되고, 비용은 선행 i18n 투자가 되었을 금액의 몇 배가 됩니다.
두 번째 실패 모드는 부분적인 i18n입니다. 팀이 프론트엔드의 문자열을 외부화했지만 복수형을 올바르게 처리하는 것을 잊어버렸습니다. 번역가가 독일어 복수형을 제공하지만, 엔지니어링 팀이 올바른 메시지 형식을 사용하는 대신 count + " Artikel"을 작성했기 때문에 코드는 항상 단수형만 사용합니다. 결과는 프로덕션에서 문법적으로 잘못된 독일어 — 해당 시장의 모든 사용자에게 보이는 오류입니다.
세 번째 실패 모드는 라우팅이 내재화되기 전에 추가된 로케일별 기능입니다. 팀이 적절한 로케일 라우팅 시스템을 구축하지 않고 /fr/ 디렉토리를 수동으로 생성하여 프랑스어 블로그 섹션을 추가합니다. 나중에 이탈리아어를 추가하려고 할 때 라우팅을 완전히 리팩토링해야 하며, 프랑스어 URL이 손상되어 시간이 지남에 따라 구축된 SEO 신호가 손상될 수 있습니다.
실용적인 규칙은 다음과 같습니다. i18n은 전제 조건입니다. 단 하나의 번역을 의뢰하기 전에 로케일 라우팅, 문자열 외부화, 형식 유틸리티, 복수형 지원을 정의하고 구현하십시오. 인프라가 갖춰지면 각 새 로케일 추가는 예측 가능하고 범위가 정해진 작업이 됩니다.
개발자를 위한 i18n 체크리스트
국제화 인프라를 구축하거나 감사할 때 이 체크리스트를 사용하십시오.
- 문자열 외부화 완료: 모든 사용자 대면 문자열이 소스 코드에 하드코딩되지 않고 리소스 파일에 저장됩니다. 여기에는 오류 메시지, 유효성 검사 메시지, 이메일 템플릿, 메타 태그가 포함됩니다.
- UTF-8 인코딩 적용: 데이터베이스 열이 UTF-8(또는 MySQL의 utf8mb4)을 사용하고, HTTP 응답이
charset=utf-8을 선언하며, 파일 I/O가 전체적으로 UTF-8을 사용합니다. - 로케일 인식 날짜 및 시간 형식: 날짜와 시간이 로케일 인식 함수(예:
Intl.DateTimeFormat)를 사용하여 형식화되고, UTC로 저장되며, 표시 계층에서만 로케일이 적용됩니다. - 로케일 인식 숫자 및 통화 형식: 숫자와 통화 값이
Intl.NumberFormat또는 동등한 것을 사용하여 형식화됩니다. 통화 기호가 하드코딩되지 않습니다. - CLDR 규칙을 통한 복수형 처리: i18n 라이브러리가 CLDR 복수 범주(zero, one, two, few, many, other)를 지원하고 번역가가 각 범주에 대한 변형을 제공할 수 있습니다.
- 연결된 문자열 없음: 변수를 포함하는 모든 사용자 대면 문자열이 단일 번역 가능한 메시지 내에서 명명된 플레이스홀더를 사용합니다. 어떤 문자열도 번역된 조각을 연결하여 구성되지 않습니다.
- RTL 레이아웃 지원: CSS가 논리적 속성을 사용합니다.
dir속성이<html>요소에 동적으로 설정됩니다. UI 컴포넌트가 RTL 로케일로 테스트됩니다. - 로케일 라우팅 구현: URL이 일관된 로케일 규칙을 따릅니다(예:
/en/,/fr/). 라우팅 레이어가Accept-Language헤더 및 사용자 기본 설정에서 로케일을 감지하고 협상합니다. - hreflang 태그 존재: 각 페이지가
x-default를 포함한 모든 사용 가능한 로케일 변형에 대해<link rel="alternate" hreflang="...">태그를 선언합니다. - 로케일 식별자가 BCP 47을 따름: 언어 태그가 사용자 정의 또는 일관성 없는 식별자가 아닌 IETF BCP 47 형식(예:
en-US,pt-BR,zh-Hant)을 사용합니다.
콘텐츠 팀을 위한 l10n 체크리스트
새로운 대상 로케일에 대한 현지화 프로젝트를 계획하고 실행할 때 이 체크리스트를 사용하십시오.
- 번역 워크플로 구축: 번역 관리 시스템(TMS) 또는 구조화된 검토 프로세스가 마련되어 있습니다. 소스 문자열이 버전 관리되고 변경 알림이 번역 팀에 전달됩니다.
- 번역가 브리핑 완료: 번역가가 스타일 가이드, 제품별 용어 용어집, 어조 지침, 각 문자열에 대한 맥락(스크린샷 또는 스테이징 환경 접근)을 받았습니다.
- 기계 번역 인간 검토 완료: 기계 번역된 콘텐츠가 자격을 갖춘 인간 번역가에 의해 사후 편집되었습니다. 특히 마케팅 문구, 법적 텍스트, 사용자 대면 오류 메시지에 대해서 그렇습니다.
- 문화적 검토 수행: 이미지, 색상 선택, 아이콘, 예시가 대상 시장에 대한 문화적 지식을 가진 사람에 의해 검토되었습니다. 잠재적으로 불쾌하거나 혼란스러운 것들이 적응되었습니다.
- 법적 및 규제 요구 사항 파악: 팀이 대상 시장에 적용되는 개인 정보 공개, 쿠키 고지, 법적 고지, 규제 요구 사항을 파악하고 로케일별 버전을 제작했습니다.
- UI에서 문자열 길이 테스트 완료: 번역된 문자열이 대상 로케일의 실제 UI에서 검토되었습니다. 잘림, 오버플로, 레이아웃 손상이 파악되고 해결되었습니다.
- 로케일별 형식 검증: 날짜, 숫자, 주소, 전화번호, 우편번호가 모두 대상 로케일 사용자가 기대하는 형식으로 표시됩니다.
- 기능 테스트 완료: 제품이 대상 로케일에서 처음부터 끝까지 테스트되었습니다 — 결제 흐름, 폼 유효성 검사 메시지, 이메일 알림, 로케일별 법적 흐름을 포함하여.
FAQ
i18n은 번역과 같은 것인가요?
아닙니다. 번역(t9n)은 현지화(l10n)의 하위 집합이고, 현지화는 국제화(i18n)가 먼저 완료되어야 하는 다운스트림 활동입니다. i18n은 번역을 가능하게 하는 엔지니어링 작업입니다. 번역은 텍스트를 한 언어에서 다른 언어로 변환하는 행위입니다. 두 가지는 관련되어 있지만 구별됩니다 — i18n 인프라 없이는 효과적으로 번역할 수 없지만, i18n 완료가 번역이 완료되었음을 의미하지는 않습니다.
제품이 국제화되었지만 현지화되지 않을 수 있나요?
예, 그리고 이것은 일반적인 중간 상태입니다. 문자열을 외부화하고, 로케일 인식 라우팅을 구현하고, RTL 지원을 구축한 제품은 완전히 국제화되었습니다 — 하지만 번역된 리소스 파일이 생성되지 않았다면 사실상 기본 로케일에서만 작동합니다. 인프라는 현지화를 위해 준비되어 있지만, 아직 현지화가 제공되지 않은 것입니다. 이것이 번역 작업을 의뢰하기 전에 있어야 할 올바른 상태입니다.
약자 i18n과 l10n은 공식적인 지위를 가지고 있나요?
이것들은 공식 표준이 아닌 널리 채택된 업계 관례입니다. W3C 국제화 활동은 발행된 사양 및 실무 그룹 문서 전체에서 "i18n"을 사용합니다. GILT 프레임워크를 개발한 현지화 산업 표준 협회(LISA)는 해산 전까지 일관되게 "l10n"을 사용했습니다. 두 용어 모두 소프트웨어 업계 전반에서 보편적으로 이해됩니다.
l10n과 문화적 적응의 차이점은 무엇인가요?
문화적 적응은 별개의 분야가 아니라 l10n의 구성 요소입니다. 현지화에는 번역, 문화적 적응, 법적 준수, 로케일별 테스트가 포함됩니다. 일부 조직은 마케팅 콘텐츠가 번역되는 것이 아니라 대상 시장을 위해 실질적으로 다시 작성되는 경우를 "transcreation"이라고 표현합니다 — 이는 소스 텍스트가 문자 그대로의 템플릿이 아닌 의도 지침으로 사용되는 고비용 형태의 문화적 적응입니다.
i18n은 SEO에 어떤 영향을 미치나요?
상당한 영향을 미칩니다. 올바르게 국제화된 사이트는 hreflang 주석을 사용하여 검색 엔진에 어떤 URL이 어떤 언어와 지역을 제공하는지 알리고, BCP 47 로케일 식별자를 일관되게 사용하며, 올바른 Content-Language HTTP 헤더를 제공하고, 각 로케일에 표준 URL이 있도록 하여 중복 콘텐츠 문제를 방지합니다. Google의 국제 타겟팅 안내는 이러한 신호에 의존하여 각 시장의 사용자에게 올바른 로케일별 페이지를 제공합니다. 라우팅이나 hreflang 설정이 잘못된 i18n 구현은 검색 결과에서 잘못된 로케일이 순위를 차지하거나 전혀 순위를 차지하지 못하는 결과를 초래할 수 있습니다.
결론
국제화와 현지화는 상호 보완적인 분야이지, 서로 바꿔 쓸 수 있는 용어가 아닙니다. i18n은 기술적 기반입니다 — 언어 및 로케일 관련 사항을 소스 코드에서 추상화하여 설정 가능하고 교체 가능한 리소스 파일로 만드는 엔지니어링 작업입니다. l10n은 실제 시장의 실제 사용자가 보게 될 번역되고, 문화적으로 적응되고, 법적으로 준수하는 콘텐츠로 그 기반을 채우는 콘텐츠 운영입니다.
순서가 중요합니다. 국제화는 항상 먼저 이루어져야 합니다. 인프라가 갖춰지면 각 새 로케일은 엔지니어링 재작업의 원인이 아닌 범위가 정해진 반복 가능한 작업이 됩니다.
SDK, 로케일 라우팅을 포함한 i18n 인프라와 AI 번역, CDN 배포를 포함한 l10n 워크플로 모두를 별도의 도구 없이 하나의 플랫폼에서 처리하려는 팀을 위해 Better i18n과 같은 플랫폼이 있습니다 — 엔지니어링과 콘텐츠 사이의 조정 오버헤드를 줄여줍니다.
글로벌 야망을 가진 새로운 제품을 구축하든, 새로운 시장을 위한 기존 제품을 수정하든, i18n vs l10n의 차이를 명확히 이해하는 것이 두 가지 모두를 잘 수행하는 첫 번째 단계입니다.
참고문헌
[^1]: W3C 국제화 실무 그룹. "Character encodings: Essential concepts." W3C. https://www.w3.org/International/articles/definitions-characters/
[^2]: Unicode 컨소시엄. "Common Locale Data Repository (CLDR)." Unicode. https://cldr.unicode.org/
[^3]: W3C 국제화 실무 그룹. "Language tags in HTML and XML." W3C. https://www.w3.org/International/articles/language-tags/
[^4]: W3C 국제화 실무 그룹. "Localization vs. Internationalization." W3C. https://www.w3.org/International/questions/qa-i18n
[^5]: Internet Engineering Task Force. "Tags for Identifying Languages (BCP 47)." IETF RFC 5646. https://www.rfc-editor.org/rfc/rfc5646
[^6]: Unicode 컨소시엄. "Plural Rules." Unicode CLDR. https://cldr.unicode.org/index/cldr-spec/plural-rules