Locale -- tai kokios nors kalbos ir kultūros nusistovėjusios datų rašymo, mėnesių ir savaitės dienų pavadinimų bei trumpinimo, pinigų žymėjimo, alfabetinės tvarkos ir t.t., taisyklės.
Lokalė reikalinga bent tam, kad less ir ls komandos rodytų lietuviškas raides. Pagal nutylėjimą yra nustatyta POSIX lokalė, o ji nelaiko raidėmis nė vieno simbolio virš 0x7F.
Lokales vadinamos kalbos ir šalies pavadinimų santrumpomis:
Lokalei nustatyti yra keletas aplinkos kintamųjų:
LANG gali buti perdengtas bet kokio LC_ kintamojo, o LC_ALL perdengia kitus.
Pavyzdys: jūs norite, kad ls -l komanda datas atspausdintų
lietuviškai. Susiinstaliavę lietuvišką lokalę, darykite taip:
$ LC_TIME=lt_LT
$ export LC_TIME
$ ls -l
Patikrinti esamai lokalei yra komanda locale.
Lokales laikomos nuo kodų lentelės nepriklausomuose failuose, o kodų lentelės aprašomos atskiruose charmap failuose. Taip, juose `ą' žymima kaip <a;>, o `č' - kaip <c<>. Prieš vartojant, lokalę visgi reikia susieti su kodų lentele. Tai daroma
$ localedef -f <charmap> -i <input_file> <locale_name>
komanda. Po to jau galima nustatinėti LANG kintamąjam tą reikšmę, kuria jūs pavadinote lokalę (<locale_name> pavyzdyje).
Lokalės teisingo pavadinimo pavyzdys būtų lt_LT.iso8859-13
Lokalių ir charmap'ų išeities tekstai yra
/usr/share/i18n/locales ir /usr/share/i18n/charmaps
kataloguose, o sukompiliuotos lokalės laikomos
/usr/share/locales/ katalogo pakatalogiuose.
Lokalės išeities tekstus aš pasiėmiau iš R. Čepo linux-lt paketo, o charmap ISO-8859-13 failas (kaip ir CP1257) įėjo į Red Hat 6.0 sistemą.
Patartina į /etc/profile įrašyti tokias eilutes:
LC_CTYPE=lt_LT.iso8859-13
LC_COLLATE=lt_LT.iso8859-13
export LC_TIME LC_COLLATE