Elixir 我如何为EXTO模型字段名生成gettext翻译?

Elixir 我如何为EXTO模型字段名生成gettext翻译?,elixir,gettext,ecto,Elixir,Gettext,Ecto,我有一个普通的exto.Model,我需要将它的字段注册为翻译,以便将它们移动到.pot文件中。我该怎么做 更新 我使用这些字段名准备翻译错误列表: errors = changeset |> Ecto.Changeset.traverse_errors(fn {msg, opts} -> Enum.reduce(opts, msg, fn {key, value}, _ -> String.replace(msg, "%{#{key}}", to_st

我有一个普通的
exto.Model
,我需要将它的字段注册为翻译,以便将它们移动到
.pot
文件中。我该怎么做

更新

我使用这些字段名准备翻译错误列表:

errors = changeset
  |> Ecto.Changeset.traverse_errors(fn {msg, opts} ->
    Enum.reduce(opts, msg, fn {key, value}, _ ->
      String.replace(msg, "%{#{key}}", to_string(value))
    end)
  end)

formatted = for {field, messages} <- errors,
                message <- messages,
                do: "#{field} #{translate_error(message)}" # functionality is here

  defp translate_error(msgid) do
    Gettext.dgettext(MyApp.Gettext, "errors", msgid)
  end
errors=changeset
|>EXTO.Changeset.traverse_错误(fn{msg,opts}->
reduce(opts,msg,fn{key,value},->
替换(msg,“%{{key}}”,为_字符串(值))
(完)
(完)

格式化=对于{field,messages}您可以这样做。

您是否在任何模板的某个地方打印字段名?你用的是什么代码?@Dogbert我更新了答案,@Dogbert这有没有被回答过?解决办法是什么?