Na UNIX / Linux sustavima ova se postavka naziva POSIX [7] lokalizacija i standardizirana je kao IEEE Std 1003.1-2017 [3]. Takav lokalitet može se razlikovati za sustav u cjelini, a računi jednog korisnika jer svaki pojedinačni korisnik može individualizirati svoje radno okruženje. U ovom ćemo vam članku objasniti kako shvatiti trenutne postavke lokalnog jezika na Debian GNU / Linuxu, kako razumjeti njegove pojedinačne vijke za podešavanje i kako prilagoditi sustav vašim potrebama.
Imajte na umu da je ovaj članak prilagođen Debian GNU / Linux izdanju 10 “Buster”. Ako nije drugačije navedeno, ovdje opisane tehnike rade i za njegove derivate kao što su Ubuntu ili Linux Mint [8].
Što je lokalizacija?
Općenito govoreći, lokalitet je skup vrijednosti koji odražavaju prirodu i konvencije države ili kulture. Između ostalog, ove su vrijednosti pohranjene kao varijable okruženja koje predstavljaju jezik, kodiranje znakova, oblikovanje datuma i vremena, zadanu veličinu papira, valutu zemlje kao i prvi dan u tjednu.
Kao što smo već spomenuli, postoji općenita postavka poznata kao 'zadani jezik' i korisnička postavka. Zadana lokalizacija funkcionira na cijelom sustavu i pohranjuje se u datoteku / etc / default / locale. Popis 1 prikazuje zadani lokalni jezik na Debian GNU / Linuxu koji koristi njemački kao glavni jezik i 8-bitni unicode (UTF-8) kao skup znakova [11].
Popis 1: Zadana lokalizacija na njemačkom Debian GNU / Linuxu
$ cat / etc / default / locale # Datoteka koju generira update-locale LANG = “de_DE.UTF-8 ”$ --Imajte na umu da se za razliku od Debian GNU / Linuxa, u nekim ranijim verzijama Ubuntu-a, postavka lokalnog jezika za cijeli sustav pohranjuje na / etc / locale.konf.
Korisnički definirane postavke pohranjuju se kao skrivena datoteka u vašem kućnom direktoriju, a stvarne datoteke koje se procjenjuju ovise o ljusci za prijavu koju koristite [6]. Tradicionalna Bourneova ljuska (/ bin / sh) [4] čita dvije datoteke / etc / profile i ~ /.profil, dok ljuska Bourne-Again (Bash) (/ bin / bash) [5] čita / etc / profile i ~ /.bash_profile. Ako je vaša prijavna ljuska Z ljuska (/ bin / zsh) [9], dvije datoteke ~ /.zprofile i ~ /.zlogin se čitaju, ali ne ~ /.profil, osim ako se ne pozove u načinu emulacije Bournove ljuske [10].
Pokretanje ljuske u terminalu u postojećoj sesiji rezultira interaktivnom ljuskom koja se ne prijavljuje. To može rezultirati čitanjem sljedećih datoteka - ~ /.bashrc za Bash i / etc / zshrc kao i ~ /.zshrc za Z ljusku [6].
Imenovanje lokaliteta
Kao što je ovdje objašnjeno [12], naziv lokaliteta slijedi određeni obrazac. Uzorak se sastoji od jezičnih kodova, kodiranja znakova i opisa odabrane varijante.
Naziv započinje ISO 639-1 malim slovnim kodom od dva slova [13] ili ISO 639-2 troslovnim jezičnim kodom [14] ako jezik nema dvoslovni kod. Na primjer, to je de za njemački, fr za francuski i cel za keltski. Kôd za mnoge, ali ne i za sve jezike, slijedi donja crta _ i dvoslovni kod države ISO 3166 s velikim slovom [15]. Na primjer, ovo dovodi do de_CH za švicarski njemački i fr_CA za sustav koji govori francuski jezik za kanadskog korisnika koji će se vjerojatno nalaziti u Québecu.
Po želji, točka . slijedi ime kodiranja znakova kao što je UTF-8 ili ISO-8859-1, a znak @ slijedi ime varijante. Na primjer, naziv [zaštićen e-poštom] opisuje postavke engleskog sustava za Irsku s UTF-8 kodiranjem znakova i eura kao simbola valute.
Naredbe i alati
Broj naredbi povezanih s lokalnim jezicima relativno je nizak. Popis sadrži lokalizaciju koja čisto prikazuje trenutne postavke lokalizacije. Drugi je localectl koji se može koristiti za postavljanje upita i promjenu postavki lokaliteta sustava i rasporeda tipkovnice. Da bi se aktivirao lokalni jezik, u igru ulaze alati dpkg-reconfigure i locale-gen - pogledajte primjer u nastavku.
Pokažite lokalitet koji se koristi
Prvi korak je utvrditi trenutnu lokalizaciju na vašem sustavu pomoću naredbe za lokalizaciju kako slijedi:
Popis 2: Prikažite trenutnu lokalizaciju
$ locale LANG = de_DE.UTF-8 JEZIK = 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 = $ --
Imajte na umu da druge distribucije Linuxa osim Debian GNU / Linuxa mogu koristiti dodatne varijable okruženja koje nisu gore navedene. Pojedinačne varijable imaju sljedeće značenje:
- LANG: Određuje zadani lokalni jezik u odsutnosti drugih varijabli okruženja povezanih s lokalnim jezikom
- JEZIK: Popis zamjenskih jezika za prijevod poruka
- LC_CTYPE: Klasifikacija znakova i pretvorba velikih i malih slova
- LC_NUMERIC: Numeričko oblikovanje
- LC_TIME: Formati datuma i vremena
- LC_COLLATE: Poredak (sortiranje)
- LC_MONETARY: Monetarno oblikovanje
- LC_MESSAGES: Format interaktivnih riječi i odgovora
- LC_PAPER: Zadana veličina papira za regiju
- LC_NAME: Oblici imena
- LC_ADDRESS: Konvencija koja se koristi za formatiranje uličnih ili poštanskih adresa
- LC_TELEPHONE: Konvencije koje se koriste za predstavljanje telefonskih brojeva
- LC_MEASUREMENT: Zadani mjerni sustav koji se koristi u regiji
- LC_IDENTIFICATION: Metapodaci o lokalnim podacima
- LC_RESPONSE: Određuje kako će se odgovori (poput Da i Ne) pojaviti na lokalnom jeziku (ne koristi ga Debian GNU / Linux, već Ubuntu)
- LC_ALL: Nadjačava sve ostale varijable lokalizacije (osim LANGUAGE)
Navedite dostupne lokalitete
Dalje, možete navesti dostupne lokalizacije na vašem sustavu pomoću naredbe za lokalizaciju popraćenu njegovom opcijom -a. -a je kratica za -all-locales:
Popis 3: Prikaži dostupne lokalitete
$ locale -a C C.UTF-8 de_DE @ euro de_DE.utf8 sr_US.utf8 POSIX $ --Popis 3 sadrži dvije postavke lokalnog jezika za njemački (Njemačka) i engleski (SAD). Tri unosa C, C.UTF-8 i POSIX su sinonimi i predstavljaju zadane postavke prikladne za podatke koje raščlanjuje računalni program. Izlaz na popisu 3 temelji se na popisu podržanih lokalizacija pohranjenih u / usr / share / i18n / SUPPORTED.
Nadalje, dodavanje opcije -v (skraćenica od -verbose) pozivu dovodi do puno opsežnijeg rezultata koji uključuje metapodatke LC_IDENTIFICATION o svakom lokalitetu. Slika 1 prikazuje to za poziv s popisa 3.
Da biste vidjeli koji lokalizirani jezici već postoje, a koji trebaju daljnju pomoć kako bi bili dovršeni, možete pogledati i mapu projekta Lokalni pomoćnik [20]. Crveni markeri jasno pokazuju koji su krajevi nedovršeni. Na slici 2. prikazani su krajevi Južne Afrike koji izgledaju prilično cjelovito.
Prikaži dostupne mape znakova
Lokalna naredba dolazi s opcijom -m koja je skraćenica od -charmaps. Izlaz prikazuje dostupne mape znakova ili datoteke opisa skupa znakova [16]. Takva datoteka namijenjena je „definiranju karakteristika za kodirani skup znakova i kodiranju za znakove navedene u Prijenosnom skupu znakova, a može definirati i kodiranje za dodatne znakove podržane implementacijom“ [16]. Popis 4 to ilustrira izvatkom cijelog popisa.
Popis 4: Datoteke opisa skupa znakova
$ locale -m ANSI_X3.110-1983 ANSI_X3.4-1968 ARMSCII-8 ASMO_449 BIG5 BIG5-HKSCS ... $ --Prikažite definicije lokalnih varijabli
Svaka varijabla koja se koristi za lokalizaciju dolazi sa svojom definicijom. Korištenjem opcije -k (kratica za -keyword-name) naredba za lokalizaciju detaljno prikazuje ovu postavku. Popis 5 to ilustrira za varijablu LC_TELEPHONE kako je definirana u njemačkom okruženju - format telefonskog broja, format domaćeg telefona, međunarodni kod za odabir kao i pozivni broj države (međunarodni prefiks) i skup kodova. Pogledajte detaljan opis vrijednosti u projektu Lokalni pomoćnik [20].
Popis 5: Pojedinosti LC_TELEPHONE
$ locale -k LC_TELEPHONE tel_int_fmt = “+% c% a% l” tel_dom_fmt = “% A% l”int_select = “00” int_prefix = “49” telefonski kod-kod = “UTF-8” $ --
Promjena trenutne lokacije
Znanje o lokalnom jeziku postaje neophodno čim pokrenete sustav koji dolazi s drugačijim lokalnim jezikom nego što ste navikli - na primjer, na Linux live sustavu. Promjena lokalizacije može se izvršiti na dva načina - rekonfiguracijom Debian paketa lokalizacija [19] i dodavanjem potrebne lokalizacije pomoću naredbe locale-gen. Za prvu mogućnost, izvođenjem sljedeće naredbe otvara se dijaloški okvir za konfiguraciju zasnovan na tekstu prikazan na slici 3:
# dpkg-rekonfiguriraj lokalitete
Pritisnite razmaknicu kako biste na popisu u dijaloškom okviru odabrali željene lokalitete, a zatim odaberite "U redu" da biste potvrdili odabir. Sljedeći dijaloški prozor nudi vam popis područja koja su dostupna za zadani jezik. Odaberite željeni i odaberite "OK". Sada se generiraju odgovarajuće datoteke lokalnog jezika, a prethodno odabrana lokalizacija postavlja se za vaš sustav.
Za drugu opciju generiranje željene lokalizacije vrši se uz pomoć naredbe locale-gen. Popis 6 ilustrira ovo za francusku postavku:
Popis 6: Generiranje francuskog jezika
locale-gen fr_FR.UTF-8Generiranje lokalizacija ... fr_FR.UTF-8 ... završeno Generacija završena. # --
Da biste koristili prethodno generiranu lokalizaciju kao zadanu, pokrenite naredbu na popisu 7 da biste je pravilno postavili:
Popis 7: Ručno postavljanje lokalizacije
# update-locale LANG = fr_FR.UTF-8Čim otvorite novu terminalsku sesiju ili se ponovo prijavite u svoj sustav, promjene se aktiviraju.
Sastavite datoteku definicije lokalnog jezika
Naredba localectl pomaže vam da ručno sastavite datoteku definicije lokalizacije. Da biste stvorili francusku postavku, pokrenite naredbu kako slijedi:
Popis 8: Sastavite definiciju lokalnog jezika
# localedef -i fr_FR -f UTF-8 fr_FR.UTF-8Zaključak
Razumijevanje lokalizacija može potrajati, jer je to postavka na koju utječe nekoliko čimbenika. Objasnili smo kako dokučiti vašu trenutnu lokalizaciju i kako je ispravno promijeniti. Od sada vam prilagođavanje Linux sustava vašim potrebama mora biti puno lakše.
Poveznice i reference
- [1] Locale, Debian Wiki
- [2] ChangeLanguage, Kako promijeniti jezik vašeg Debian sustava
- [3] POSIX Locale, Specifikacije otvorene grupe, izdanje 7, izdanje 2018
- [4] Bournova ljuska, Wikipedia
- [5] Školjka Bourne-Again, Wikipedia
- [6] Razlika između ljuske za prijavu i školjke koja nije za prijavu?, StackExchange
- [7] Prijenosno sučelje operativnog sustava (POSIX), Wikipedia
- [8] Linux Mint
- [9] Z ljuska, Wikipedia
- [10] Zsh Shell Builtin naredbe
- [11] UTF-8, Wikipedia
- [12] Na što bih trebao postaviti svoj lokalitet i koje su implikacije toga?
- [13] ISO 639-1, Wikipedia
- [14] ISO 639-2, Wikipedia
- [15] ISO 3166, Wikipedia
- [16] Datoteke s opisom skupa znakova
- [17] Locale, Ubuntu Wiki
- [19] lokalizira Debian paket
- [20] Projekt pomoćnika za jezik