defmodule Localizator.Translitor.Base do @moduledoc """ Base translit module. Describing behaviour for transliteration modules """ @typedoc """ Plain Text """ @type text :: String.t() @typedoc """ Translited Text """ @type translited :: String.t() @typedoc """ Locale """ @type locale :: String.t() @typedoc """ Error Message """ @type message :: String.t() @callback convert(text) :: {:ok, translited} | {:error, message} @callback locale() :: {:ok, locale} end