Resolves a message by key, interpolating {token} placeholders from params.
Placeholders also take Python f-string-style fitting-out: {dmg:03d}, {hp:.1%},
{name:>12}, plus !s/!r/!a conversions and = debugging ({dmg=} renders as
dmg=42), all resolved through formatSpec. A placeholder whose token is missing, or
whose spec fits neither the value nor the supported subset, is left untouched rather
than throwing or rendering half-formatted.
A key present in neither language returns itself, which is the only case where a raw key
can reach the player - and it means the key was never translated anywhere, not merely
missing from one language.
Resolves a message by key, interpolating
{token}placeholders fromparams.Placeholders also take Python f-string-style fitting-out:
{dmg:03d},{hp:.1%},{name:>12}, plus!s/!r/!aconversions and=debugging ({dmg=}renders asdmg=42), all resolved throughformatSpec. A placeholder whose token is missing, or whose spec fits neither the value nor the supported subset, is left untouched rather than throwing or rendering half-formatted.A key present in neither language returns itself, which is the only case where a raw key can reach the player - and it means the key was never translated anywhere, not merely missing from one language.