Keskustelu:Locale

Linux.fista
Versio hetkellä 16. heinäkuuta 2017 kello 21.49 – tehnyt YesPoX (keskustelu | muokkaukset) (→‎Lokaalisekoilua: Ogelmia lokaalien kanssa ja uudet fi lokaalit)
Siirry navigaatioon Siirry hakuun

Lokaalisekoilua

Ilmeisesti suomi-lokaalit ovat seuraavasti:

  • finnish: fi_FI.ISO-8859-1 (C), fi_FI.ISO8859-1 (X)
  • fi, fi_FI: fi_FI.ISO-8859-15 (C), fi_FI.ISO8859-15 (X)
  • fi_FI.utf8: fi_FI.utf8 (C), fi_FI.UTF-8 (X)

Lisäksi joukko aliaksia eri välimerkein ja muunnelmin X:n locale.alias-tiedostossa.

Merkistö siis ymmärtääkseni merkitään eri tavalla libc:n lokaleissa ja X:n vastaavissa, jonka takia virallisia nimiä ei voi käyttää suoraan, vaan nimi on alias ainakin jommassakummassa tiedostossa.

Onko tämä tosiaan asian laita? Vielä nykyään? Onko tähän muita syitä kuin jonkun jääräpäisyys?

--LP 25. marraskuuta 2009 kello 14.01 (UTC)

Nykyään on tullu lisää lokaaleja kun suomenruotsalaisilla ja saamelaisilla on omansa. esim

LANG=sms_FI.UTF-8
  • sms_fi = suomimenkieli
  • smn_fi = Anarâškielâ (saame)
  • sv_fi = suomenruotsi

Kaikilla on nyt omansa, mutta asetukset ei toimi. Jos joku tuntee lokaalipuolta tarkemmin, niin voisi selvittää mikä mättää. Onko mahdollisesti vika Kubuntun graafisessa asetusohjelmassa. Oma ratkaisu on pakottaa kieleksi fi_FI. Voi olla että mulla on kokoonpanossa jotain muuta vikaa. Automaattisesti luotu /etc/default/locale tiedosto näyttää siis tältä:

#  File generated by update-locale
LANG=fi_FI.UTF-8
LANGUAGE="fi_FI:en"
LC_NUMERIC="fi_FI.UTF-8"
LC_TIME="fi_FI.UTF-8"
LC_MONETARY="fi_FI.UTF-8"
LC_PAPER="fi_FI.UTF-8"
LC_NAME="fi_FI.UTF-8"
LC_ADDRESS="fi_FI.UTF-8"
LC_TELEPHONE="fi_FI.UTF-8"
LC_MEASUREMENT="fi_FI.UTF-8"
LC_IDENTIFICATION="fi_FI.UTF-8"

Ja locale komento antaa tämän: locale

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=sms_FI.UTF-8
LANGUAGE=fi
LC_CTYPE="sms_FI.UTF-8"
LC_NUMERIC=fi_FI.UTF-8
LC_TIME=fi_FI.UTF-8
LC_COLLATE="sms_FI.UTF-8"
LC_MONETARY=fi_FI.UTF-8
LC_MESSAGES="sms_FI.UTF-8"
LC_PAPER=fi_FI.UTF-8
LC_NAME=fi_FI.UTF-8
LC_ADDRESS=fi_FI.UTF-8
LC_TELEPHONE=fi_FI.UTF-8
LC_MEASUREMENT=fi_FI.UTF-8
LC_IDENTIFICATION=fi_FI.UTF-8
LC_ALL=

--YesPoX (keskustelu) 16. heinäkuuta 2017 kello 21.49 (EEST)

en_FI

Vähän sääsin (kubuntu 14.04) gui-kilkkeillä (systemsettings / locale), ja päädyin toivomaani tilanteeseen että locale on en_FI, mutta ...

  • perl: warning: Setting locale failed.
  • perl: warning: Please check that your locale settings:
  • LANGUAGE = "en",
  • LC_ALL = (unset),
  • LC_TIME = "en_FI.UTF-8",
  • LC_MONETARY = "en_FI.UTF-8",
  • LC_ADDRESS = "en_FI.UTF-8",
  • LC_TELEPHONE = "en_FI.UTF-8",
  • LC_NAME = "en_FI.UTF-8",
  • LC_MEASUREMENT = "en_FI.UTF-8",
  • LC_IDENTIFICATION = "en_FI.UTF-8",
  • LC_NUMERIC = "en_FI.UTF-8",
  • LC_PAPER = "en_FI.UTF-8",
  • LANG = "en_FI.UTF-8"
  • are supported and installed on your system.
  • perl: warning: Falling back to the standard locale ("C").
  • locale: Cannot set LC_CTYPE to default locale: No such file or directory
  • locale: Cannot set LC_MESSAGES to default locale: No such file or directory
  • locale: Cannot set LC_ALL to default locale: No such file or directory

Tässä tilanteessa maaksi on valittu Suomi, mutta kieleksi englanti. Pidän tästä, koska lokalisoinnin taso on usein heikko ( ja virheilmoitusten googlaaminen voi olla täysin toivotonta jos ne saa suomeksi. Enkä osaa käyttää libreofficea suomeksi (miksi sqrt, avg, sum ja niin edelleen on käännettävä suomeksi!) Kombinaatio ei kuitenkaan toiminut. Pääsin eteenpäin luomalla en_FI-localen käsin näin:

  • sudo cp -r /usr/share/i18n/locales/fi_FI /usr/share/i18n/locales/en_FI
  • sudo emacs /var/lib/locales/supported.d/en # lisää uusi rivi, jolla lukee en_FI.UTF-8 UTF8
  • sudo locale-gen

Osaisiko joku selventää miten tuollainen en_FI oikeaoppisesti asennetaan?

Wikin keskustelusivut on tarkoitettu artikkeleista keskustelemiseen. Apua voi pyytää foorumilta. --oselotti (keskustelu) 21. huhtikuuta 2016 kello 23.15 (EEST)