---
title: 23. Fejezet - Honosítás - Az I18N/L10N használata és beállítása
part: III. Rész Rendszeradminisztráció
prev: books/handbook/virtualization
next: books/handbook/cutting-edge
showBookMenu: true
weight: 27
params:
  path: "/books/handbook/l10n/"
---

[[l10n]]
= Honosítás - Az I18N/L10N használata és beállítása
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:sectnumoffset: 23
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/handbook/l10n/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[[l10n-synopsis]]
== Áttekintés

A FreeBSD felhasználói földrajzi elhelyezkedésüket tekintve mindenhol megtalálhatóak a világon. Ebben a fejezetben ismertetjük a FreeBSD honosításához és idegennyelvre fordításához alkalmazható eszközöket, amelyek segítségével az angolt nem, vagy csak kevésbé ismerõ felhasználók is képesek lesznek komolyabban használni. Az i18n megvalósítása rengeteg szemszögbõl megközelíthetõ rendszer és alkalmazás szintjén egyaránt, ezért ahol szükséges, hivatkozni fogunk az odaillõ forrásokra.

A fejezet elolvasása során megismerjük:

* milyen nyelveket és nyelvi beállításokat találhatunk napjaink operációs rendszereiben;
* hogyan használjuk a nyelvi beállításokat a saját parancsértelmezõnkben;
* hogyan állítsuk be a konzolt az angolon kívül más nyelvekhez;
* hogyan használjuk ténylegesen az X Window Systemet a különbözõ nyelvekkel;
* hol olvashatunk többet az I18N-kompatibilis alkalmazások fejlesztésérõl.

A fejezet elolvasásához ajánlott:

* külsõ alkalmazáok telepítésének ismerete (crossref:ports[ports,Alkalmazások telepítése. csomagok és portok]).

[[l10n-basics]]
== Az alapok

=== Mi az I18N/L10N?

A fejlesztõk az I18N elnevezést az angol "internationalization" (idegennyelvûség) szóból származtatják, amiben a szám az elsõ és utolsó betû (az "I" és "N") közt állók mennyiségére utal. Ehhez hasonlóan keletkezett az L10N a "localization" (honosítás) kifejezésbõl. Ezek házasságából jöttek létre az I18N/L10N módszerei, protokolljai és mindazon alkalmazásai, melyekkel a felhasználók a választott nyelvüket használni tudják.

Az I18N alkalmazások céljak eléréséhez függvénykönyvtárakban implementált I18N készleteket használnak. Ezzel lehetõvé válik a fejlesztõik számára, hogy összegyûjtsék a programukban megjelenõ összes szöveget egyetlen állományba, majd azt külön lefordítsák a különbözõ nyelvekre. Mi is ezen konvenció követésére szeretnénk bíztatni minden programozót.

=== Miért használjuk az I18N/L10N-t?

Az I18N/L10N mindenhol jól jöhet, ahol idegennyelvû adatot akarunk megjeleníteni, bekérni vagy feldolgozni.

=== Milyen nyelveket támogat az I18N?

Az I18N és L10N nem korlátozódik a FreeBSD tudására. Jelenleg a világban beszélt legelterjedtebb nyelvek mindegyikét használhatjuk bennük. Csak hogy néhányat említsünk közülük: kínai, német, japán, koreai, francia, orosz, vietnámi és még sok más.

[[using-localization]]
== A honosítás használata

Az I18N minden adottságával együtt független a FreeBSD-tõl, egy egyezményes rendszer. Mindenkit bátorítunk arra, hogy segítse a FreeBSD-t ennek az egyezménynek a betartásában.

A honosítás beállításai három fõbb részre tagolhatóak: a nyelv kódja, az ország kódja és a kódolás. A nyelvi beállítások nevei is ezekbõl állnak össze, az alábbi séma szerint:

[.programlisting]
....
NyelviKód_OrszágKód.Kódolás
....

=== A nyelv és az ország kódja

Ha a FreeBSD (vagy bármilyen más, az I18N-t ismerõ) rendszert honosítani akarunk az adott nyelvre, akkor a felhasználónak ismernie kell az adott országra és nyelvre vonatkozó kódokat (az országkód fogja elárulni az alkalmazásnak, hogy a nyelv melyik változatát használja). Ezenkívül a böngészõk, SMTP/POP szerverek és webszerverek stb. is ennek alapján fognak döntéseket hozni. Íme néhány nyelv/ország kódja:

[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
| Nyelv/ország kódja
| Leírás

|en_US
|Angol - Egyesült Államok

|ru_RU
|Orosz - Oroszország

|zh_TW
|Hagyományos kínai - Tajvan
|===

=== Kódolások

Bizonyos nyelvek 8 bites, széles vagy több byte-os, nem ASCII kódolású karaktereket használnak, melyekrõl a man:multibyte[3] man oldalán olvashatunk részletesebben. Ezeket régebbi alkalmazások egyáltalán nem ismerik fel, és hibásan vezérlõkaraktereknek tulajdonítják. Az újabbak általában már felismerik a 8 bites karaktereket. A felhasználóknak az alkalmazásokat a széles vagy a több byte-os karakterek használatához vagy újra kell fordítaniuk, vagy pedig megfelelõen be kell állítaniuk, az implementációtól függõen. A széles vagy több byte-os karakterek beolvasásához és feldolgozásához a link:https://www.FreeBSD.org/ports/[FreeBSD Portgyûjtemény] nyelvenként tartalmaz különféle programokat. A konkrét részletek megértéséhez olvassuk el az érintett FreeBSD portok I18N dokumentációját.

Vagyis a felhasználóknak át kell nézniük az alkalmazáshoz tartozó dokumentációt, mivel ebbõl tudhatják meg, hogyan állítsák be ezeket megfelelõen vagy milyen értékeket adjanak át a configure/Makefile/fordító hármasnak.

Amiket esetleg érdemes lehet ezzel kapcsolatban észben tartanunk:

* A nyelvfüggõ egyszerû karakteres készletek (lásd man:multibyte[3]), például ISO8859-1, ISO8859-15, KOI8-R, CP437.
* A széles vagy több byte-os kódolások, például az EUC, Big5.

A karakterkészletek jelenleg elérhetõ listáját meg tudjuk tekinteni az http://www.iana.org/assignments/characters-sets[IANA adatbázisában].

[NOTE]
====
A FreeBSD helyettük X11-kompatibilis nyelvi kódolásokat használ.
====

=== I18N alkalmazások

A FreeBSD port- és csomagrendszerében az I18N alkalmazások a könnyebb felismerhetõség érdekében a nevükben tartalmazzák az `I18N` megnevezést. Nem minden esetben támogatják a szükséges nyelvet.

[[setting-locale]]
=== A nyelvi beállítások megadása

Általában elegendõ annyi, hogy a kívánt nyelvi beállítás nevét exportáljuk az általunk használt parancsértelmezõ `LANG` környezeti változójába. Ez megtehetõ a felhasználói könyvtárunkban található [.filename]#~/.login_conf#, vagy a felhasználói parancsértelmezõ indító állományában ([.filename]#~/.profile#, [.filename]#~/.bashrc#, [.filename]#~/.cshrc#). Nem szükséges a nyelvi beállítások részleteit, mint például az `LC_CTYPE`, `LC_CTIME` változókat, megadni. A pontosabb részleteket a FreeBSD adott nyelvre vonatkozó dokumentációjában találjuk meg.

A következõ két környezeti változót kell megadnunk az említett konfigurációs állományokban:

* A `LANG` változót a POSIX(R) man:setlocale[3] családjának
* A `MM_CHARSET` változót az alkalmazás MIME karakterkészletéhez

Ez magában foglalja a felhasználói parancsértelmezõ, az adott alkalmazás és az X11 beállítását.

==== A nyelvi beállítások megadásának módszerei

Két módszer létezik a nyelvi beállítások megadására, ezen kettõrõl fogunk a továbbiakban beszélni. Az elsõ (és egyben ajánlott) ezek közül a <<login-class,bejelentkezési osztály>>ban levõ környezeti változók beállítása, a második pedig környezeti változók hozzáadása a parancsértelmezõ rendszerszintû <<startup-file,indító állományá>>hoz.

[[login-class]]
===== Beállítás a bejelentkezési osztályokkal

Ezzel a módszerrel a nyelvi beállítás nevéhez és a MIME karakterkészlethez kötõdõ környezeti változókat az összes létezõ parancsértelmezõ számára csak egyszer kell megadnunk ahelyett, hogy külön mindegyikük indítóállományában szerepeltetnénk. A felhasználó a <<usr-setup,saját részét>> maga is elvégezheti, míg a <<adm-setup,rendszer szintjén>> adminisztrátori jogosultságokat igényel.

[[usr-setup]]
====== Felhasználói szintû beállítás

Íme példa gyanánt a felhasználó könyvtárában egy egyszerû [.filename]#.login_conf# állomány, amiben mind a két változót Latin-1 kódolásra állítottuk:

[.programlisting]
....
me:\
	:charset=ISO-8859-1:\
	:lang=de_DE.ISO8859-1:
....

Ebben a [.filename]#.login_conf# példában a változókat BIG-5 kódolású hagyomános kínai nyelvre állítjuk. Észrevehetjük, hogy itt sokkal több változó beállítására van szükségünk, mivel egyes szoftverek nem kezelik megfelelõen a nyelvi beállításokat kínai, japán és koreai nyelvek esetén.

[.programlisting]
....
# Azok a felhasználók, akik nem kívánnak tajvani pénz- vagy idõ formátumot
# használni, egyenként írják át a változókat
me:\
	:lang=zh_TW.Big5:\
	:setenv=LC_ALL=zh_TW.Big5:\
	:setenv=LC_COLLATE=zh_TW.Big5:\
	:setenv=LC_CTYPE=zh_TW.Big5:\
	:setenv=LC_MESSAGES=zh_TW.Big5:\
	:setenv=LC_MONETARY=zh_TW.Big5:\
	:setenv=LC_NUMERIC=zh_TW.Big5:\
	:setenv=LC_TIME=zh_TW.Big5:\
	:charset=big5:\
	:xmodifiers="@im=gcin": # a gcin beállítása XIM szerverként
....

A többit lásd a <<adm-setup,Rendszergazdai szintû beállítások>> résznél és a man:login.conf[5] man oldalon.

[[adm-setup]]
===== Rendszergazdai szintû beállítás

Ellenõrizzük, hogy a felhasználó [.filename]#/etc/login.conf# állományban szereplõ bejelentkezési osztálya a megfelelõ nyelvet állítja be. Gyõzõdjünk meg róla, hogy az alábbi beállítások helyet kapnak az [.filename]#/etc/login.conf# állományban:

[.programlisting]
....
nyelv_neve|A hozzáférés típusának leírása:\
	:charset=MIME_karakterkészlet:\
	:lang=nyelvi_beállítás_neve:\
	:tc=default:
....

Folytassuk tovább az elõbbi Latin-1-es példánk szerint:

[.programlisting]
....
nemet|Nemet felhasznalok hozzaferesei:\
	:charset=ISO-8859-1:\
	:lang=de_DE.ISO8859-1:\
	:tc=default:
....

Mielõtt megváltoztatnánk a felhasználók bejelentkezési osztályait, adjuk ki a következõ parancsot:

[source,shell]
....
# cap_mkdb /etc/login.conf
....

Ezzel a [.filename]#/etc/login.conf# új tartalma láthatóvá válik a rendszer számára.

===== A bejelentkezési osztály megváltoztatása a man:vipw[8] programmal

A `vipw` segédprogramot új felhasználók hozzáadására használjuk, aminek eredményeképpen egy ehhez hasonló bejegyzést tudunk létrehozni:

[.programlisting]
....
felhasznalo:jelszo:1111:11:nyelv:0:0:Felhasznalo neve:/home/felhasznalo:/bin/sh
....

===== A bejelentkezési osztály megváltoztatása az man:adduser[8]-rel

Az `adduser`-rel az alábbiak szerint tudunk új felhasználókat felvenni a rendszerbe:

* Adjuk hozzá a `defaultclass = nyelv` sort az [.filename]#/etc/adduser.conf#-hoz. Ne felejtsük el, hogy ezután minden olyan felhasználónál a `default` bejelentkezési osztályt meg kell adni, akik nem ezt a nyelvet használják.
* Egy másik megoldás lehet, hogy a man:adduser[8] használata során minden felhasználó esetén külön megadjuk a nyelvet az
+
[source,shell]
....
Enter login class: default []: 
....
+ 
rész megjelenésekor.
* Vagy használhatjuk az alábbit az egyes eltérõ nyelvû felhasználók hozzáadásánál:
+
[source,shell]
....
# adduser -class nyelv
....

===== A bejelentkezési osztály megváltoztatása a man:pw[8]-vel

Amennyiben a man:pw[8]-t használjuk új felhasználók hozzáadására, így érdemes meghívnunk:

[source,shell]
....
# pw useradd felhasználó_neve -L nyelv
....

[[startup-file]]
===== Beállítás a parancsértelmezõ indító állományával

[NOTE]
====
Ezt a módszert nem javasoljuk, mivel parancsértelmezõnként eltérõ beállítást kíván. Használjuk helyette a <<login-class,bejelentkezési osztályokkal megvalósított>> módszert.
====

A nyelvi beállítás nevének és a MIME karakterkészlet beállításához egyszerûen csak adjuk meg a lenti [.filename]#/etc/profile# és/vagy [.filename]#/etc/csh.login# parancsértelmezõ indító állományokban bemutatott környezeti változót. Továbbra is a német nyelvet használjuk a példánkban:

Az [.filename]#/etc/profile# esetén:

[.programlisting]
....
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO-8859-1; export MM_CHARSET
....

Vagy a [.filename]#/etc/csh.login# esetén:

[.programlisting]
....
setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO-8859-1
....

Úgy is megoldhatjuk ezt a feladatot, ha fenti utasításokat a [.filename]#/usr/shared/skel/dot.profile# (hasonló a fentebb említett [.filename]#/etc/profile# állományhoz) vagy [.filename]#/usr/shared/skel/dot.login# (hasonló a fentebb említett [.filename]#/etc/csh.login# állományhoz) esetén hajtjuk végre.

X11 esetén:

Adjuk meg a [.filename]#$HOME/.xinitrc# állományban:

[.programlisting]
....
LANG=de_DE.ISO8859-1; export LANG
....

Vagy:

[.programlisting]
....
setenv LANG de_DE.ISO8859-1
....

Attól függõen, milyen parancsértelmezõt használunk (lásd fentebb).

[[setting-console]]
=== A konzol beállítása

Az összes egyszerû karakteres készlet esetén a kérdéses nyelvhez megfelelõ konzolos betûtípust az [.filename]#/etc/rc.conf# állományban tudjuk beállítani:

[.programlisting]
....
font8x16=betûtípus_neve
font8x14=betûtípus_neve
font8x8=betûtípus_neve
....

Itt a _betûtípus_neve_ az [.filename]#.fnt# kiterjesztés elhagyásával a [.filename]#/usr/shared/syscons/fonts# könyvtárban található állományok nevébõl adható meg.

Ha szükséges állítsuk még be a megfelelõ billentyû- és betûkiosztást is a `sysinstall` segítségével. Ahogy sikerült elindítanunk a sysinstallt, válasszuk a [.guimenuitem]#Configure# (Beállítások) pontot, majd a [.guimenuitem]#Console# (Konzol)-t! Vagy ehelyett beírhatjuk az alábbi sorokat a [.filename]#/etc/rc.conf# állományba:

[.programlisting]
....
scrnmap=betûkiosztás_neve
keymap=billentyûkiosztás_neve
keychange="funkcióbillentyû_sorszáma szekvencia"
....

Itt a _betûkiosztás_neve_ a [.filename]#/usr/shared/syscons/scrnmaps# könyvtárban található állományok nevébõl származtatható az [.filename]#.scm# kiterjesztés elhagyásával. A betûkiosztásokat általában a 9 bites karaktermátrixszal rendelkezõ VGA megjelenítõk problémáinak megoldására lehet használni, mivel így az eredetileg 8 bittel ábrázolt betûket ki lehet tolni az ilyen típusú kártyák pszeudografikus területérõl.

Ha aktiváltuk a moused egérkezelõ démont az [.filename]#/etc/rc.conf# állományban az alábbi sor megadásával:

[.programlisting]
....
moused_enable="YES"
....

akkor a következõ bekezdésben rá is térhetünk az egérmutató adatainak vizsgálatára.

A man:syscons[4] meghajtóban található egérmutató alapértelmezés szerint a 0xd0 - 0xd3 karaktereket foglalja el a karakterkészletben. Ha a nyelv ezeket használja, arrébb kell költöztetnünk ezt az egérmutató által elfoglalt sávot. A FreeBSD-ben az [.filename]#/etc/rc.conf# állományon keresztül érhetjük el:

[.programlisting]
....
mousechar_start=3
....

A _billentyûkiosztás_neve_ a [.filename]#/usr/shared/syscons/keymaps# könyvtárból, a [.filename]#.kbd# kiterjesztés elhagyásával keletkezik. Ha nem vagyunk benne biztosak, melyik kiosztást is kellene használnunk, a man:kbdmap[1] segítségével a rendszer újraindítása nélkül kipróbálhatjuk a rendelkezésre álló billentyûkiosztásokat.

A `keychange` használatára többnyire a funkcióbillentyûk adott termináltípushoz egyeztetéséhez van szükség, mert a funkcióbillentyûk szekvenciái nem adhatóak meg a billentyûkiosztásban.

Ezeken felül érdemes megbizonyosodnunk róla, hogy a [.filename]#/etc/ttys# állományban jól állítjuk be a terminál típusát minden `ttyv*` bejegyzés esetén. Az aktuálisan elõre beállított kapcsolatok a következõk:

[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
| Karakterkészlet
| Termináltípus

|ISO8859-1 vagy ISO8859-15
|`cons25l1`

|ISO8859-2
|`cons25l2`

|ISO8859-7
|`cons25l7`

|KOI8-R
|`cons25r`

|KOI8-U
|`cons25u`

|CP437 (alapértelmezett VGA)
|`cons25`

|US-ASCII
|`cons25w`
|===

A széles és több byte-os karaktereket használó nyelvek esetén használjuk a [.filename]#/usr/ports/nyelv# könyvtárban megfelelõ FreeBSD portot. Egyes portok konzolosként jelennek meg, miközben a rendszer soros virtuális terminálként látja ezeket, ezért fenn kell tartanunk elegendõ virtuális terminált mind az X11, mind pedig pszeudo-soros konzol számára. Itt látható a konzolon más nyelvet használó alkalmazások részleges listája:

[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
| Nyelv
| Hely

|Hagyományos kínai (BIG-5)
|package:chinese/big5con[]

|Japán
|package:japanese/kon2-16dot[] vagy package:japanese/mule-freewnn[]

|Koreai
|package:korean/han[]
|===

=== Az X11 beállítása

Habár az X11 nem része a FreeBSD projektnek, megemlítünk vele kapcsolatban néhány hasznos információt a FreeBSD felhasználók számára is. Még több részletet a http://www.x.org/[Xorg honlapjáról] vagy az általunk használt X11 szerver dokumentációjából tudhatunk meg.

Az [.filename]#~/.Xresources# állományban további I18N beállításokat finomíthatunk alkalmazásonként (például betûtípusok, menük stb.).

==== Betûtípusok megjelenítése

Telepítsük fel az Xorg (package:x11-servers/xorg-server[]) vagy az XFree86(TM) (package:x11-servers/XFree86-4-Server[]) szerverek valamelyikét, majd telepítsük a nyelvhez tartozó TrueType(R) betûtípusokat. Ezután a megfelelõ nyelvi beállítása megadása révén már látni fogjuk a kiválasztott nyelven megjelenõ menüket és egyéb szövegeket.

==== Idegennyelvû karakterek bevitele

Az X11 beviteli módszerének (X11 Input Method, XIM) protokollja egy új szabvány az összes X11 klienshez. Minden X11 alkalmazást olyan XIM-kliensként kell elkészíteni, amelyek a bemenõ adatokat az XIM beviteli szerverektõl kapják. Különbözõ XIM szerverek érhetõek el az eltérõ nyelvekhez.

=== Nyomtatók beállítása

Egyes egyszerû karakteres készletek általában hardveresen beépítve megtalálhatóak a nyomtatókban. A széles és több byte-os karakterkészletek azonban külön beállítást igényelnek, amire az apsfilter használatát javasoljuk. A megfelelõ nyelvhez szabott eszközökkel át is lehet konvertálni PostScript(R) vagy PDF formátumba a nyomtatni kívánt dokumentumot.

=== A rendszermag és az állományrendszerek

A FreeBSD gyors állományrendszere (Fast File System, FFS) szabályosan kezeli a 8 bites karaktereket, tehát tetszõleges egyszerû karakteres készlet (lásd man:multibyte[3]) használható vele, viszont a karakterkészlet nevét nem tárolja el az állományrendszerben. Emiatt a neveket nyersen kezeli, semmit sem tud a kódolásukról. Az FFS hivatalosan még nem támogat semmilyen fajta széles vagy több byte-os karakterkészletet. Léteznek azonban független javítások az FFS-hez, amelyek lehetõvé teszik ilyen széles vagy több byte-os karakterek használatát. Ezek csak átmeneti és nem hordozható megoldások, olyan módosítások, amelyekrõl úgy döntöttünk, nem vesszük fel ezeket a forrásfába. Az érintett nyelvek honlapjain elérhetjük ezeket a javításokat és többet megtudhatunk róluk.

A FreeBSD MS-DOS(R) állományrendszere konfigurálható úgy, hogy képes legyen konvertálni az MS-DOS(R) Unicode és a kiválasztott FreeBSD állományrendszerének karakterkészlete között. Errõl bõvebben a man:mount_msdosfs[8] man oldalon olvashatunk.

[[l10n-compiling]]
== I18N programok fordítása

Számos FreeBSD port rendelkezik I18N támogatással. Ezek egy részének nevében szerepel az -I18N jelzés. Az ilyen és sok más hasonló program beépítetten ismeri az I18N-t, így nem igényelnek külön beállításokat.

Néhány alkalmazás azonban, mint például a MySQL, esetén az adott karakterkészletnek megfelelõ módon kell beállítani a [.filename]#Makefile# állományt. Ezt általában magában a [.filename]#Makefile# állományban tudjuk megtenni, vagy pedig a configure megfelelõ paraméterezésével.

[[lang-setup]]
== A FreeBSD honosítása adott nyelvekre

[[ru-localize]]
=== Az orosz nyelv (KOI8-R kódolás)

A KOI8-R kódolásról bõvebben a http://koi8.pp.ru[KOI8-R oldalán (orosz hálózati karakterkészlet)] tájékozódhatunk.

==== A nyelvi beállítások megadása

Írjuk a következõ sorokat a [.filename]#~/.login_conf# állományunkba:

[.programlisting]
....
me:Az en hozzaferesem:\
	:charset=KOI8-R:\
	:lang=ru_RU.KOI8-R:
....

Valamint lásd a fejezet korábbi részeiben említett példákat a <<setting-locale,nyelvi beállítások>> megadására.

==== A konzol beállítása

* Tegyük hozzá a következõ sort az [.filename]#/etc/rc.conf# állományunkhoz:
+
[.programlisting]
....
mousechar_start=3
....

* Illetve használjuk az [.filename]#/etc/rc.conf# állományban még a következõ beállításokat is:
+
[.programlisting]
....
keymap="ru.utf-8"
scrnmap="utf-82cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"
....

* A [.filename]#/etc/ttys# állományban szereplõ mindegyik `ttyv*` bejegyzésnél adjuk meg termináltípusnak a `cons25r`-t.

Valamint lásd a fejezet korábbi részében bemutatott példákat a <<setting-console,konzol>> beállítására.

==== A nyomtatás beállítása

Mivel a legtöbb nyomtató hardveresen tartalmazza a CP866 kódlapot az orosz karakterek támogatásához, használnunk kell egy kimeneti szûrõt a KOI8-R kódolású karakterek CP866 kódolásúra konvertálásához. Egy ilyen szûrõ alapértelmezés szerint telepítésre kerül a [.filename]#/usr/libexec/lpr/ru/koi2alt# állományba. Az orosz nyomtatóhoz tartozó bejegyzés valahogy így néz ki az [.filename]#/etc/printcap# állományban:

[.programlisting]
....
lp|Orosz helyi sornyomtato:\
	:sh:of=/usr/libexec/lpr/ru/koi2alt:\
	:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
....

A bõvebben magyarázathoz lásd a man:printcap[5] man oldalt.

==== Az MS-DOS(R) állományrendszere és az orosz állománynevek

A most következõ példa man:fstab[5] bejegyzés azt mutatja meg, hogy lehet bekapcsolni az orosz állománynevek támogatását a csatlakoztatandó MS-DOS(R) állományrendszereken:

[.programlisting]
....
/dev/ad0s2      /dos/c  msdos   rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0
....

Az `-L` kapcsolóval kiválasztjuk a használni kívánt nyelvi beállítás nevét, és a `-W` kapcsolóval megadjuk a karakterek átváltásához szükséges táblázatot. A `-W` kapcsoló használata során mindenképpen csatlakoztassuk a [.filename]#/usr# állományrendszert még az MS-DOS(R) partíció elõtt, mivel az átváltáshoz használt táblázatok a [.filename]#/usr/libdata/msdosfs# könyvtárban találhatóak meg! A részleteket a man:mount_msdosfs[8] man oldalon találhatjuk meg.

==== Az X11 beállítása

. Adjuk meg elõször a leírtak szerint a <<setting-locale,nem X-es nyelvi beállításokat>>.
. Ha Xorg-ot használunk, telepítsük a package:x11-fonts/xorg-fonts-cyrillic[] csomagot.
+ 
Ellenõrizzük a [.filename]#/etc/X11/xorg.conf# állományban a `"Files"` szakaszt. Az alábbi sort mindegyik más `FontPath` bejegyzés _elõtt_ kell szerepeltetnünk:
+
[.programlisting]
....
FontPath  "/usr/X11R6/lib/X11/fonts/cyrillic"
....
+
[NOTE]
====
A portok között találhatunk még további cirill betûtípusokat.
====

. Az orosz billentyûzet életre keltéséhez írjuk be a következõket az [.filename]#xorg.conf# állomány `"Keyboard"` szakaszába:
+
[.programlisting]
....
Option "XkbLayout"   "us,ru"
Option "XkbOptions"  "grp:toggle"
....
+ 
Ellenõrizzük, hogy a `XkbDisable` ki van kapcsolva (ki van kommentezve) ebben a szakaszban.
+ 
A `grp:toggle` beállítás esetén az orosz/latin (RUS/LAT) átkapcsolás gombja a kbd:[jobb Alt] lesz, míg a `grp:ctrl_shift_toggle` beállításnál a kbd:[Ctrl+Shift]. A `grp:caps_toggle` esetén az orosz/latin váltás a kbd:[CapsLock] billentyûvel történik. Ilyenkor (de csak latin módban) a megszokott kbd:[CapsLock] funkció továbbra is elérhetõ a kbd:[Shift+CapsLock] kombinációval. A `grp:caps_toggle` valamiért nem mûködik az Xorgban.
+ 
Ha van "Windows(R)" billentyûnk a billentyûzeten és azt tapasztaljuk, hogy egyes nem-alfabetikus billentyûk rosszul kerülnek kiosztásra orosz módban, adjuk hozzá a következõ sort az [.filename]#xorg.conf# állományhoz:
+
[.programlisting]
....
Option "XkbVariant" ",winkeys"
....
+
[NOTE]
====
Az orosz XKB billentyûzet egyes nem honosított alkalmazások esetén nem mûködik.
====

[NOTE]
====
A kis mértékben honosított alkalmazások esetén javasolt meghívni a `XtSetLanuageProc(NULL, NULL, NULL);` függvényt valahol a program elején.

Az X11 alkalmazások honosításához további útmutatásokat a http://koi8.pp.ru/xwin.html[KOI8-R X Window-ra] címû leírásban találhatunk.
====

=== Hagyományos kínai honosítás tajvaniak számára

A FreeBSD-Taiwan projekt készített a FreeBSD-hez egy kínainak szóló hogyant, amely elérhetõ a http://netlab.cse.yzu.edu.tw/\~statue/freebsd/zh-tut/[http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/] címen és számos kínai portot használ. A `FreeBSD kínai hogyan` jelenlegi szerkesztõje Shen Chuan-Hsing (mailto:statue@freebsd.sinica.edu.tw[statue@freebsd.sinica.edu.tw]).

Chuan-Hsing Shen (mailto:statue@freebsd.sinica.edu.tw[statue@freebsd.sinica.edu.tw]) létrehozta a http://netlab.cse.yzu.edu.tw/\~statue/cfc/[ Kínai FreeBSD gyûjteményt (Chinese FreeBSD Collection, CFC)] a FreeBSD-Taiwan `zh-L10N-tut` munkáját felhasználva. A hozzá tartozó csomagok és szkriptek elérhetõek a link:ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/[ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/] címen.

=== Honosítás német (és minden más ISO 8859-1 kódolású) nyelvre

Slaven Rezic (mailto:eserte@cs.tu-berlin.de[eserte@cs.tu-berlin.de]) készített egy írást, amely elmagyarázza, hogyan használjunk német nemzeti karaktereket a FreeBSD alatt. Ez a leírás németül készült és a http://user.cs.tu-berlin.de/\~eserte/FreeBSD/doc/umlaute/umlaute.html[http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html] címen érhetõ el.

=== Honosítás görög nyelvre

Nikos Kokkalis mailto:nickkokkalis@gmail.com[nickkokkalis@gmail.com] egy teljes cikket írt a FreeBSD görög nyelvi támogatásáról. Ez elérhetõ a FreeBSD hivatalos görög nyelvû dokumentációjában, a https://www.FreeBSD.org/doc/el/articles/greek-language-support/[https://www.FreeBSD.org/doc/el/articles/greek-language-support/] címen. Felhívjuk a figyelmet, hogy az _csak_ görög nyelven érhetõ el.

=== Honosítás japán és koreai nyelvekre

A japán honosításhoz lásd http://www.jp.FreeBSD.org/[http://www.jp.FreeBSD.org/], a koreaihoz pedig lásd http://www.kr.FreeBSD.org/[http://www.kr.FreeBSD.org/].

=== Idegennyelvû FreeBSD dokumentáció

Néhány FreeBSD felhasználó lefordította a FreeBSD dokumentációjának egyes részeit más nyelvekre is. Munkájuk elérhetõ a link:https://www.FreeBSD.org/[fõoldalon] található linkeken keresztül vagy a [.filename]#/usr/shared/doc# könyvtárban.
