로케일리이션 — 정정정정, 언어와 지역에 따른 콘텐츠 적응

저자: IT Sectr 게시일: 2026-02-26 읽는 시간: 7 분

Localization (로케일리이션, l10n) — 모바일 앱 콘텐츠를 대상 잠잠군의 언어, 지역 및 문화적 특징에 적응시키는 것입니다. 국제화 (i18n)가 코드를 번역을 위해 준비하는 것과 달리, 로케일리이션은 문자열 번역, 날짜/숫자/통화 포맷, 이미지 선택 및 로컬 규범 고려의 실제 과정입니다. iOS에서는 번에이 Localizable.strings (각 언어의 .lproj 폴더) 에 저장되고, Android에서는 values-ru, values-de 및 기타 리소스 디렉토리에 저장됩니다. 자세한 내용은 Android 로케일리이션 가이드를 참조하세요.

주요 포인트

  • 로케일리이션 (l10n) — 특정 언어 및 지역에 맞게 앱 콘텐츠를 번역하고 적응하는 것
  • Localizable.strings — 각 언어에 대한 키-값 쌍을 포함하는 iOS 파일
  • values-ru — 러시아어용 Android 리소스 디렉토리 (strings.xml)
  • 지역 적응 — 날짜, 숫자, 이미지, 색상 및 법적 요구사항이 국가변로 다름
  • 문화적 특징 — 색상, 아이콘, 제스처, 예시가 로컬 규범에 부합해야 함

로케일리이션 (l10n)이란 무엇이며 i18n과 어떻게 다른가?

로케일리이션 (약칭 l10n — “l”과 “n” 사이에 10개 문자)은 애플리케이션을 특정 언어 및 지역에 적응시키는 과정입니다. i18n이 아키텍처적 기반이라면, l10n은 콘텐츠입니다. i18n이 번역을 가능하게 하고, l10n이 그것을 수행합니다. 로케일리이션에는 다음이 포함됩니다: 모든 인터페이스 텍스트 번역, 날짜 및 숫자 포맷 적응, 문화적으로 민감한 이미지 교체, 법적 텍스트 (개인정보 처리방침, EULA) 조정, 지역에 따른 결제 시스템 구성 및 대상 기기에서 테스트.

비즈니스 ROI — 로케일리이션은 전환율에 직접 영향을 미칩니다. CSA Research (2023)에 따르면, 76% 사용자가 모국어로 앱에서 구매하는 것을 선호하고, 40%는 외국어로 결코 구매하지 않습니다. 소매 앱의 일본어 로케일리이션은 평균 150% 전환율을 능립니다 (Google, 2022). 로케일리즉된 앱은 지역 ASO (대상 언어의 키워드) 덕분에 지역 App Store 및 Google Play에서 2–3배 더 많은 오건적 설치를 얻습니다.

i18n vs l10n — 동일한 과정의 두 측면입니다. i18n: 문자열을 리소스로 추출, RTL 지원, 숫자 포맷. 개발자가 한 번 수행합니다. l10n: 문자열 번역, 콘텐츠 적응, 로컬 테스트. 각 로케일마다 번역가와 QA가 반복적으로 수행합니다. IT Sectr에서는 각 새 언어에 대한 로케일리이션에 스프린트 시간의 20–30%를 할당합니다 — 이에는 번역, 검토, 기기 테스트 및 버그 수정이 포함됩니다.

iOS 로케일리이션: Localizable.strings와 Base Internationalization

Localizable.strings — iOS에서 번역을 저장하는 기본 파일입니다. 각 로케일은 자체 .lproj 폴더를 가집니다: en.lproj/Localizable.strings, ru.lproj/Localizable.strings, de.lproj/Localizable.strings. 포맷: “키” = “값”; (세미콜론 포함). Apple은 Base Internationalization을 사용합니다: Storyboard와 XIB는 한 번 생성되고 (Base.lproj), 인터페이스 문자열은 각 언어의 Localizable.strings로 내보냉니다. 이를 통해 각 로케일에 대한 XIB의 복사본을 만들 필요가 없습니다.

swift
// en.lproj/Localizable.strings
// "settings.title" = "설정";
// "profile.greeting" = "안녕하세요, %@!";
// "items.count" = "%d 아이템";

// ru.lproj/Localizable.strings
// "settings.title" = "설정";
// "profile.greeting" = "안녕하세요, %@!";
// "items.count" = "%d 아이템";

// 키로 문자열 로드하기
navigationItem.title = NSLocalizedString(
    "settings.title",
    comment: "설정 화면 제목"
)

// 매개변수가 있는 문자열
let name = "안나"
greetingLabel.text = String.localizedStringWithFormat(
    NSLocalizedString("profile.greeting", comment: ""), name
)

// XLIFF 임포트 (Xcode → Editor → Import Localizations)
// 번역가 작업 후 .lproj 파일을 자동으로 업데이트

Base Internationalization — Apple의 접근 방식으로, 인터페이스 (Storyboard, XIB)가 Base.lproj에서 한 번 생성됩니다. 언어를 추가할 때, Xcode가 Base에서 XLIFF 파일로 문자열을 내보냉니다. 번역가가 XLIFF를 번역합니다. 임포트 후, Xcode가 번역된 문자열을 포함한 .lproj를 생성합니다. 장점: 각 언어에 대한 XIB를 중복할 필요가 없습니다. 한계: RTL 언어(아랍어, 히브리어) 의 경우 미러 된 레이아우트의 별도 XIB가 필요할 수 있습니다.

InfoPlist.strings와 메타데이터 로케일리이션

InfoPlist.strings — 앱 이름 (CFBundleDisplayName), 카메라/마이크 권한 (NSCameraUsageDescription) 및 Info.plist의 기타 값을 로케일리즉하는 파일입니다. .lproj에서 생성됩니다: ru.lproj/InfoPlist.strings. 포맷: CFBundleDisplayName = “Mi App”; NSCameraUsageDescription = “사진을 짝기 위해 앱이 카메라 액세스가 필요합니다”;. InfoPlist.strings 로케일리이션이 없으면 시스템 대화상자가 영어로 표시됩니다.

Android 로케일리이션: values-ru와 로케일리즉된 리소스

Android 리소스는 디렉토리 이름의 퀀리파이어를 통해 조직되어집니다. 러시아어의 경우 — res/values-ru/, 독일어 — res/values-de/, 브라질 포르투갈어 — res/values-pt-rBR/. Android는 160개 이상의 로케일을 지원합니다. 시스템이 기기 언어 (Locale.getDefault())를 기반으로 리소스를 자동 선택합니다. 정확한 로케일이 없는 경우, values/ (기본 로케일, 보통 en)의 리소스가 사용됩니다.

kotlin
// res/values/strings.xml (기본 — 영어)
<string name="settings_title">Settings</string>
<string name="greeting">Hello, %s!</string>

// res/values-ru/strings.xml (러시아어)
<string name="settings_title">설정</string>
<string name="greeting">안녕하세요, %s!</string>

// res/values-de/strings.xml (독일어)
<string name="settings_title">Einstellungen</string>
<string name="greeting">Hallo, %s!</string>

// Kotlin — 모든 언어에 대한 통일 코드
textView.text = getString(R.string.settings_title)

// 매개변수가 있는 문자열
val greeting = getString(R.string.greeting, userName)

// 로케일리즉된 이미지
// res/drawable-ru/flag.png — 러시아 버전의 깃발
// res/drawable/flag.png — 기본 깃발

// 레이아우트 로케일리이션 (RTL 언어용)
// res/layout-ar/activity_main.xml — 아랍어 버전

문자열 이외의 로케일리이션 — Android는 이미지 (res/drawable-ru/), 색상 (res/values-ru/colors.xml), 기도 (res/values-ru/dimens.xml), 애니메이션, 메뉴, 그리고 전체 레이아우트까지 로케일리즉할 수 있습니다. 단어 길이가 다른 언어 (독일어는 영어보다 30–40% 김) 의 경우, 버튼 폭이 느는 로케일리즉된 dimens.xml을 사용하세요. 색상 상징성이 다른 지역 (중국에서 흰색은 상) 의 경우, 로케일리즉된 colors.xml을 사용하세요.

기기에서 로케일리이션 테스트

테스트 — 설정 → 시스템 → 언어를 통해 기기 언어를 대상 언어로 변경하세요. 확인할 사항: 모든 문자열이 번역되어 있는지, 날짜가 올바르게 포맷되었는지, 숫자가 적절한 구분자로 표시되는지, 이미지가 지역과 일치하는지, 긴 문자열에서 레이아우트가 깨지는 않는지. 자동화를 위해서는 LocaleTestRule (Android Testing Library)을 사용한 Espresso를 사용하세요 — 이를 통해 수동으로 언어를 바꾸지 않고 다양한 로케일로 테스트를 수행할 수 있습니다.

문화적 적응: 텍스트 외에 번역해야 할 것

문화적 특징 — 로케일리이션은 문자열 번역에 그치지 않습니다. 색상 상징성이 다릅니다: 빨간색은 중국에서 행운, 미국에서 위험, 남아프리카에서 상. 흰색은 유럽에서 순결, 중국에서 상. 제스처 아이콘: 엄지지를 위로 들이는 것은 미국에서 긍정적, 중동에서 모욕. 사람 이미지: 아랍 국가에서 수영복을 입은 여성의 이미지는 수용되지 않습니다. 종교적 상징: 그리스말, 초승달, 다비드의 별은 적합한 문맥에서만 사용해야 합니다.

법적 요구사항 — 각 국가는 디지털 제품에 관한 자체 법률이 있습니다. GDPR (페어로펄) — 쿠키 및 데이터 처리에 대한 강제 동의. CCPA (캘리포니아) — 데이터 삭제 권리. 개인정보 법 (러시아, 152-FZ) — 러시아 서버에 데이터 저장. LGPD (브라질) — GDPR 동등. 결제: 중국에서는 Alipay/WeChat Pay, 인도에서는 UPI, 브라질에서는 Boleto와 PIX가 필요합니다. 로케일리이션을 시작하기 전에 지역에 따른 결제 게이트웨이를 구성하세요.

측면미국중국아래비아에미리트독일
결제 시스템Apple Pay, 카드Alipay, WeChat Pay카드, Apple PayPayPal, Giropay
브랜드 색상모두빨간색 — 행운녹색 — 이슬람검정/노란
소셜 네트워크Instagram, XWeChat, DouyinWhatsApp, XWhatsApp, X
날짜MM/dd/yyyyyyyy/MM/dddd/MM/yyyydd.MM.yyyy
데이터 법CCPAPIPLPDPLGDPR

예시 및 콘텐츠 — 예시를 지역에 맞게 적응하세요. 독일어 로케일리이션에서는 무게제 (kg, km)를, 미국에서는 영국제 (lb, mi)를 사용하세요. 전화번호, 우편번호, 주소 — 모두 다른 형식으로 포맷됩니다. 통화 예: 일본에서 ¥1000, 미국에서 $9.99, 러시아에서 999 ₽. 음식, 의류 및 인테리어 이미지는 지역 표준에 맞아야 합니다. IT Sectr에서는 문화적 적응을 확인하기 위해 로컬 컨설틸럸트를 고용할 것을 권장합니다.

로케일리이션 과정: 도구, 번역가, CI/CD

로케일리이션 도구 — 전문 플랫폼이 과정을 자동화합니다: Lokalise, Crowdin, POEditor, Smartling, Phrase. 이들은 레포지토리와 연동되어 새 문자열을 자동 임포트하고, 변경 사항을 추적하며 (데리 업데이트 — 변경된 문자열만 번역), 번역 메모리 (TM — 이전에 번역된 구문 저장) 및 용어집을 제공합니다. 평균 전문 번역 비용: 단어당 $0.08–0.15 (언어에 따라 다름).

과정 — (1) 개발자가 코드에 i18n 키를 추가하고, 레포지토리에 푸시합니다. (2) CI/CD (GitHub Actions / GitLab CI)가 새 키를 로케일리이션 플랫폼으로 자동 전송합니다. (3) 번역가가 알림을 받고 번역하여 저장합니다. (4) 번역된 파일이 자동으로 레포지토리에 PR을 생성합니다. (5) QA가 기기에서 로케일리이션을 확인합니다. (6) 릴리스. 한 로케일의 사이클: 2–5 영업일 (분량에 따라 다름). 10개 로케일의 경우: 번역가 병렬 작업으로 5–15일.

기계 번역 + 인간 검토 — 현대적 표준입니다. 신경망 번역 (DeepL, Google Translate, GPT-4)은 인기 언어쌍에서 80–90% 품질을 제공합니다. 인간 번역가가 확인하는 것: 용어, 문맥 (단어가 다른 화면에서 다른 뜻을 가질 수 있음), 문화적 적응. IT Sectr에서는 하이브리드 접근 방식을 사용합니다: ML 번역 + 원어문화 검토. 중요한 문자열 (법무, 결제)에 대해서는 전문 번역만. 절약: 품질을 유지하면서 비용을 60% 절감.

자주 묻는 질문

로케일리이션과 국제화는 어떻게 다름니까?

국제화 — 번역을 위해 코드를 준비하는 것 (문자열 추출, RTL, 포맷). 로케일리이션 — 실제 번역과 문화적 적응. i18n은 개발자가 한 번 수행하고, l10n은 번역가가 각 언어별로 수행합니다. i18n 없이 l10n — 앱이 번역 준비가 되어 있지만 번역되지 않음. l10n 없이 i18n — 각 언어별로 코드를 재작성해야 함.

iOS에서 번역은 어디에 저장됩니까?

.lproj 폴더 내의 Localizable.strings 파일에 저장됩니다. 각 언어: en.lproj (영어), ru.lproj (러시아어), de.lproj (독일어). 포맷: “키” = “값”;. 복수에 대해서는 Localizable.stringsdict. 앱 설정 (CFBundleDisplayName)은 InfoPlist.strings에 있습니다. Xcode는 Base Internationalization을 통해 .lproj를 관리합니다.

Android에서 values-ru란 무엇인가요?

values-ru — 러시아어용 Android 리소스 디렉토리입니다. 번역이 들어있는 strings.xml을 포함합니다. 다른 언어도 동일합니다: values-de (독일어), values-fr (프랑스어). Android는 시스템 언어에 기반하여 리소스를 선택합니다. values-ru가 없는 경우, values/ (기본 언어, 보통 영어)를 사용합니다.

다양한 지역에 맞게 날짜를 어떻게 포맷하나요?

항상 Locale API를 사용하세요. iOS: DateFormatter.locale = Locale(identifier: locale). Android: DateFormat.getDateInstance(DateFormat.SHORT, locale). 러시아: 31.12.2024. 미국: 12/31/2024. 일본: 2024/12/31. 고정 포맷을 설정하지 마세요 — 각 국가마다 자체 표준이 있습니다. 날짜 입력에는 UIDatePicker / DatePicker를 사용하세요.

글로벌 앱에는 몇 개의 로케일이 필요한가요?

글로벌 도달을 위해서는 10–15개 언어로 충분합니다: 영어, 스페인어, 프랑스어, 독일어, 일본어, 중국어, 한국어, 포르투갈어, 러시아어, 이탈리아어, 아랍어. 지역적인 경우 1–2개 언어. 추가 로케일 마다 해당 지역에서 오건적 설치가 5–15% 증가합니다. App Store는 적어도 영어 로케일리이션을 요구합니다.

요약

  • 로케일리이션 (l10n) — 특정 언어 및 지역에 맞게 콘텐츠를 번역하고 문화적으로 적응하는 것
  • iOS — .lproj 폴더의 Localizable.strings, Base Internationalization, InfoPlist.strings
  • Android — values-ru/strings.xml, 퀀리파이어를 통한 로케일리즉된 drawable 및 레이아우트
  • 문화적 적응 — 색상, 아이콘, 제스처, 결제 시스템, 법적 요구사항
  • 과정 — CI/CD → 로케일리이션 플랫폼 → 번역가 → QA → 릴리스 (2–5일/언어)
  • 하이브리드 접근 — ML 번역 (DeepL, GPT) + 원어문화 검토로 60% 비용 절감
  • ROI — 76% 사용자가 모국어로만 구매 (CSA Research, 2023)

턴키 방식의 모바일 애플리케이션을 개발해 드립니다

IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.

프로젝트 논의

더 읽어보기