iOS 26 Multilingual Features: WWDC 2025 Innovations

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를 결합해 복잡한 다국어 환경에서의 텍스트 흐름 처리 가능