Nyelvterület beállítása / Útmutató

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Localization/Guide and the translation is 100% complete.

Időzóna

Be kell állítani az időzónát annak érdekében, hogy a rendszeridő a jelenlegi földrajzi helyünknek megfelelően legyen beállítva. Az OpenRC alapú rendszerek és a systemd alapú rendszerek erre vonatkozó utasításai a rendszeridő cikkben találhatóak meg.

Nyelvterület rendszer

Mik azok a nyelvterület beállítások?

A nyelvterület beállítás olyan információkészlet, amelyet a legtöbb program az ország és nyelvspecifikus beállítások meghatározásához használ. A nyelvterület beállítások és a hozzájuk tartozó adatok a rendszerkönyvtár részét képezik, és a legtöbb rendszeren az /usr/share/i18n/locales/ könyvtárban találhatóak meg. A nyelvterület beállítás neve általában ab_CD, ahol az ab a két (vagy három) betűs nyelvkód (az ISO-639 szerint), a CD pedig a kétbetűs országkód (az ISO-3166 szerint). Az olyan változatokat, mint a @euro vagy a @latin, gyakran hozzáfűzik a nyelvi elnevezésekhez, pl. de_DE@euro vagy nan_TW@latin. Kérjük, keresse fel a Wikipediát, amennyiben többet szeretne megtudni a nyelvekről és a kapcsolódó cikkekről.

A nyelvterület beállítások környezeti változói

A nyelvterület beállítások különböző aspektusait vezérlő változókat az alábbi táblázat tartalmazza. Mindegyik a fent megadott ab_CD formátumú nyelvterület beállítás egy nevét veszi fel.

Változó neve Magyarázat
LANG Az összes nyelvterület beállítást egyszerre határozza meg, de úgy, hogy közben engedi a további egyénileg testre szabott lehetőségek alkalmazását is az alábbi LC_* beállításokon keresztül.
LC_COLLATE A karakterláncok ábécé szerinti sorrendjét határozza meg. Ennek a változónak a beállított értéke dönti el például a rendezett címtárlistáknak a megjelenését.
LC_CTYPE A rendszer karakterkezelési tulajdonságait határozza meg. Ennek a változónak a beállított értéke dönti el, hogy mely karakterek legyenek alfabetikus, numerikus, stb. módon ábrázolva. Ez a változó meghatározza a használt karakterkészletet is, ha van ilyen.
LC_MESSAGES Azon programok számára van ez a változó kitalálva amelyek üzenetalapú nyelvfordítási (lokalizációs) sémát használnak. Ezekhez a programokhoz tartozó nyelvi lokalizációs fájlok a /usr/share/locale/ könyvtárban vannak tárolva. (A GNU programok többsége ilyen elven van lefordítva a Föld különböző nyelveire).
LC_MONETARY Meghatározza a pénznemet, és a pénznemhez tartozó számértékeknek a megjelenítését.
LC_NUMERIC Meghatározza a nem pénzhez kötött számértékeknek a megjelenését. Olyan dolgokat érint, mint a számok ezres, és a tizedes elválasztója.
LC_TIME A dátum és az idő formázását határozza meg.
LC_PAPER A papírlapnak az alapértelmezett méretét határozza meg.
LC_ALL Minden más beállítást felülír.
Note
Egyes programok úgy vannak megírva, hogy a hagyományos angol ábécé sorrendjét várják el, míg egyes nyelvekben, különösen az észtben, eltérő sorrendet használnak. Ezért javasolt az LC_COLLATE explicit C értékre állítása, amikor Ön a rendszerszintű beállításokat kezeli.
Warning
Az LC_ALL változó használatának a mellőzése erősen ajánlott, mivel annak használata esetén automatikusan felül lesz írva az összes többi LC_* változó (ez a hatás a LANG változót nem érinti). Ez azt jelenti, hogy a más módon végrehajtott módosítások mindaddig nem fejtik ki a hatásukat, amíg az LC_ALL változó ismét vissza nem lesz állítva null karakterlánc értékűre. Valószínűleg a legjobb döntés, ha egyáltalán nem állítja be ezt a változót az indítófájlban.

A felhasználók általában csak a LANG változót szokták beállítani globálisan.

Meghatározott nyelvterület beállítások létrehozása

A legtöbb felhasználó valószínűleg csak egy vagy esetleg két nyelvterület beállítást használ a rendszerén. A további nyelvterület beállítások megadásának módja az /etc/locale.gen fájlban található.

CODE Nyelvterületek hozzáadása a /etc/locale.gen fájlhoz
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
Note
Használjon egy @euro értéket a /usr/share/i18n/SUPPORTED fájlból nyelvterület beállításként, ha az Euró pénznem szimbólumát (€) használja a nem UTF-8 alapú nyelveken.

A következő lépés a locale-gen parancs futtatása. Legenerálja az /etc/locale.gen fájlban megadott összes nyelvterület beállítást, és beírja azokat a locale-archive (/usr/lib/locale/locale-archive) fájlba.

root #locale-gen
 * Generating 4 locales (this might take a while) with 1 jobs
 *  (1/4) Generating en_GB.ISO-8859-1 ...                       [ ok ]
 *  (2/4) Generating en_GB.UTF-8 ...                            [ ok ]
 *  (3/4) Generating de_DE.ISO-8859-1 ...                       [ ok ]
 *  (4/4) Generating de_DE.ISO-8859-15@euro ...                 [ ok ]
 * Generation complete

A locale -a parancs futtatásával ellenőrizze le, hogy a kiválasztott nyelvterület beállítások elérhetőek-e.

user $locale -a
C
POSIX
de_DE
de_DE.iso88591
de_DE.iso885915@euro
de_DE@euro
deutsch
en_GB
en_GB.iso88591
en_GB.utf8
german

A localedef parancs futtatásával megjeleníthető a /usr/lib/locale/locale-archive fájl.

user $localedef --list-archive

A nyers tartalma a strings parancs futtatásával jeleníthető meg.

user $strings /usr/lib/locale/locale-archive | less

Egy nyelvterület beállítása

OpenRC

OpenRC használatakor a nyelvterület beállítások a környezeti változókban tárolódnak. Ezek általában az /etc/env.d/02locale (rendszerszintű beállításokhoz), és a ~/.bashrc (felhasználóspecifikus beállításokhoz) könyvtárakban vannak beállítva. További részletek az UTF-8 cikkben találhatók. A rendszerszintű beállítások (/etc/env.d/02locale) az eselect locale parancs segítségével kezelhetők. Például a LANG változó C értékre állításához:

root #eselect locale list
Available targets for the LANG variable:
  [1]   C 
  [2]   POSIX
  [3]   en_US
  [4]   en_US.iso885915
  [5]   en_US.utf8
  [ ]   (free form)
root #eselect locale set 1

Természetesen a fájl manuális szerkesztése is lehetséges a nyelvterület beállítások változóinak diverzifikálásához.

A fenti parancs kisbetűvel sorolja fel az utótagot kötőjelek nélkül, a glibc az utótag mindkét formáját megérti, sok más program viszont nem. A leggyakoribb példa erre az X. Ezért a legjobb, ha mindig UTF-8 jelölést használunk az utf8 jelölésmód helyett.

FILE /etc/env.d/02localeA rendszer alapértelmezett nyelvterületének a beállítása az /etc/env.d/02locale fájlban
LANG="de_DE.UTF-8"
LC_COLLATE="C.UTF-8"

Egyes esetekben a felhasználók hibásan, nem angol nyelvű megjelenítést észlelhetnek egyes alkalmazásokban, például a Krusader alkalmazásban (https://bugs.kde.org/show_bug.cgi?id=371582). Az LC_ALL="" sor eltávolítása vagy kikommentezése az /etc/env.d/02locale fájlban megoldja a problémát.

Az is lehetséges, és meglehetősen gyakori, különösen egy hagyományos UNIX-környezetben, hogy a globális beállításokat változatlanul hagyjuk, például a C nyelvterület beállításban. A felhasználók továbbra is megadhatják a preferált nyelvterület beállítást a saját parancssor konfigurációs fájljukban:

FILE ~/.bashrcA felhasználó nyelvterületének a beállítása
export LANG="de_DE.UTF-8"
export LC_COLLATE="C.UTF-8"
FILE ~/.profileA felhasználó nyelvterület beállítása az X alkalmazások számára
export LANG="de_DE.UTF-8"
export LC_COLLATE="C.UTF-8"

A rendszer konfigurálásának másik módja, ha az alapértelmezett C nyelvterület beállításban hagyja, de ezzel egyidejűleg engedélyezi az UTF-8 karakterábrázolást. Ez az opció a következő beállításokkal érhető el az /etc/env.d/02locale fájlban:

CODE Hagyományos C nyelvterületi beállítást használva az UTF-8 megadása közben
LC_CTYPE=de_DE.UTF-8

A fenti részlet használatával a felhasználók megfelelően láthatják a nyelvterület beállításoknak megfelelően a fájlneveket, miközben nincsenek rákényszerítve a kiválasztott nyelv teljes körű használatára.

A megfelelő nyelvterület beállítás megadása után feltétlenül frissítse a környezeti változókat, hogy a rendszer tudomást szerezzen a változásról.

A rendszerszintű alapértelmezett nyelvterület beállításhoz:

root #env-update && source /etc/profile

A felhasználóspecifikus nyelvterület beállításokhoz:

user $source ~/.bashrc

Ezek után szakítsa meg az X szervert futását a Ctrl+Alt+Backspace billentyűk lenyomásával. Aztán jelentkezzen ki, majd jelentkezzen ismét be rendes felhasználóként (nem root felhasználóként).

Most ellenőrizze, hogy a változtatások életbe léptek-e:

user $locale

A nyelvterület környezeti változók értékei, amelyeket konkrétan be lettek állítva, (pl. egy exportnyilatkozatban ha bash parancssort használ), idézőjelek nélkül vannak felsorolva. Azoknak az értékei viszont dupla idézőjelben vannak felsorolva, amelyek más nyelvterület környezeti változóitól vették át (örökölték) az értékeiket.

systemd

A systemd init-rendszert használó környezetben a nyelvterületi beállítást a localectl paranccsal tudja végrehajtani. Ellenőrizze az elérhető nyelvek listáját:

root #localectl list-locales

Majd hajtsa végre a kívánt nyelvterület beállítást:

root #localectl set-locale LANG=de_DE.utf8

Végül ellenőrizze le, hogy jó-e az eredmény:

root #localectl | grep "System Locale"
   System Locale: LANG=de_DE.utf8

Billentyűzetkiosztás a parancssor számára

OpenRC

A parancssor által használt billentyűzetkiosztás nyelvét az /etc/conf.d/keymaps fájlban, azon belül a keymap nevű változóban lehet beállítani. A változó érvényes értékei megtalálhatóak a /usr/share/keymaps/AZ_ÖN_ARCHITEKTÚRÁJÁNAK_A_NEVE/ könyvtárban. Az i386 architektúra tovább van osztva alkönyvtárakra az elrendezésben (qwerty/, azerty/, stb.). Az egyes nyelveknek több lehetséges értéke is van. Arra ösztönözzük Önt, hogy kísérletezzen a különféle lehetőségekkel. Így lehet a legjobban eldönteni, hogy pontosan melyik beállítás a legmegfelelőbb az Ön számára.

FILE /etc/conf.d/keymapsA parancssor billentyűzetkiosztásának a beállítása
keymap="de"
#keymap="de-latin1"
#keymap="de-latin1-nodeadkeys"

systemd

A systemd init-rendszert használó felhasználók esetében a parancssor billentyűzetkiosztását be lehet állítani a localectl parancs segítségével. Először ellenőrizze a rendelkezés reálló billentyűzetkiosztásokat:

root #localectl list-keymaps

Majd állítsa be az Önnek megfelelő billentyűkiosztást a parancssor számára:

root #localectl set-keymap it

Végül ellenőrizze le, hogy a parancssor billentyűkiosztása megfelelően lett-e beállítva:

root #localectl | grep "VC Keymap"
       VC Keymap: it

Billentyűzetkiosztás az X szerverhez

OpenRC

Az X-szerver által használt billentyűzetkiosztás nyelvét az /etc/X11/xorg.conf.d/30-keyboard.conf fájlban, azon belül a XkbLayout nevű változóban lehet beállítani. A részletekért tekintse meg az Xorg útmutatót és a billentyűzetkiosztás nyelvének a váltása cikket.

systemd

A systemd felhasználók esetében az X11 szerver billentyűzetkiosztását a localectl parancs segítségével lehet beállítani. Először ellenőrizze a rendelkezésre álló X11 billentyűzetkiosztást:

root #localectl list-x11-keymap-layouts

Majd állítsa be a kért X11 billentyűkiosztást:

root #localectl set-x11-keymap it

Végül ellenőrizze le, hogy az X11 billentyűzetkiosztás helyesen lett-e beállítva:

root #localectl | grep "X11 Layout"
      X11 Layout: it

Anyanyelvi támogatás

Annak érdekében, hogy működjön az üzenet alapú nyelvterület beállítás olyan programok esetében, amelyek támogatják azt és az nls USE jelölőzászlót használják, fordítsa a programokat ezzel a zászlókészlettel. A lefordított szövegeket (üzeneteket) az /usr/share/locale/<locale>/LC_MESSAGES/<programcsomagneve>.mo fájlok tárják, azok mind abba a könyvtárba vannak bemásolva a programok telepítésekor. Az anyanyelvi támogatást (Native Language Support (NLS)) használó programok többségének szintén szüksége van a gettext könyvtárra a nyelvterület-beállított üzenetek kinyeréséhez és használatához. Természetesen a Portage automatikusan telepíti azt, ha szükséges.

Az nls USE jelölőzászló engedélyezése után előfordulhat, hogy néhány programcsomagot újra létre kell hozni (újra le kell fordítani forráskódból bináris futtatható programra):

root #emerge --ask --changed-use --deep --with-bdeps=y @world

LINGUAS

Warning
A LINGUAS változó miatt a programcsomagok implicit módon kihagyják a nyelvterületi beállításokat. Használatakor a Portage csomagkezelő nem tudja meghatározni, hogy mely nyelvterületi beállítást hagyja ki. Ne használja a LINGUAS változót, ha újra szolgáltatja a bináris csomagokat.

Van egy további LINGUAS változó is, amelyet néhány gettext-alapú programcsomag létrehozó rendszer használ, hogy ellenőrizze, mely nyelvterületi fájlokat hozták létre és melyeket telepítették. A változó a helyközzel elválasztott nyelvkódok listájába kerül. A beállítás javasolt helye a /etc/portage/make.conf fájlban van:

root #nano -w /etc/portage/make.conf
## (Add in the LINGUAS variable. For instance, for German, Finnish and English:)
LINGUAS="de fi en"

Vegye figyelembe, hogy nagy különbség van a LINGUAS változó nem beállítása, és az üres értékre történő beállítása között: az LINGUAS változó nem beállítása azt jelenti, hogy telepíteni kell az összes rendelkezésre álló nyelvet. Ezzel szemben a LINGUAS="" azt jelenti, hogy a legtöbb ebuild-ek csak a programcsomagok alapértelmezett nyelveit telepítik, de a LC_MESSAGES fájlok nem fognak települni.

Note
A LINGUAS változó helytelen beállítása egyes alkalmazások, például a KDE plazma és annak alkalmazásainak hiányos fordításához vezethet. Amennyiben ezzel a problémával szembesül, akkor próbálja meg eltávolítani a LINGUAS változókat, és ezt követően próbálja meg újból létrehozni a kapcsolódó programcsomagokat.

L10N

Egy L10N nevű USE_EXPAND változó dönti el, hogy mely extra nyelvterület támogatás lesz telepítve. Ezt általában további nyelvi csomagok csomagonkénti letöltésére használják. A LINGUAS változóhoz hasonlóan, ez a változó is szóközzel elválasztott nyelvi címkéket foglal magában, és beállítható az /etc/portage/make.conf fájlban:

root #nano -w /etc/portage/make.conf
## (Add in the L10N variable. For instance, for German and Brazilian Portuguese:)
L10N="de pt-BR"

A programcsomagonkénti beállítás érdekében szerkessze az /etc/portage/package.use fájlt, és előtagozza a kért nyelvcsomagokat az "l10n_" jelöléssel, a következő példában látható módon:

FILE /etc/portage/package.use
app-text/aspell l10n_de l10n_pt-BR

Vegye figyelembe, hogy míg a közös két nyelvkód (például a de vagy a fr) azonos a LINGUAS változóban és az L10N változóban, a bonyolultabb bejegyzések eltérő szintaxissal rendelkeznek, mivel az L10N IETF nyelvi címkéket használ (más néven BCP 47 címkék). Például a LINGUAS változóban a pt_BR jelölés és a sr@latin jelölés a L10N változóban átalakul pt-BR jelölésre és sr-Latn jelölésre.

A felhasználható L10N értékeinek a listáját a /var/db/repos/gentoo/profiles/desc/l10n.desc fájlban adjuk meg:

user $grep -i portuguese /var/db/repos/gentoo/profiles/desc/l10n.desc
pt - Portuguese
pt-BR - Portuguese (Brazil)
pt-PT - Portuguese (Portugal)

A USE_EXPAND változó L10N változójának a beállítása után szükség lehet néhány programcsomag újbóli létrehozására:

root #emerge --ask --changed-use --deep --with-bdeps=y @world

További olvasnivaló a témában

Külső források

Hivatkozások


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Alexander Holler, Steven Lucy, Benny Chuang, Lars Weiler, Tobias Scherbaum, Flammie Pirinen, , Francisco Blas Izquierdo Riera (klondike)
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.