Instalacja obsługi ustawień lokalnych naprawia automatycznie błąd
(a może zaletę) w poleceniu "catopen" w bibliotece libc.
Powiedzmy, że napiszesz program, który używa komunikatów z
katalogu /home/peeter/catalogs/de_DE.
Teraz - jeśli wykonasz następujące polecenia nie mając zainstalowanych ustawień lokalnych dla de_DE,
export LC_MESSAGES=de_DE export NLSPATH=/home/peeter/catalogs/%L/%N.cat:$NLSPATH
katalog z niemieckimi komunikatami nie zostanie otwarty. Funkcja catgets pobierze komunikaty z katalogu standardowego.
Dzieje się tak ponieważ funkcja "catopen" wywołuje funkcję "setlocale", żeby pobrać odpowiednie komunikaty, a funkcja "setlocale" zwróci błąd pomimo tego, że została ustawiona zmienna środowiskowa. Następnie funkcja "catopen" próbuje załadować komunikaty zastępując wszystkie "L" literą "C" w zmiennej NLSPATH.
Możesz nadal używać swojego katalogu z komunikatami bez definiowania ustawień lokalnych, ale musiałbyś bezpośrednio ustawić część "L" zmiennej NLSPATH:
export NLSPATH=/home/peeter/catalogs/de_DE/%N.cat:$NLSPATH
ale to mija się z celem zastosowania zmiennych ustawień lokalnych.