> For the complete documentation index, see [llms.txt](https://docs.aibrow.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aibrow.ai/api-reference/aibrow/translator.md).

# Translator

## Static Methods

### <mark style="background-color:red;">static</mark> availability

`static async availability(options) =>`  [`AIModelAvailability`](/api-reference/types/aimodelavailability.md)&#x20;

Get the availability of the on-device language model.

| Options (optional)                                                                       |
| ---------------------------------------------------------------------------------------- |
| **options** [`TranslatorCreateOptions`](/api-reference/types/translatorcreateoptions.md) |

Returns the availability

### <mark style="background-color:red;">static</mark> compatibility <mark style="background-color:green;">extension</mark> <mark style="background-color:purple;">web</mark>

`static async compatibility(options) =>`  [`AIModelCoreCompatibility`](/api-reference/types/aimodelcorecompatibility.md)&#x20;

Get the availability of the on-device language model.

| Options (optional)                                                                       |
| ---------------------------------------------------------------------------------------- |
| **options** [`TranslatorCreateOptions`](/api-reference/types/translatorcreateoptions.md) |

Returns the compatibility

### <mark style="background-color:red;">static</mark> create

`static async create(options) =>` [`Translator`](/api-reference/aibrow/translator.md)

Creates a new embedding session

| Options (optional)                                                                       |
| ---------------------------------------------------------------------------------------- |
| **options** [`TranslatorCreateOptions`](/api-reference/types/translatorcreateoptions.md) |

Returns a new Translator session that can be prompted with the pre-provided configuration

***

## Properties

### gpuEngine <mark style="background-color:green;">extension</mark> <mark style="background-color:purple;">web</mark>

[`AIModelGpuEngine`](/api-reference/types/aimodelgpuengine.md)&#x20;

### dtype <mark style="background-color:green;">extension</mark> <mark style="background-color:purple;">web</mark>

[`AIModelDtype`](/api-reference/types/aimodeldtype.md)&#x20;

### flashAttention <mark style="background-color:green;">extension</mark> <mark style="background-color:purple;">web</mark>

`boolean`

### contextSize

`number`&#x20;

### inputQuota

`number`&#x20;

### repeatPenalty <mark style="background-color:green;">extension</mark> <mark style="background-color:purple;">web</mark>

`number`&#x20;

### sourceLanguage

`string`&#x20;

### targetLanguage

`string`&#x20;

***

## Methods

### translate

`async (input, options) => string`

See [translateStreaming](#translatestreaming)

### translateStreaming

`(input, options) => ReadableStream`

This prompts the language model to translate the provided text. The returned stream should contain the translation

| Input                       |
| --------------------------- |
| A `string` to be translated |

| Options (optional)                |
| --------------------------------- |
| **signal** `optional AbortSignal` |

Returns a readable stream that updates each time new tokens are available from the language model

### measureInputUsage

`async (input, options) =>` `number`

Measures the prompt usage of the input

| Input      |
| ---------- |
| A `string` |

| Options (optional)                |
| --------------------------------- |
| **signal** `optional AbortSignal` |

Returns prompt usage based on the input
