tinymux/tests/format
Stephen Dennis f1df1759ae nls: first format-string slice — rob give/kill templates (#1419)
Phase-2 constant-notify work banned printf conversions from the catalogue
and from M_() at format call sites. Whole-sentence formats like
"You give %d %s to %s." cannot be localised that way, so Phase 3 needs a
different contract:

  * tests/format/check_formats.py accepts M_("…") as a constant format and
    still checks the *source* msgid against mux_vsnprintf's conversions.
  * tests/nls/check_nls.py no longer bans formats in the pot; it requires
    every catalogue msgstr to carry the same conversion sequence (type and
    order) as its msgid. mux_vsnprintf has no positional %1$s yet.

Content: mark rob.cpp's remaining player/staff format templates with M_
(tprintf, mux_sprintf, raw_broadcast for give/kill/suspect). Constants
there were already M_ from the earlier rob notify slice. Regenerate pot,
xx, and the .mo without fuzzy entries.

Verified: make test-format, make test-nls.
2026-07-27 13:56:53 +00:00
..
check_formats.py nls: first format-string slice — rob give/kill templates (#1419) 2026-07-27 13:56:53 +00:00
Makefile Merge pull request #1439 from brazilofmux/test/format-source-guard 2026-07-26 15:35:49 -06:00
test_format.cpp fix(lib): stop formatting at an unimplemented conversion (#1445) 2026-07-26 15:59:50 -06:00