Linguist.Compiler (Linguist v0.4.0) View Source
Translation Compiler Module.
Link to this section Summary
Functions
Compiles keyword list of transactions into function definitions AST.
Link to this section Functions
Compiles keyword list of transactions into function definitions AST.
Examples
iex> Linguist.Compiler.compile(en: [
hello: "Hello %{name}",
alert: "Alert!"
])
quote do
def t(locale, path, binding \\ [])
def t("en", "hello", bindings), do: "Hello " <> Keyword.fetch!(bindings, :name)
def t("en", "alert", bindings), do: "Alert!"
def t(_locale, _path, _bindings), do: {:error, :no_translation}
def t!(locale, path, bindings \\ []) do
case t(locale, path, bindings) do
{:ok, translation} -> translation
{:error, :no_translation} ->
raise %NoTranslationError{message: "#{locale}: #{path}"}
end
end
end