MF2 custom function for locale-aware person name formatting.
Implements Localize.Message.Function so that %Localize.PersonName{}
structs can be formatted directly inside MF2 messages:
{$name :personName}
{$name :personName format=long formality=formal}Registration
Application config (recommended for most projects)
# config/config.exs
config :localize, :mf2_functions, %{
"personName" => Localize.PersonName.MF2
}Per-call
Localize.Message.format(
"{$name :personName format=long}",
%{"name" => person},
locale: :en,
functions: %{"personName" => Localize.PersonName.MF2}
)Supported MF2 options
| MF2 option | Maps to | Values |
|---|---|---|
format | :format | short, medium, long |
formality | :formality | formal, informal |
usage | :usage | addressing, referring, monogram |
order | :order | givenFirst, surnameFirst, sorting |
The :locale is inherited from the MF2 message's interpreter
options and does not need to be specified as an MF2 function
option.