# `GettextTranslator.Processor.Translator`
[🔗](https://github.com/marmend-company/gettext_translator/blob/main/lib/gettext_translator/processor/translator.ex#L1)

Translator behavior.

# `endpoint`

```elixir
@type endpoint() :: %{
  adapter: module(),
  model: String.t(),
  temperature: float(),
  config: map()
}
```

# `opts`

```elixir
@type opts() :: %{message: String.t(), language_code: String.t()}
```

# `provider`

```elixir
@type provider() :: %{
  endpoint: endpoint(),
  persona: String.t(),
  style: String.t(),
  source_language: String.t(),
  ignored_codes: [String.t()]
}
```

# `translate`

```elixir
@callback translate(provider(), opts()) :: {:ok, String.t()} | {:error, any()}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
