There are two competing methods for language independent messages:
the X/Open catgets
method, and the Uniforum gettext
method. The catgets
method indexes messages by integers; the
gettext
method indexes them by their English translations.
The 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 gettext
routines
vs. 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.