Nyelv- és országspecifikus beállításokNyelv- és országspecifikus beállítások

A rendszer igen nagy mértékben lokalizálható és igen rugalmasan a helyi igényekhez igazítható. Más szavakkal, a nemzetközi igényekhez alakítás (internationalization, I18N) lehetővé teszi az egyedi honosítást (localization, L10N). Az I18N és L10N rövidítések az angol szavak első és utolsó betűjéből, illetve a kihagyott betűk számából származnak.

A beállításokat az /etc/sysconfig/language fájlban található LC_ változókkal lehet megadni. Ezek nemcsak a nemzeti nyelv támogatására vonatkoznak, hanem az Üzenetek (nyelv), Karakterkészlet, Rendezési sorrend, Dátum és idő, Számok és a Pénznem beállítására is. A kategóriák mindegyike megadható közvetlenül a saját változójával, vagy közvetve, a language fájl egy fő változójával (lásd a man locale kézikönyvoldalt).

RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_COLLATE, RC_LC_TIME, RC_LC_NUMERIC, RC_LC_MONETARY

Ezek a változók az RC_ előtag nélkül kerülnek átadásra a parancsértelmezőnek, és ezek szabályozzák a fenti kategóriákat. Az érintett parancsértelmező-profilok listája alább látható. Az aktuális beállítások a locale paranccsal jeleníthetők meg.

RC_LC_ALL

Ez a változó (ha be van állítva) felülírja a fent említett változók értékét.

RC_LANG

Ha a fenti változók egyike sincs beállítva, a rendszer ezt használja maradék lehetőségként. Alapértelmezésben csak az RC_LANG változó van beállítva. Így egyszerűbb a felhasználóknak beírniuk a saját értékeiket.

ROOT_USES_LANG

Egy igen vagy nem értékű változó. Ha az értéke nem, akkor a root mindig a POSIX környezetben dolgozik.

A többi változó a YaST sysconfig-szerkesztőjével állítható be (lásd: 17.3.1. szakasz - A rendszerkonfiguráció módosítása a YaST sysconfig-szerkesztőjével). Az ilyen változók értéke egy nyelvkódból, egy országkódból, egy kódolásból és egy módosítóból áll. Az egyes elemeket speciális karakterek kötik össze:

  LANG=<language>[[_<COUNTRY>].<Encoding>[@<Modifier>]]

Néhány példaNéhány példa

A nyelv és az ország kódját mindig egyszerre kell állítani. A nyelv megadása az ISO 639-es szabványt követi (http://www.evertype.com/standards/iso639/iso639-en.html és http://www.loc.gov/standards/iso639-2/). Az országkódokat az ISO 3166 sorolja fel (http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html).

Csak olyan értékeket célszerű megadni, amelyhez használható leírófájlok találhatók az /usr/lib/locale könyvtárban. További leírófájlok létrehozhatók az /usr/share/i18n könyvtár fájljaiból a localedef paranccsal. A leírófájlok a glibc-i18ndata csomag részei. Az en_US.UTF-8 (angol nyelvű, Egyesült Államok) leírófájlja például a következő paranccsal hozható létre:

localedef -i en_US -f UTF-8 en_US.UTF-8
LANG=en_US.UTF-8

Ez az alapértelmezett beállítás, ha a telepítés során az amerikai angol a kiválasztott nyelv. Ha más nyelvet választott, az a nyelv kerül bekapcsolásra, de a karakterkódolás továbbra is UTF-8.

LANG=en_US.ISO-8859-1

Ez angol nyelvet állít be, az ország az Egyesült Államok, a karakterkódolás pedig ISO-8859-1. Ez a karakterkészlet nem támogatja az euro pénznem jelét, de hasznos lehet olyan programok esetében, amelyek még nincsenek felkészítve az UTF-8 kódolás használatára. A karakterkészletet megadó karaktersorozatot (ami a jelen esetben az ISO-8859-1 ) ezután a programok, például az Emacs értékeli ki.

LANG=en_IE@euro

A fenti példa kifejezetten tartalmazza az euro karaktert egy nyelvi beállításban. Szigorúan véve ez a beállítás mára túlhaladott, hiszen az UTF-8 szintén tartalmazza az euro szimbólumot. Csak akkor hasznos, ha a használni kívánt alkalmazás nem támogatja az UTF-8 kódolást, csak az ISO-8859-15-öt.

A SuSEconfig beolvassa az /etc/sysconfig/language könyvtárban található fájlokat és az /etc/SuSEconfig/profile, valamint az /etc/SuSEconfig/csh.cshrc helyekre írja ki a szükséges módosításokat. Az /etc/SuSEconfig/profile az /etc/profile-t olvassa vagy használja forrásul. Az /etc/SuSEconfig/csh.cshrc-t az /etc/csh.cshrc használja forrásul. Ennek hatására a beállítások az egész rendszerre kiterjedően elérhetővé válnak.

A felhasználók felülbírálhatják a rendszer alapértelmezett értékeit, ha módosítják saját ~/.bashrc fájljaikat. Ha például a rendszerszintű en_US beállítás helyett a programok üzeneteit spanyolul akarják látni, akkor az LC_MESSAGES=es_ES beállítást kell megadniuk.

A nyelvi támogatás beállításai az ~/.i18n fájlokbanA nyelvi támogatás beállításai az ~/.i18n fájlokban

Ha nincs megelégedve a rendszer területi beállításaival, akkor módosítsa az ~/.i18n fájl beállításait a Bash parancsnyelvi szintaxisának megfelelően. A ~/.i18n bejegyzései felülírják a rendszer /etc/sysconfig/language helyen lévő alapértelmezett beállításait. Használja ugyanazokat a változóneveket, csak az RC_ név prefixumot hagyja el (például az RC_LANG helyett használja a LANG változót:

LANG=cs_CZ.UTF-8
LC_COLLATE=C

A nyelvi támogatás beállításaiA nyelvi támogatás beállításai

Az alapszabály az, hogy az Üzenetek kategóriába eső fájlok csak a megfelelő nyelvi könyvtárban (például en) tárolódnak, hogy legyen mire visszalépni. Ha a LANG változót az en_US értékre állítja, viszont nem létezik az /usr/share/locale/en_US/LC_MESSAGES könyvtárban a message fájl, akkor a rendszer az /usr/share/locale/en/LC_MESSAGES fájlhoz tér vissza.

Visszalépési lánc is megadható, például bretonról franciára, vagy galíciairól spanyolra, és onnan portugálra:

LANGUAGE="br_FR:fr_FR"

LANGUAGE="gl_ES:es_ES:pt_PT"

Így állíthatók be a norvég variánsok (a Nynorsk és a Bokmĺl, további visszalépéssel a sima no beállításra):

LANG="nn_NO"

LANGUAGE="nn_NO:nb_NO:no"

vagy

LANG="nb_NO"

LANGUAGE="nb_NO:nn_NO:no"

Ügyeljünk arra, hogy a norvég nyelv használata esetén az LC_TIME kezelése is eltér.

Egy lehetséges probléma, ha az ezres elválasztó karaktert nem helyesen ismeri fel a rendszer. Ez akkor fordul elő, ha a LANG értéke csak egy kétbetűs nyelvi kódra van állítva (pl. de), de a glibc által használt leírás az /usr/share/lib/de_DE/LC_NUMERIC helyen található. Ilyenkor az LC_NUMERIC változót de_DE értékre kell állítani, hogy az elválasztódefinícót helyesen lássa a rendszer.

További információkTovábbi információk

  • A GNU C Library referencia-kézikönyv Területi beállítások és lokalizálás” c. fejezete. A glibc-info része.

  • A Markus Kuhn által írt UTF-8 and Unicode FAQ for Unix/Linux. Jelenleg a http://www.cl.cam.ac.uk/~mgk25/unicode.html címen található.

  • Unicode-Howto, amelyet Bruno Haible írt:/usr/share/doc/howto/en/html/Unicode-HOWTO.html.