Dunfey · Hotel WWDC as data, est. 1983
Front desk everything
Years
Topics

2025 SwiftUI & UI FrameworksApp Services

WWDC25 · 21 min · SwiftUI & UI Frameworks / App Services

Enhance your app’s multilingual experience

Create a seamless experience for anyone who uses multiple languages. Learn how Language Discovery allows you to optimize your app using a person’s preferred languages. Explore advances in support for right-to-left languages, including Natural Selection for selecting multiple ranges in bidirectional text. We’ll also cover best practices for supporting multilingual scenarios in your app.

Watch at developer.apple.com ↗

Transcript all transcripts

Chapters

Code shown on screen · 3 snippets

Language discover swift · at 5:35 ↗
// Language discovery

let preferredLanguages = Locale.preferredLanguages

let preferredLocales = Locale.preferredLocales
Match preferred locales with your app’s available locales swift · at 7:49 ↗
let preferredLocales = Locale.preferredLocales

// array of available Locale objects to translate from
let availableLocales = getAvailableLocalesForTranslatingFrom()

var matchedLocales: [Locale] = []

for locale in availableLocales {
    for preferredLocale in preferredLocales {
        if locale.language.isEquivalent(to:
        preferredLocale.language) {
            matchedLocales.append(locale)
            break
        }
    }
}
Delete text in ranges swift · at 14:57 ↗
let ranges = textView.selectedRanges.reversed()
for range in ranges {
    textView.textStorage.deleteCharacters(in: range)
}

Resources