<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Translation",
  "identifier" : "/documentation/Translation/TranslationSession/init(installedSource:target:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Translation"
    ],
    "preciseIdentifier" : "s:11Translation0A7SessionC15installedSource6targetAC10Foundation6LocaleV8LanguageV_AJSgtcfc"
  },
  "title" : "init(installedSource:target:)"
}
-->

# init(installedSource:target:)

Creates a translation session to translate between a given source and target language already installed on device.

```
convenience init(installedSource source: Locale.Language, target: Locale.Language?)
```

## Discussion

If one or both of the languages aren’t installed on the device already, attempting to translate will throw errors. In order to get the person’s permission to download
languages that aren’t already installed, translate using a `TranslationSession` provided by <doc://com.apple.documentation/documentation/SwiftUI/View/translationTask(_:action:)> or
<doc://com.apple.documentation/documentation/SwiftUI/View/translationTask(source:target:action:)> .

> Note: If you created `TranslationSession` using ``doc://com.apple.Translation/documentation/Translation/TranslationSession/init(installedSource:target:)``,  you don’t need a `.translationTask()`, however, you will need a `sourceLanguage` .

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)