---
title: "init(installedSource:target:)"
framework: translation
role: symbol
role_heading: Initializer
path: "translation/translationsession/init(installedsource:target:)"
---

# init(installedSource:target:)

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

## Declaration

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

## Discussion

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 translationTask(_:action:) or translationTask(source:target:action:) . note: If you created TranslationSession using init(installedSource:target:),  you don’t need a .translationTask(), however, you will need a sourceLanguage .

## See Also

### Initalizing a translation session

- [init(installedSource:target:preferredStrategy:)](translation/translationsession/init(installedsource:target:preferredstrategy:).md)
