On Thu, May 05, 2022 at 09:31:41AM -0500, Eric Blake via austin-group-l at The Open Group wrote: > Hello GNU and Illumos folks, > > The Austin Group (those in charge of the POSIX specification) have > been working on a draft to incorporate the gettext(3) family of > functions and related gettext(1) utilities into the next revision of > POSIX (per https://austingroupbugs.net/view.php?id=1122). After > several months of near-weekly conference calls, the latest draft of > the work has finally reached the point where it is ready for more > thorough analysis by a wider group of readers. You can view the > current state of the draft here: > > https://posix.rhansen.org/p/gettext_draft
Another question came up today (line 1172 in the draft at the time I wrote this email). Given the following test file test.c: #include <libintl.h> #include <stdio.h> int main(){ printf("%s\n",dgettext("foobar","test")); } Running "xgettext test.c", on Solaris, the resulting .po file is called "foobar.po" and contains the msgid "test". Running it on GNU, the resulting .po file is called "messages.po" and there is no indication that the msgid belongs to "foobar". According to the L18nux specification, the Solaris behavior is intended. Why does GNU xgettext deviate? Knowing whether this is considered a bug that future GNU xgettext will fix, vs. intentional behavior that the standard should purposefully not constrain, can impact what wording is chosen for the standard here. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org