error_helpers.ex (1160B)
- # Pleroma: A lightweight social networking server
- # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
- # SPDX-License-Identifier: AGPL-3.0-only
- defmodule Pleroma.Web.ErrorHelpers do
- @moduledoc """
- Conveniences for translating and building error messages.
- """
- @doc """
- Translates an error message using gettext.
- """
- def translate_error({msg, opts}) do
- # Because error messages were defined within Ecto, we must
- # call the Gettext module passing our Gettext backend. We
- # also use the "errors" domain as translations are placed
- # in the errors.po file.
- # Ecto will pass the :count keyword if the error message is
- # meant to be pluralized.
- # On your own code and templates, depending on whether you
- # need the message to be pluralized or not, this could be
- # written simply as:
- #
- # dngettext "errors", "1 file", "%{count} files", count
- # dgettext "errors", "is invalid"
- #
- if count = opts[:count] do
- Gettext.dngettext(Pleroma.Web.Gettext, "errors", msg, msg, count, opts)
- else
- Gettext.dgettext(Pleroma.Web.Gettext, "errors", msg, opts)
- end
- end
- end