# `FrappeUIPhx.Translator`
[🔗](https://github.com/moacirbishopcamata/frappe_ui_phx/blob/v0.3.1/lib/frappe_ui_phx/texts.ex#L124)

Contrato para traduzir os textos fixos da biblioteca.

    defmodule MeuApp.Translator do
      @behaviour FrappeUIPhx.Translator
      @impl true
      def translate(key, default, _bindings), do: Gettext.dgettext(MeuApp.Gettext, "frappe_ui", default)
    end

    config :frappe_ui_phx, translator: MeuApp.Translator

`default` já considera `config :frappe_ui_phx, :texts`. O resultado ainda passa pela
interpolação de `%{nome}`.

# `translate`

```elixir
@callback translate(key :: atom(), default :: String.t(), bindings :: keyword()) ::
  String.t()
```

---

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