On 19.11.25 04:15, Tom Lane wrote:
> Thomas Munro <thomas.munro@gmail.com> writes:
>> Perhaps meson/configure should do a po -> mo -> gettext() check with a
>> canned test message? That'd also make sure your msgfmt and libintl
>> are compatible, something I worried about when I wrote about musl
>> recently.
>
> No, I don't think that's a good approach. That is testing the library
> available at configure time, not the one you are actually running
> with (possibly years later and on a different machine, even without
> considering cross-compilation cases). I think we should do it
> honestly with a regression test. It doesn't need to be very
> complicated --- I think checking one message in one translation is
> sufficient, so long as it includes a PRI?64 usage.
We could generate an English message catalog that translates all
messages unchanged, and run the whole test suite with that. This would
exercise the whole gettext run-time machinery.
Generating the message catalog is easy, gettext provides a tool for
that. What's a little tricky is convincing all our testing
infrastructure to *not* disable NLS-related locale settings. See
attached for a rough, incomplete demo.