Skip to content
iOS i18n

iOS Localization: Native Swift and SwiftUI Translation Workflows

iOS uses String Catalogs (Xcode 15+) and .strings/.stringsdict files to manage translations. SwiftUI views are automatically localized through the Text() initializer, and Xcode handles extraction, pluralization rules, and export to XLIFF for translators. With String Catalogs, you get a visual editor that tracks translation state across every supported locale.

iOS Localization Features

String Catalogs (.xcstrings) with visual translation editor and state tracking
SwiftUI automatic localization through Text() and LocalizedStringKey
Pluralization and grammar agreement via .stringsdict and automatic grammar engine
XCLOC export/import for professional translator handoff via Xcode
Storyboard and XIB localization with Interface Builder integration
Auto Layout constraints that adapt to text length and layout direction changes
Right-to-left (RTL) support with leading/trailing layout semantics
Foundation formatters for locale-aware dates, numbers, and measurements
App bundle localization with .lproj directories for per-locale resources

iOS Localization in Practice

SwiftUI views are automatically localized when you use string literals in Text(). String Catalogs manage pluralization and device variations in a single file.

// SwiftUI - Automatic localization
struct WelcomeView: View {
    let name: String

    var body: some View {
        VStack {
            // Automatically looks up "Welcome to %@" in String Catalog
            Text("Welcome to \(name)")

            // Pluralization via String Catalog
            Text("^[\(itemCount) item](inflect: true)")

            // Date formatting respects locale
            Text(Date.now, format: .dateTime.month(.wide).day())
        }
    }
}

// Localizable.xcstrings (String Catalog)
// Managed in Xcode - supports:
// - Automatic extraction from SwiftUI
// - Pluralization rules per locale
// - String variation by device
// - Translation state tracking

Start iOS Localization Today

Manage your iOS String Catalog translations with AI-powered workflows, CLI sync, and CDN delivery under 50ms.