我有一个正常的Ecto.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
我不仅要翻译消息,还要翻译字段!