System Locale

Die Umgebungsvariable LANG=xx_YY.ZZZZ beschreibt:

  • die Sprache xx

  • Länder Kennung YY

  • Encoding ZZZZ

locale zeigt die momentan aktive an, locale -a zeigt alle vorhandenen.

Um diese systemweit zu setzen, muss man an diese in an default-Sektion in der /etc/login.conf anhängen:

default:\
        ...
        :priority=0:\
        :ignoretime@:\
        :umask=022:\
        :charset=UTF-8:\
        :lang=en_US.UTF-8:\
        :setenv=LC_COLLATE=C:

Danach die login Datenbank mit cap_mkdb /etc/login.conf neu bauen.

Non-Login-Shells bekommen die locale z.B. durch die /etc/profile mitgeteilt:

LANG=en_US.UTF-8;       export LANG
CHARSET=UTF-8;          export CHARSET

Nach einem neuen Login, sollte locale nun was anderes als LANG=C anzeigen.