Ero sivun ”Locale” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (wikilinkki)
pEi muokkausyhteenvetoa
 
(18 välissä olevaa versiota 11 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Locale on [[komentorivi]]ohjelma, joka tulostaa kieltä ja muita alueellisia tietoja koskevat [[ympäristömuuttuja]]t ja näyttää saatavilla olevat lokaalivaihtoehdot.
'''Locale''' (lokaali, lokaaliasetukset) on [[komentorivi]]ohjelma, joka tulostaa kieltä ja muita alueellisia tietoja koskevat [[ympäristömuuttuja]]t ja näyttää asennetut lokaalivaihtoehdot.
 
Localeen liittyvät muuttujat määräävät [[kotoistus|kotoistetun]] ohjelman käyttämän käyttöliittymäkielen ja kieleen ja kulttuuriin liittyvät käytännöt, esimerkiksi päivämäärien muodon, desimaalierottimen ja aakkosjärjestyksen. Locale asetukset voivat siis poiketa toisistaan, käyttöliittymä voi olla vaikka englanniksi ja muut merkintätavat Suomen tavan mukaan.
 
Kaikissa ohjelmissa ei hyödynnetä kaikkia vivahteita. Jos osaa ohjelmasta ei ole käännetty käytetään siltä osin alkuperäistä (englannin) kieltä. Joissakin ohjelmissa käytetään näitten muuttujien sijaan ohjelman valikoita tai muita asetuksia.


==Käyttö==
==Käyttö==
Rivi 19: Rivi 23:
  LC_ALL=en_GB.utf8
  LC_ALL=en_GB.utf8


Tulostetaan saatavilla olevat lokaalit:
Lokaalit ovat muotoa <tt>kieli_ALUE.merkistö</tt>. Lokaali <tt>en_GB.utf8</tt> tarkoittaa siis englanninkielen brittiversiota [[UTF-8]] -merkistöllä koodattuna.
 
Tulostetaan asennetut lokaalit (joskus ''hyvin'' pitkä lista, tässä erään järjestelmän oletusvalikoima: eri englannin muunnelmia sekä [[C]]- ja [[POSIX]]-oletuslokaalit):
  kayttaja@kone:~$ locale -a
  kayttaja@kone:~$ locale -a
  C
  C
Rivi 37: Rivi 43:
  en_ZW.utf8
  en_ZW.utf8
  POSIX
  POSIX
Tulostetaan asennetut suomenkieliset lokaalit (jotka yleensä alkavat kielikoodilla ”fi”, tässä [[Debian]]):
kayttaja@kone:~$ locale -a | [[grep]] "^fi"
fi_FI
fi_FI@euro
fi_FI.iso88591
fi_FI.iso885915@euro
fi_FI.utf8
fil_PH
fil_PH.utf8
finnish
Tähän eksyi näköjään mukaan filipino.
<tt>fi</tt>, <tt>fi_FI</tt> ja <tt>finnish</tt> viittaavat (vrt. [[locale.alias]]) johonkin suomi-lokaaliin. Nykyään suositeltava suomi-lokaali on yleensä [[Unicode]]a käyttävä <tt>fi_FI.[[UTF-8|utf8]]</tt>. Yhteensopivuussyistä vanhemmat merkistöjä ISO-8859-1 ja -15 käyttävät lokaalit voivat joskus olla paremmat.
Saame:
kayttaja@kone:~$ locale -a | grep "^se"
se_NO
se_NO.utf8
Kaikki Suomi-lokaalit:
kayttaja@kone:~$ locale -a | grep "_FI" | [[less]]


==Ympäristömuuttujat==
==Ympäristömuuttujat==


Haluttua locale-ympäristöä voi säätää joukolla ympäristömuuttujia (katso yllä). Näistä erityisen kiinnostavia ovat seuraavat:
Haluttua locale-ympäristöä säädetään joukolla [[Ympäristömuuttuja|ympäristömuuttujia]] (katso yllä). Näistä erityisen kiinnostavia ovat seuraavat:


*LANG: oletuslokaali
*LC_CTYPE: käytettävä merkistö, merkkien luokittelu sekä pienten ja isojen kirjainten vastaavuus
*LC_CTYPE: käytettävä merkistö, merkkien luokittelu sekä pienten ja isojen kirjainten vastaavuus
*LC_COLLATE aakkosjärjestys
*LC_COLLATE: aakkosjärjestys
*LC_MESSAGES: ohjelmien viestien kieli; jos käännös puuttuu viesti näytetään alkuperäisellä kielellä (käytännössä englanniksi)
*LC_MESSAGES: ohjelmien viestien kieli; jos käännös puuttuu viesti näytetään alkuperäisellä kielellä (käytännössä englanniksi)
*LANG: oletusympäristö
*LANGUAGE: [[GNU]]-projektin LANG-muuttuja, hyväksyy listan eri vaihtoehdoista
*LANGUAGE: [[GNU]]-projektin LANG-muuttuja, hyväksyy listan eri vaihtoehdoista
*LC_ALL: käytettävä ympäristö muista locale-muuttujista välittämättä
*LC_ALL: käytettävä lokaali muista locale-muuttujista välittämättä


==Lokaalien generointi==
==Lokaalien generointi==


Kotikoneilla harvemmin on tarvetta tukea maailman kaikkia kieliä ja kulttuureja. Tilan säästämiseksi lokaaleja generoidaan usein käytettäviksi vain pyynnöstä. C ja POSIX ovat aina käytössä, usein oletusarvoisesti liuta englanninkielisiä lokaaleja sekä asennuksessa valittu järjestelmän oletuskieli. Tuen saamiseksi halutut lokaalit pitää generoida. Tapa vaihtelee jakelusta toiseen.
Kotikoneilla harvemmin on tarvetta tukea maailman kaikkia kieliä ja kulttuureja. Tilan säästämiseksi lokaaleja generoidaan usein käytettäviksi vain pyynnöstä. C ja POSIX (eli [[C]]-kielen ja [[POSIX]]-standardin oletuslokaalit, käytännössä samat) ovat aina käytössä, usein oletusarvoisesti liuta englanninkielisiä lokaaleja sekä asennuksessa valittu järjestelmän oletuskieli. Tuen saamiseksi muut halutut lokaalit pitää generoida. Tapa vaihtelee jakelusta toiseen.
 
Debianissa käytetään asetustiedostoa <tt>/etc/[[locale.gen]]</tt>, jossa tarpeettomat lokaalit on muunnettu ”kommenteiksi” #-merkillä. Tämä merkki poistetaan halutuilta riveiltä ja sen jälkeen annetaan komento
root@kone# [[locale-gen]]
Tämä ohjelma ajaa [[localedef]]-ohjelman jokaisen halutun lokaalin generoimiseksi.
 
Vastaavan voi myös tehdä komennolla
root@kone# [[dpkg-reconfigure]] locales
 
==Lokaalin asettaminen==
Lokaalin voi asettaa tiettyyn arvoon [[komentotulkki|komentotulkista]] riippuen (esimerkiksi) komennolla
[[export]] LANG=fi_FI.utf8
tai
[[setenv]] LANG fi_FI.utf8
 
Edellinen toimii mm [[bash]]issa ja [[zsh]]:ssa, jälkimmäinen [[csh]]-sukuisissa tulkeissa. Komento voi olla hyvä lisätä komentotulkin käynnistys[[skripti]]in ([[bashrc]], [[zsh|zshrc]], [[tcsh|tcshrc]] ym), mikäli haluaa asetuksen pysyvän jatkuvasti voimassa.
 
Käyttämällä LANG-muuttujaa yksittäiset arvot voi asettaa toisenlaisiksi, esimerkiksi virheviestit alkukielellä (englanniksi) ja aakkostaminen perinteiseen tapaan jossa 00INDEX.txt ja README hakemistolistauksen alussa:
[[export]] LC_MESSAGES=C LC_COLLATE=C
 
Käyttämällä muuttujaa LC_ALL näiden muiden muuttujien arvot jätetään huomiotta, mikä on kätevää esimerkiksi yksittäisen komennon ajamiseksi oletusympäristössä tai aiotussa oletusympäristössä:
[[env]] LC_ALL=C
 
Joskus saattaa tulla tilanne että [[kotoistus]] on huono että haluaa ajaa jonkin ohjelman englanniksi. Se tapahtuu seuraavasti [[komentorivi]]ltä.
LC_ALL=C ohjelmannimi
 
==Jakelukohtaista==
===Ubuntun päätteen maa-asetusten vaihtaminen===
 
sudo apt-get update
sudo apt-get install console-data
sudo apt-get install console-setup
sudo apt-get install console-locales
sudo apt-get install keyboard-configuration
 
dpkg-reconfigure console-data
dpkg-reconfigure console-setup
dpkg-reconfigure console-locales
dpkg-reconfigure keyboard-configuration
 
=== Opensuse ja KDE ===
Opensusella (15.1) KDE:n Järjestelmäasetukset tallentuu tiedostoon ~/.config/plasma-localerc.


==Katso myös==
==Katso myös==
*[[Lokalisointi]]
*[[Kotoistus]]


[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Komentorivin perustyökalut]]

Nykyinen versio 27. lokakuuta 2020 kello 16.26

Locale (lokaali, lokaaliasetukset) on komentoriviohjelma, joka tulostaa kieltä ja muita alueellisia tietoja koskevat ympäristömuuttujat ja näyttää asennetut lokaalivaihtoehdot.

Localeen liittyvät muuttujat määräävät kotoistetun ohjelman käyttämän käyttöliittymäkielen ja kieleen ja kulttuuriin liittyvät käytännöt, esimerkiksi päivämäärien muodon, desimaalierottimen ja aakkosjärjestyksen. Locale asetukset voivat siis poiketa toisistaan, käyttöliittymä voi olla vaikka englanniksi ja muut merkintätavat Suomen tavan mukaan.

Kaikissa ohjelmissa ei hyödynnetä kaikkia vivahteita. Jos osaa ohjelmasta ei ole käännetty käytetään siltä osin alkuperäistä (englannin) kieltä. Joissakin ohjelmissa käytetään näitten muuttujien sijaan ohjelman valikoita tai muita asetuksia.

Käyttö[muokkaa]

Tulostetaan kieli- ja aluemuuttujien tiedot:

kayttaja@kone:~$ locale
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=en_GB.utf8

Lokaalit ovat muotoa kieli_ALUE.merkistö. Lokaali en_GB.utf8 tarkoittaa siis englanninkielen brittiversiota UTF-8 -merkistöllä koodattuna.

Tulostetaan asennetut lokaalit (joskus hyvin pitkä lista, tässä erään järjestelmän oletusvalikoima: eri englannin muunnelmia sekä C- ja POSIX-oletuslokaalit):

kayttaja@kone:~$ locale -a
C
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX

Tulostetaan asennetut suomenkieliset lokaalit (jotka yleensä alkavat kielikoodilla ”fi”, tässä Debian):

kayttaja@kone:~$ locale -a | grep "^fi"
fi_FI
fi_FI@euro
fi_FI.iso88591
fi_FI.iso885915@euro
fi_FI.utf8
fil_PH
fil_PH.utf8
finnish

Tähän eksyi näköjään mukaan filipino.

fi, fi_FI ja finnish viittaavat (vrt. locale.alias) johonkin suomi-lokaaliin. Nykyään suositeltava suomi-lokaali on yleensä Unicodea käyttävä fi_FI.utf8. Yhteensopivuussyistä vanhemmat merkistöjä ISO-8859-1 ja -15 käyttävät lokaalit voivat joskus olla paremmat.

Saame:

kayttaja@kone:~$ locale -a | grep "^se"
se_NO
se_NO.utf8

Kaikki Suomi-lokaalit:

kayttaja@kone:~$ locale -a | grep "_FI" | less

Ympäristömuuttujat[muokkaa]

Haluttua locale-ympäristöä säädetään joukolla ympäristömuuttujia (katso yllä). Näistä erityisen kiinnostavia ovat seuraavat:

  • LANG: oletuslokaali
  • LC_CTYPE: käytettävä merkistö, merkkien luokittelu sekä pienten ja isojen kirjainten vastaavuus
  • LC_COLLATE: aakkosjärjestys
  • LC_MESSAGES: ohjelmien viestien kieli; jos käännös puuttuu viesti näytetään alkuperäisellä kielellä (käytännössä englanniksi)
  • LANGUAGE: GNU-projektin LANG-muuttuja, hyväksyy listan eri vaihtoehdoista
  • LC_ALL: käytettävä lokaali muista locale-muuttujista välittämättä

Lokaalien generointi[muokkaa]

Kotikoneilla harvemmin on tarvetta tukea maailman kaikkia kieliä ja kulttuureja. Tilan säästämiseksi lokaaleja generoidaan usein käytettäviksi vain pyynnöstä. C ja POSIX (eli C-kielen ja POSIX-standardin oletuslokaalit, käytännössä samat) ovat aina käytössä, usein oletusarvoisesti liuta englanninkielisiä lokaaleja sekä asennuksessa valittu järjestelmän oletuskieli. Tuen saamiseksi muut halutut lokaalit pitää generoida. Tapa vaihtelee jakelusta toiseen.

Debianissa käytetään asetustiedostoa /etc/locale.gen, jossa tarpeettomat lokaalit on muunnettu ”kommenteiksi” #-merkillä. Tämä merkki poistetaan halutuilta riveiltä ja sen jälkeen annetaan komento

root@kone# locale-gen

Tämä ohjelma ajaa localedef-ohjelman jokaisen halutun lokaalin generoimiseksi.

Vastaavan voi myös tehdä komennolla

root@kone# dpkg-reconfigure locales

Lokaalin asettaminen[muokkaa]

Lokaalin voi asettaa tiettyyn arvoon komentotulkista riippuen (esimerkiksi) komennolla

export LANG=fi_FI.utf8

tai

setenv LANG fi_FI.utf8

Edellinen toimii mm bashissa ja zsh:ssa, jälkimmäinen csh-sukuisissa tulkeissa. Komento voi olla hyvä lisätä komentotulkin käynnistysskriptiin (bashrc, zshrc, tcshrc ym), mikäli haluaa asetuksen pysyvän jatkuvasti voimassa.

Käyttämällä LANG-muuttujaa yksittäiset arvot voi asettaa toisenlaisiksi, esimerkiksi virheviestit alkukielellä (englanniksi) ja aakkostaminen perinteiseen tapaan jossa 00INDEX.txt ja README hakemistolistauksen alussa:

export LC_MESSAGES=C LC_COLLATE=C

Käyttämällä muuttujaa LC_ALL näiden muiden muuttujien arvot jätetään huomiotta, mikä on kätevää esimerkiksi yksittäisen komennon ajamiseksi oletusympäristössä tai aiotussa oletusympäristössä:

env LC_ALL=C

Joskus saattaa tulla tilanne että kotoistus on huono että haluaa ajaa jonkin ohjelman englanniksi. Se tapahtuu seuraavasti komentoriviltä.

LC_ALL=C ohjelmannimi

Jakelukohtaista[muokkaa]

Ubuntun päätteen maa-asetusten vaihtaminen[muokkaa]

sudo apt-get update 
sudo apt-get install console-data
sudo apt-get install console-setup
sudo apt-get install console-locales
sudo apt-get install keyboard-configuration
dpkg-reconfigure console-data
dpkg-reconfigure console-setup
dpkg-reconfigure console-locales
dpkg-reconfigure keyboard-configuration

Opensuse ja KDE[muokkaa]

Opensusella (15.1) KDE:n Järjestelmäasetukset tallentuu tiedostoon ~/.config/plasma-localerc.

Katso myös[muokkaa]