Nyelvterület beállítása / Útmutató
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. |
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.
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ó.
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
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.
/etc/env.d/02locale
A rendszer alapértelmezett nyelvterületének a beállítása az /etc/env.d/02locale fájlbanLANG="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:
~/.bashrc
A felhasználó nyelvterületének a beállításaexport LANG="de_DE.UTF-8"
export LC_COLLATE="C.UTF-8"
~/.profile
A felhasználó nyelvterület beállítása az X alkalmazások számáraexport 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:
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.
/etc/conf.d/keymaps
A parancssor billentyűzetkiosztásának a beállításakeymap="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
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.
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:
/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
- Nyelvterületi beállítások konfigurálása - Gentoo kézikönyvben található leírás
- Billentyűzetkiosztás - Az Evdev cikkben
- X erőforrások - Az X-szerver erőforrásai
- Localization/Guide/The Euro symbol — how to display the Euro symbol (€) for the console and in X.
Külső források
- Nyelvterületek és nemzetköziesítés (gnu.org)
- L10N USE_EXPAND változó a LINGUAS változó helyére
- Michał Górny: Hogyan rossza a LINGUAS változó háromszor is!
- [gentoo-dev] [RFC] Hogyan kezeljük az LINGUAS zűrzavart?
- [gentoo-dev] [RFC] Mesterterv a LINGUAS változó megoldásaira
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.