There are two competing methods for language independent messages:
catgets method, and the Uniforum
catgets method indexes messages by integers; the
gettext method indexes them by their English translations.
catgets method has been around longer and is supported
by more vendors. The
gettext method is supported by Sun,
and it has been heard that the COSE multi-vendor initiative is
supporting it. Neither method is a POSIX standard; the POSIX.1
committee had a lot of disagreement in this area.
Neither one is in the POSIX standard. There was much disagreement
in the POSIX.1 committee about using the
catgets (XPG). In the end the committee couldn't
agree on anything, so no messaging system was included as part
of the standard. I believe the informative annex of the standard
includes the XPG3 messaging interfaces, “...as an example of
a messaging system that has been implemented...”
They were very careful not to say anywhere that you should use one set of interfaces over the other. For more on this topic please see the Programming for Internationalization FAQ.