The libc manual (libc.info.gz) says:
8.2.1.6 User influence on `gettext'
[...]
The LOCALE component is computed based on the category used. Just
like for the `setlocale' function here comes the user selection into
the play. Some environment variables are examined in a fixed order and
the first environment variable set determines the return value of the
lookup process. In detail, for the category `LC_xxx' the following
variables in this order are examined:
`LANGUAGE'
`LC_ALL'
`LC_xxx'
`LANG'
However, this is incorrect, and the way it is done is more complex,
as shown below:
ypig% LANGUAGE=fr_FR LC_ALL=en_US cp
cp: opérande fichier manquant
Saisissez « cp --help » pour plus d'informations.
ypig% LANGUAGE=fr_FR LC_ALL=C cp
cp: missing file operand
Try `cp --help' for more information.
According to bug 591334, this is the manual that is incorrect.