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 ↗Chapters
Code shown on screen · 3 snippets
Language discover
// Language discovery
let preferredLanguages = Locale.preferredLanguages
let preferredLocales = Locale.preferredLocales Match preferred locales with your app’s available locales
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
let ranges = textView.selectedRanges.reversed()
for range in ranges {
textView.textStorage.deleteCharacters(in: range)
} Resources
Related sessions
-
34 min -
35 min -
17 min