Placeholders are replaced with data from the application before they are shown to users.
The placeholder name and surrounding curly brackets should not be translated.
Placeholders can have a type, an additional parameter used for locale-specific formatting.
The type can have the following values: number, date, time, ordinal, duration, spellout, plural, selectordinal, and select.
The comma and the placeholder type should not be translated either.
Placeholders can have a style, or additional formatting info.
The placeholder style should not be translated also.
Placeholders of select, selectordinal, and plural type have a slightly more complex structure. They have inner messages that are chosen by matching the value against a selector.
This type of placeholders require translation of inner messages.
Whitespaces within the placeholder are not counted and can be used for better readability.
Inner plural messages can have a special placeholder #, which represents the shorthand for the plural value.
Plural placeholders can also have an offset and =num selectors (=0, =1, and =2 selectors are checked first, then the offset is subtracted before matching keywords zero, one, two, few, many, other).
If this helped you, feel free to share it with others