The catgets functions are based on the simple scheme:
Associate every message to translate in the source code with a unique
identifier. To retrieve a message from a catalog file solely the
identifier is used.
This means for the author of the program that s/he will have to make
sure the meaning of the identifier in the program code and in the
message catalogs are always the same.
Before a message can be translated the catalog file must be located.
The user of the program must be able to guide the responsible function
to find whatever catalog the user wants. This is separated from what
the programmer had in mind.
All the types, constants and functions for the catgets functions
are defined/declared in the nl_types.h header file.