Packages

Publish ecto validation errors in pt_BR language.

Current section

Files

Jump to
ecto_ptbr_localization lib mix tasks ecto.pt.br.localization.ex
Raw

lib/mix/tasks/ecto.pt.br.localization.ex

defmodule Mix.Tasks.Ecto.Localization.PtBr do
@moduledoc "Publish errors.po file with ecto errors validation in pt_BR : `mix help ecto.localization.pt_br`"
use Mix.Task
@shortdoc "Publish ecto errors.po validation in pt_BR."
def run(_) do
publish_file()
end
defp publish_file do
path = "#{File.cwd!()}/priv/gettext/pt_BR/LC_MESSAGES/"
with :ok <- File.mkdir_p!(Path.dirname(path)),
:ok <- move_localization(path) do
:ok
end
end
defp move_localization(path) do
errors_path = "#{:code.priv_dir(:ecto_ptbr_localization)}/gettext/pt_BR/LC_MESSAGES/errors.po"
case File.cp(errors_path, path <> "errors.po") do
:ok -> :ok
{:error, reason} -> {:error, reason}
end
end
end