WWDC 2025 - iOS 26의 혁신적인 다국어 기능 개선
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
앱 개발
대상자
iOS 앱 개발자, 다국어 지원 기능을 구현해야 하는 프론트엔드 개발자
- 난이도: 중급 이상 (TextKit2 및 Unicode 처리 기술 필요)
핵심 요약
Locale.preferredLocales
API를 사용해 사용자 언어 선호도를 정확히 파악- Natural Selection 기능으로 RTL/LTR 텍스트 선택 시 시각적 흐름에 맞춘 다중 범위 선택 처리
- 11개 추가 캘린더 시스템 지원으로 문화적 맞춤형 날짜 표현 가능
섹션별 세부 요약
1. 다국어 지원 기초
- 사용자 언어 패턴을 실시간으로 감지하는 Language Discovery 기능
Locale.preferredLocales
API는preferredLanguages
보다 지역, 숫자 시스템, 통화 등 추가 메타데이터 제공- 예시 코드:
```swift
let preferredLocales = Locale.preferredLocales
let availableLocales = getAvailableLocalesForTranslatingFrom()
```
2. 양방향 텍스트 처리 개선
- Natural Selection으로 텍스트 선택 시 시각적 흐름 기반 다중 범위 선택 지원
- TextKit2 사용 필수 (TextView의
textLayoutManager
활용) - 삭제 시 범위 역순 처리로 인덱스 무효화 방지:
```swift
for range in textView.selectedRanges.reversed() {
textView.textStorage.deleteCharacters(in: range)
}
```
3. 캘린더 시스템 확장
- 11개 추가 캘린더 (구자라티, 마라athi, 한국어 등) 지원
Calendar.Identifier
를 통해 지역 맞춤형 날짜/달력 표현 가능- 예:
Calendar(identifier: .gujarati)
4. 개발자 구현 팁
- TextKit2로 복잡한 스크립트 처리 및 레이아웃 제어
- Swift의
DateFormatter
,NumberFormatter
로 자동 지역 맞춤형 포맷 지원 - 새로운 키보드 기능: 아라비즈 전사 키보드, 다국어 제안 기능 활용
결론
Locale.preferredLocales
API와 TextKit2를 사용해 다국어 지원을 구현하고, 캘린더 확장 기능으로 문화적 맞춤형 경험 제공- 기존
preferredLanguages
대신preferredLocales
사용 권장 (향후 deprecated 예상) - Swift의 자동 포맷 기능과 TextKit2를 결합해 복잡한 다국어 환경에서의 텍스트 흐름 처리 가능