The
catgets() function conforms to X/Open Portability Guide Issue 4.2 (“XPG4.2”).
Major Unix vendors are split over the adoption of the two most important message catalog specifications: catgets or
gettext(3). The primary concern with the catgets interface is that every translatable string has to define a number (or a symbolic constant) which must correspond to the message in the catalog. Duplicate message IDs are not allowed. Constructing message catalogs is difficult.