UNIX / Linux rendszereken ezt a beállítást POSIX [7] lokáloknak hívják, és IEEE Std 1003 néven szabványosítják.1-2017 [3]. Egy ilyen területi beállítás a rendszer egészében változhat, és az egyetlen felhasználó fiókok, mivel minden egyes felhasználó egyedivé teheti munkakörnyezetét. Ebben a cikkben elmagyarázzuk Önnek, hogyan kell kitalálni a Debian GNU / Linux aktuális területi beállításait, megérteni az egyes beállító csavarokat, és hogyan kell a rendszert az Ön igényeihez igazítani.
Ne feledje, hogy ez a cikk a Debian GNU / Linux 10-es „Buster” kiadásához készült. Hacsak másként nem jelezzük, az itt leírt technikák az olyan származékai esetében is működnek, mint az Ubuntu vagy a Linux Mint [8].
Mi a területi beállítás?
Általánosságban elmondható, hogy a területi beállítás olyan értékek összessége, amelyek tükrözik egy ország vagy egy kultúra természetét és szokásait. Többek között ezeket az értékeket környezeti változókként tárolják, amelyek a nyelvet, a karakterkódolást, a dátum és az idő formátumát, az alapértelmezett papírméretet, az ország pénznemét, valamint a hét első napját képviselik.
Amint azt korábban érintettük, van egy általános beállítás, amelyet „alapértelmezett területi beállításnak” neveznek, és egy felhasználó által definiált beállítás. Az alapértelmezett területi beállítás az egész rendszeren működik, és az / etc / default / locale fájlban van tárolva. Az 1. felsorolás az alapértelmezett területi beállítást jeleníti meg egy Debian GNU / Linux-on, amely a németet használja fő nyelvként, és 8 bites unicode-ot (UTF-8) karakterkészletként [11].
1. lista: Az alapértelmezett területi beállítás egy német Debian GNU / Linux rendszeren
$ cat / etc / default / locale # Az update-locale által létrehozott fájl LANG = “de_DE.UTF-8 ”$ --Felhívjuk figyelmét, hogy a Debian GNU / Linux rendszerrel ellentétben néhány korábbi Ubuntu verzióban a rendszerszintű területi beállítások az / etc / locale helyen vannak tárolva.konf.
A felhasználó által megadott beállításokat rejtett fájlként tárolja a saját könyvtár, és az aktuálisan kiértékelt fájlok az Ön által használt bejelentkezési héjtól függenek [6]. A hagyományos Bourne shell (/ bin / sh) [4] beolvassa a két fájlt / etc / profile és ~ /.profil, míg a Bourne-Again héj (Bash) (/ bin / bash) [5] az / etc / profile és ~ /.bash_profile. Ha a bejelentkezési héja Z shell (/ bin / zsh) [9], a két fájl ~ /.zprofile és ~ /.zlogin olvasható, de nem ~ /.profil, hacsak nem hívják meg Bourne shell-emulációs módban [10].
Héj indítása egy meglévő munkamenet termináljában interaktív, bejelentkezés nélküli héjat eredményez. Ez a következő fájlok elolvasását eredményezheti - ~ /.bashrc a Bash, és / etc / zshrc, valamint a ~ /.zshrc a Z shell számára [6].
Terület megnevezése
Amint itt kifejtettük [12], a területi beállítás neve egy meghatározott mintát követ. A minta nyelvi kódokból, karakterkódolásból és egy kiválasztott változat leírásából áll.
A név ISO 639-1 kisbetűs kétbetűs nyelvi kóddal kezdődik [13], vagy ISO 639-2 hárombetűs nyelvkóddal [14] kezdődik, ha a nyelvnek nincs kétbetűs kódja. Például ez a német, fr a francia és a cel a kelta esetében. A kódot sok, de nem az összes nyelv után aláhúzás _ és ISO 3166 nagybetűs, kétbetűs országkód követi [15]. Például ez a svájci németnél de_CH-hoz, a kanadai felhasználók számára pedig valószínűleg Québecben található fr_CA-hoz vezet egy francia nyelvű rendszerhez.
Opcionálisan egy pont . az UTF-8 vagy az ISO-8859-1 kódolású karakter nevét követi, a @ jelet pedig egy változat neve követi. Például az [e-mail védett] név leírja egy angol rendszer beállítását Írországban, UTF-8 karakterkódolással, és az eurót mint pénznem szimbólumot.
Parancsok és eszközök
A lokálokkal kapcsolatos parancsok száma viszonylag alacsony. A lista olyan területi beállításokat tartalmaz, amelyek pusztán az aktuális területi beállításokat jelenítik meg. A második a localectl, amely lekérdezésre és a rendszer területi beállításainak és a billentyűzetkiosztás beállításainak megváltoztatására használható. A területi beállítás aktiválásához a dpkg-configure és a locale-gen eszközök jönnek létre - lásd az alábbi példát.
Mutassa meg a használt területi beállításokat
Az első lépés a következőképpen kell kitalálni a rendszer aktuális területi beállításait:
2. lista: Az aktuális területi beállítás megjelenítése
$ locale LANG = de_DE.UTF-8 NYELV = LC_CTYPE = “de_DE.UTF-8 ”LC_NUMERIC =“ de_DE.UTF-8 ”LC_TIME = “de_DE.UTF-8 ”LC_COLLATE =“ de_DE.UTF-8 ”LC_MONETARY =“ de_DE.UTF-8 ”
LC_MESSAGES = “de_DE.UTF-8 ”LC_PAPER =“ de_DE.UTF-8 ”LC_NAME =“ de_DE.UTF-8 ”
LC_ADDRESS = “de_DE.UTF-8 ”LC_TELEPHONE =“ de_DE.UTF-8 ”LC_MEASUREMENT =“ de_DE.UTF-8 ”
LC_IDENTIFICATION = “de_DE.UTF-8 ”LC_ALL = $ --
Felhívjuk figyelmét, hogy a Debian GNU / Linux kivételével más Linux disztribúciók további, a fentiekben fel nem sorolt környezeti változókat is használhatnak. Az egyes változók jelentése a következő:
- LANG: Meghatározza az alapértelmezett területi beállításokat más területi beállításokkal kapcsolatos környezeti változók hiányában
- NYELV: A tartalék üzenetek fordítási nyelveinek listája
- LC_CTYPE: Karakterosztályozás és esetkonverzió
- LC_NUMERIC: Numerikus formázás
- LC_TIME: Dátum és idő formátumok
- LC_COLLATE: Sorrend (rendezés)
- LC_MONETARY: Monetáris formázás
- LC_MESSAGES: Interaktív szavak és válaszok formátuma
- LC_PAPER: Alapértelmezett papírméret a régióhoz
- LC_NAME: Név formátumok
- LC_ADDRESS: Az utcai vagy postai címek formázására használt egyezmény
- LC_TELEPHONE: A telefonszámok ábrázolására használt egyezmények
- LC_MEASUREMENT: A régión belül használt alapértelmezett mérőrendszer
- LC_IDENTIFICATION: A területi információk metaadatai
- LC_RESPONSE: Meghatározza, hogy a válaszok (például az Igen és a Nem) hogyan jelennek meg a helyi nyelven (nem a Debian GNU / Linux, hanem az Ubuntu használja)
- LC_ALL: Felülírja az összes többi területi változót (a LANGUAGE kivételével)
Sorolja fel az elérhető nyelveket
Ezután felsorolhatja a rendszeren elérhető elérhető nyelveket a locale paranccsal, az -a opcióval együtt. -az a rövid az -all-loces kifejezésre:
3. lista: Az elérhető nyelvek megjelenítése
$ locale -a C C.UTF-8 de_DE @ euro de_DE.utf8 hu_HU.utf8 POSIX $ --A 3. lista két területi beállítást tartalmaz mind a német (Németország), mind az angol (USA) számára. A három C, C bejegyzés.Az UTF-8 és a POSIX szinonimák és az alapértelmezett beállításokat jelentik, amelyek megfelelnek a számítógépes program által elemzett adatoknak. A 3. lista kimenete a / usr / share / i18n / TÁMOGATOTT könyvtárban tárolt támogatott nyelvek listáján alapul.
Ezenkívül a -v (rövidítve: -verbose) opció hozzáadása a híváshoz sokkal kiterjedtebb kimenethez vezet, amely tartalmazza az LC_IDENTIFICATION metaadatokat az egyes területi beállításokról. Az 1. ábra ezt mutatja a 3. listából érkező hívás esetén.
Annak érdekében, hogy lássa, melyik lokalizáció már létezik, és melyeknek további segítségre van szüksége a teljesítéshez, megtekintheti a Locale Helper Projekt térképét is [20]. A piros jelölők egyértelműen megmutatják, hogy mely helyek vannak befejezetlen. A 2. ábra Dél-Afrika lokalizációit mutatja, amelyek teljesnek tűnnek.
Az elérhető karaktertérképek megjelenítése
A locale parancs az -m opcióval érkezik, amely rövid a -charmaps kifejezésre. A kimenet az elérhető karaktertérképeket vagy karakterkészlet leíró fájlokat mutatja [16]. Egy ilyen fájl célja, hogy „meghatározza a kódolt karakterkészlet jellemzőit és a hordozható karakterkészletben megadott karakterek kódolását, és meghatározhatja a megvalósítás által támogatott további karakterek kódolását” [16]. A 4. lista ezt szemlélteti a teljes lista kivonatával.
4. lista: Karakterkészlet leíró fájlok
$ locale -m ANSI_X3.110-1983 ANSI_X3.4-1968 ARMSCII-8 ASMO_449 BIG5 BIG5-HKSCS… $ --Mutassa meg a területi változók definícióit
Minden területi beállításhoz használt változó saját definícióval rendelkezik. A -k (rövid a -keyword-name) rövidítéssel a területi beállítás parancs részletesen megjeleníti ezt a beállítást. Az 5. lista ezt szemlélteti az LC_TELEPHONE változó esetében, mivel az német környezetben van meghatározva - a telefonszám formátuma, a hazai telefonformátum, a nemzetközi választási kód, valamint az országkód (nemzetközi előtag) és a kódkészlet. Az értékek részletes leírását lásd a Locale Helper Projektben [20].
5. lista: Az LC_TELEPHONE részletei
$ locale -k LC_TELEPHONE tel_int_fmt = “+% c% a% l” tel_dom_fmt = “% A% l”int_select = “00” int_prefix = “49” telefon-kódkészlet = “UTF-8” $ --
Az aktuális területi beállítás módosítása
A területi beállítással kapcsolatos ismeretek szükségessé válnak, amint futtat egy olyan rendszert, amely más területtel rendelkezik, mint amit megszokott - például egy Linux élő rendszeren. A területi beállítások megváltoztatása kétféle módon történhet: a Debian locales csomag [19] újrakonfigurálása és a szükséges locale hozzáadása a locale-gen paranccsal. Az első opciónál a következő parancs futtatása megnyitja a 3. ábrán látható szöveges konfigurációs párbeszédpanelt:
# dpkg-configure locales
Nyomja meg a szóközt, hogy kiválassza a kívánt nyelv (ek) et a párbeszédpanelen megjelenő listából, majd válassza az „OK” lehetőséget a választás megerősítéséhez. A következő párbeszédablak felajánlja az alapértelmezett területi beállítások számára elérhető területi beállításokat. Válassza ki a kívánt elemet, majd válassza az „OK” lehetőséget. Most a megfelelő területi fájlok jönnek létre, és az előzőleg kiválasztott területi beállítások be vannak állítva a rendszer számára.
A második opciónál a kívánt területi beállítás előállítása a locale-gen parancs segítségével történik. A 6. lista ezt szemlélteti egy francia beállítás esetén:
6. lista: Francia nyelv előállítása
locale-gen fr_FR.UTF-8Területkészítés… fr_FR.UTF-8… kész A generáció kész. # --
A korábban létrehozott területi beállítás alapértelmezettként történő használatához futtassa a 7. lista parancsát a megfelelő beállításhoz:
7. lista: A területi beállítás kézi beállítása
# update-locale LANG = fr_FR.UTF-8Amint megnyit egy új terminál munkamenetet, vagy újra bejelentkezik a rendszerbe, a módosítások aktiválódnak.
Fordítson területi meghatározási fájlt
A localectl parancs segít a területi beállításdefájl kézi fordításában. Francia beállítás létrehozásához futtassa a következő parancsot:
8. lista: Állítson össze egy területi meghatározást
# localedef -i fr_FR -f UTF-8 fr_FR.UTF-8Következtetés
A lokálok megértése eltarthat egy ideig, mivel ez egy olyan beállítás, amelyet több tényező befolyásol. Elmagyaráztuk, hogyan kell kitalálni az aktuális területi beállításokat, és hogyan kell megfelelően megváltoztatni. A Linux rendszer igényeinek való megfelelés ezentúl sokkal könnyebb lesz az Ön számára.
Linkek és hivatkozások
- [1] Nyelv, Debian Wiki
- [2] ChangeLanguage, Hogyan lehet megváltoztatni a Debian rendszer nyelvét
- [3] POSIX Locale, The Open Group Base Specifications, 2018. évi 7. kiadás
- [4] Bourne-héj, Wikipédia
- [5] Bourne-Again héj, Wikipédia
- [6] Különbség a bejelentkezési héj és a nem bejelentkezési héj között?, StackExchange
- [7] Hordozható operációs rendszer interfész (POSIX), Wikipédia
- [8] Linux pénzverde
- [9] Z shell, Wikipédia
- [10] Zsh Shell beépített parancsok
- [11] UTF-8, Wikipédia
- [12] Mire kell beállítanom a területi beállításomat, és ennek milyen következményei vannak?
- [13] ISO 639-1, Wikipédia
- [14] ISO 639-2, Wikipédia
- [15] ISO 3166, Wikipédia
- [16] Karakterkészlet Leíró fájlok
- [17] Nyelv, Ubuntu Wiki
- [19] lokalizálja a Debian csomagot
- [20] Helyi segítő projekt