왜 iOS 로컬라이제이션이 골치 아픈가
수동 lproj 폴더
de.lproj, fr.lproj, es.lproj를 수동으로 만들어야 합니다. 파일이 없으면 크래시가 발생합니다.
비싼 에이전시들
iOS 번역 에이전시는 언어당 200유로 이상을 청구합니다. 인디 앱용인가요?
손상된 %@ 플레이스홀더
Google 번역은 %1$@ 와 %ld를 손상시킵니다. String(format:)가 충돌합니다.
작동 원리
3단계. 2분. 완료.
1
.strings를 업로드
또는 .stringsdict, .xcstrings, XLIFF
2
언어 선택
이용 가능 언어 29개. 독일어, 일본어, 중국어...
3
다운로드
de.lproj/, fr.lproj/, es.lproj/ Xcode용으로 준비 완료.
지원하는 iOS 포맷
Xcode 14, Xcode 15, SwiftUI – 하나의 도구에 모두
.strings
Localizable.strings
.stringsdict
복수형 처리
.xcstrings
Xcode 15+ 카탈로그
XLIFF
Xcode 내보내기
이전 → 이후
모든 %@, %d, %1$@ 자리 표시자는 그대로 유지됩니다
이전 (en.lproj)
/* Localizable.strings (en.lproj) */
"app_name" = "My App";
"welcome_message" = "Welcome, %@!";
"items_count" = "%d items found";
"price_format" = "Price: %1$@ %2$@";
"time_remaining" = "%ld minutes left";이후 (de.lproj)
/* Localizable.strings (de.lproj) */
"app_name" = "Meine App";
"welcome_message" = "Willkommen, %@!";
"items_count" = "%d Artikel gefunden";
"price_format" = "Preis: %1$@ %2$@";
"time_remaining" = "%ld Minuten übrig";iOS 개발자를 위해 설계됨
플레이스홀더 보호
%@, %d, %ld, %1$@ 을 유지합니다. String(format:)은 계속 작동합니다.
모든 iOS 포맷
.strings, .stringsdict, String 카탈로그 (.xcstrings), XLIFF.
2주 대신 2분
업로드 → 언어 선택 → de.lproj, fr.lproj, es.lproj 다운로드.
번역 메모리 = 90% 절약
이미 번역된 문자열은 재사용됩니다. 앱 업데이트는 거의 비용이 들지 않습니다.
완전한 iOS 구문 지원
%@, %d, %ld, %f 포매터
%1$@ 위치 인수
stringsdict 복수 규칙
문자열 카탈로그 (.xcstrings)
주석 보존
Key=Value Format
유니코드 이스케이프 시퀀스
InfoPlist.strings
왜 Xcode Export를 쓰지 않는가?
| shipglobal | Xcode XLIFF | 수동 | |
|---|---|---|---|
| 시간 | 2분 | 1시간 이상 | 일 |
| %1$@ 보호됨 | |||
| Translation Memory | |||
| 가격 | €0,05/1k 문자 | 무료 | /언어 |