Message Formatter Default
Default formatter for messages of i18n4k
Format must be similar to the Java MessageFormat:
MessageFormat uses patterns of the following form:
MessageFormatPattern:
String
MessageFormatPattern FormatElement String
FormatElement:
{ ArgumentIndex }
{ ArgumentIndex , FormatType }
{ ArgumentIndex , FormatType , FormatStyle }
ArgumentIndex: argument with the given index in the parameter list.
Zero-base (0 is the index of the first argument).
Use "~" if the index is irrelevant
FormatType: type to format, like number,date, etc. Defined be registered formatter
FormatStyle: Specific style to the FormatType
StyleModifier
StyleModifierNames: StyleModifier [ | StyleModifierNames: StyleModifier ] [ | StyleModifier ]
StyleModifier: Free text description of the style.
Call also contain format pattern. So the patterns can be nested.
StyleModifierNames: Names of the modifier. Can be a list of name separated by slash
StyleModifierName
StyleModifierName [ / StyleModifierName ]
StyleModifierName: free text name of the modifier.Within a String, a pair of single quotes can be used to quote any arbitrary characters except single quotes. For example, pattern string "'{0}'" represents string "{0}", not a FormatElement. A single quote itself must be represented by doubled single quotes '' throughout a String. For example, pattern string "'{''}'" is interpreted as a sequence of '{ (start of quoting and a left curly brace), '' (a single quote), and }' (a right curly brace and end of quoting), not '{' and '}' (quoted left and right curly braces): representing string "{'}", not "{}".
Any unmatched quote is treated as closed at the end of the given pattern. For example, pattern string "'{0}" is treated as pattern "'{0}'".
Any curly braces within an unquoted pattern must be balanced. For example, "ab {0} de" and "ab '}' de" are valid patterns, but "ab {0'}' de", "ab } de" and "''{''" are not.
The FormatType is evaluated by MessageValueFormatter. The MessageValueFormatter defines the possible values of the FormatStyle.
The following MessageValueFormatter are added by default