Ghid Gentoo Linux pentru Localizare
1.
Zona de Fus Orar
Pentru a păstra ora corect, /etc/localtime trebuie să conţină zona
de fus orar corectă. Analizaţi conţinutul directorului
/usr/share/zoneinfo/ şi alegeţi zona dvs. de fus orar sau cea a
unui oraş mare apropiat. Vă rugăm să evitaţi zonele de fus din
/usr/share/zoneinfo/Etc/GMT* deoarece numele acestora nu indică
zonele presupuse. Spre exemplu, GMT-8 este, de fapt, GMT+8.
Cod 1.1: Setarea zonei de fus orar |
# cp /usr/share/zoneinfo/Europe/Bucharest /etc/localtime
# date
Sun Feb 16 08:26:44 EEST 2003
|
Notă:
Asiguraţi-vă că indicatorul de zonă de fus orar (în acest caz "EEST") este
corect pentru localizarea dvs. geografică.
|
Notă:
Puteţi seta valoarea variabilei TZ cu orice valoare de după
/usr/share/zoneinfo în fişierul rc al aplicaţiei dvs. shell
(.bash_profile pentru bash) pentru a avea o setare la nivel de
utilizator de sistem. În acest caz TZ="Europe/Bucharest".
|
2.
Ceasul Fizic
În majoritatea instalărilor Gentoo Linux, ceasul fizic al sistemului dvs.
este setat la UTC (sau GMT, Greenwich Mean Time) iar apoi zona dvs. de fus orar
este luată în considerare pentru a determina ora locală efectivă.
Dacă, din vreun motiv, doriţi ca ceasul fizic sistemului să nu fie
exprimat relativ la UTC, va trebui să editaţi /etc/conf.d/clock
şi să modificaţi valoarea variabilei CLOCK din UTC în
local.
Cod 2.1: ceasul exprimat local vs. GMT |
CLOCK="UTC"
CLOCK="local"
|
3.
Sistemul de localizări
Ce sunt localizările?
O Localizare este un set de informaţii utilizat de majoritatea programelor
pentru a determina setările de ţară şi limbă. Localizările şi datele
corespondente acestora fac parte din librăria sistem şi pot fi regăsite în
/usr/share/locale pe majoritatea sistemelor. Un nume de localizare
este, în general, de forma ab_CD, unde ab este codul de limbă
format din două (sau trei) litere (cum este specificat în ISO-639) şi CD
este codul de ţară format din două litere (cum este specificat în ISO-3166).
Variabilele de mediu pentru localizări
Setările de localizare sunt stocate în variabile de mediu. Acestea sunt, în mod
normal, setate în /etc/env.d/02locale (pentru setările relative la
sistem) şi în fişierul ~/.bashrc (pentru setările specifice
utilizatorilor de sistem). Variabilele, ce controlează diferitele aspecte ale
setărilor de localizare, sunt explicate în tabelul următor, cele cu cea mai
mare precedenţă (spre ex. cele care le suprascriu pe cele ulterioare) sunt în
partea superioară a tabelului. Toate variabilele iau ca valoare numele unei
localizări în formatul ab_CD specificat anterior.
| Numele variabilei |
Explicaţie |
| LC_ALL |
Defineşte toate localizările deodată. Aceasta este cea superioară setare
pentru localizări, ce va suprascrie orice altă setare.
|
| LC_COLLATE |
Defineşte ordinea alfabetică a şirurilor de caractere. Aceasta afectează,
spre ex., afişarea listei de directoare sortată
|
| LC_CTYPE |
Defineşte manipularea proprietăţilor caracterelor pentru sistem. Aceasta
determină ce caractere sunt recunoscute ca făcând parte din alfabet,
numerice şi aşa mai departe. Aceasta, de asemenea, determină setul de
caractere utilizat, dacă este cazul.
|
| LC_MESSAGES |
Localizările programelor pentru aplicaţiile ce utilizează localizări bazate
pe o schemă de mesaje (majoritatea programelor Gnu, consultaţi capitolele
următoare pentru mai multe informaţii despre cele care utilizează şi cum să
le faceţi să funcţioneze pe cele care nu utilizează).
|
| LC_MONETARY |
Defineşte unităţile şi formatul valorilor numerice ale tipului de monedă.
|
| LC_NUMERIC |
Defineşte formatul valorilor numerice ce nu fac parte din monedă. Afectează
formatul, cum ar fi cel al separatorului miilor şi separatorul pentru
zecimale.
|
| LC_TIME |
Defineşte formatul datelor şi orelor. |
| LC_PAPER |
Defineşte mărimea implicită a hărtiei de imprimantă. |
| LANG |
Defineşte toate localizările dintr-o dată. Aceasta setare poate fi
suprascrisă de setările individuale LC_* definite anterior sau chiar de
LC_ALL.
|
Notă:
Chiar dacă cele mai multe programe funcţionează doar cu LC_ALL, unele dintre
acestea au un comportament ciudat când LC_ALL este setat, dar LANG nu este.
Dacă doriţi să fiţi siguri, setaţi-le pe amândouă.
|
Majoritatea utilizatorilor setează doar variabila LANG şi, poate, variabila
LC_CTYPE la nivel de utilizator prin adăugarea definiţiilor în fişierele de
pornire automate ale aplicaţiilor shell sau prin definirea variabilelor de
mediu manual, din linie de comandă:
Cod 3.1: Setarea localizării în ~/.bashrc |
export LANG="ro_RO@euro"
|
Notă:
Adăugaţi @euro localizării dvs. pentru a putea utiliza simbolul monedei
Euro (€)
|
Este, de asemenea, posibil să setaţi o localizare generală pentru tot
sistemul pentru toţi utilizatorii şi programele:
Cod 3.2: Setarea localizării implicite în /etc/env.d/02locale |
LC_ALL="ro_RO@euro"
LANG="ro_RO@euro"
|
O practică comună este să utilizaţi setările de localizare doar pentru
utilizatori şi să lăsaţi localizarea sistemului nesetată. În acest
caz, localizarea sistemului implicită are o valoarea specială "C",
care indică localizarea în limba Engleză, din motive istorice.
Pentru ca localizarea bazată pe mesaje să funcţioneze în programele ce o
suportă, probabil va trebui să aveţi aceste programe compilate cu indicatorul
USE nls (Native language support - suport pentru limba nativă) activat.
Majoritatea programelor ce utilizează nls au, de asemenea, nevoie ca biblioteca
nls să extragă şi să utilizeze mesajele localizate. Bineînţeles, structura
Portage o va instala automat în momentul necesitării acesteia.
Odată ce aţi setat localizarea corectă, asiguraţi-vă că vă
actualizaţi variabilele dvs. de mediu pentru a vă asigura că sistemul va
recunoaşte modificările:
Cod 3.3: Actualizarea mediului |
# env-update && source /etc/profile
$ source ~/.bashrc
|
După aceasta va trebui să opriţi execuţia server-ului dvs. X prin
apăsarea Ctrl-Alt-Backspace, să efectuaţi log out, şi apoi să
efectuaţi login ca utilizator.
Acum, verificaţi că modificările au avut efect:
Cod 3.4: Verificaţi modificările de mediu |
$ env | grep -i LC_
|
Există, de asemenea, o variabilă de localizare denumită LINGUAS, ce
afectează fişierele de localizare instalate în programele gettext, şi
decide localizarea utilizată pentru anumite pachete, cum ar fi
kde-base/kde-i18n şi app-office/openoffice. Variabila ia ca
valoare o listă separată cu spaţiu de coduri de limbi, şi locul
recomandat pentru setarea acesteia este /etc/make.conf:
Cod 3.5: Setarea LINGUAS în make.conf |
# nano -w /etc/make.conf
LINGUAS="ro fi en"
|
Generarea Anumitor Localizări
Dacă utilizaţi o localizare ce nu este disponibilă implicit, ar trebui să
utilizaţi localedef pentru a vă genera localizarea. Spre exemplu:
Cod 3.6: Generarea unei localizări utilizând localedef |
# localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15
|
După ce aţi generat localizarea, puteţi exporta variabila LANG, după cum
urmează.
Cod 3.7: Exportarea variabilei LANG |
# export LANG="en_US.ISO-8859-15"
|
Asiguraţi-vă că vă actualizaţi mediul după efectuarea schimbărilor:
Cod 3.8: Actualizarea mediului |
# env-update && source /etc/profile
|
După aceasta va trebui să opriţi execuţia server-ului dvs. X prin
apăsarea Ctrl-Alt-Backspace, să efectuaţi log out, şi apoi să
efectuaţi login ca utilizator.
The userlocales USE flag
Veţi utiliza, probabil, doar una sau, poate, două localizări în sistemul dvs.
Până acum, după compilarea glibc un set complet ce conţinea toate
localizările era creat. Începând recent, puteţi activa indicatorul USE
userlocales şi să specificaţi doar localizările necesare, în
/etc/locales.build.
Cod 3.9: Activarea indicatorului USE userlocales special pentru glibc |
echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
|
Acum, specificaţi localizările pe care doriţi să le utilizaţi:
Cod 3.10: Adăugarea localizărilor în /etc/locales.build |
en_US/ISO-8859-1
en_US.UTF-8/UTF-8
ro_RO/ISO-8859-1
ro_RO@euro/ISO-8859-15
|
Următorul pas este să recompilaţi glibc. Bineînţeles, puteţi amâna acest
pas până la următoarea actualizare glibc este disponibilă.
4.
Dispunerea tastaturii pentru consolă
Dispunerea tastaturii utilizată de consolă este setată în
/etc/conf.d/keymaps de către variabila KEYMAP. Valorile
valide pot fi găsite în /usr/share/keymaps/{arch}/.
i386 conţine subdiviziuni pentru dispunere (qwerty/,
azerty/, etc.). Unele limbi au mai multe opţiuni, deci aţi putea
experimenta pentru a decide care vi se potriveşte cel mai bine.
Cod 4.1: Setarea dispunerii tastelor pentru consolă |
KEYMAP="ro_win"
|
5.
Dispunerea tastelor pentru aplicaţia server X
Dispunerea tastelor pentru a fi utilizată în aplicaţia server X este
specificată în /etc/X11/xorg.conf prin intermediul opţiunii
XkbLayout.
Cod 5.1: Setarea dispunerii tastaturii pentru X |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "ro"
#Option "XkbModel" "pc105"
#Option "XkbVariant" "nodeadkeys"
...
|
Dacă aveţi o tastatură cu dispunere internaţională, ar trebui să
setaţi opţiunea XkbModel la valoarea pc102 sau pc105,
deoarece aceasta vă va permite să asociaţi taste suplimentare specifice
tastaturii dvs.
Tastele inactive vă permit să apăsaţi taste ce nu vor fi arătate
imediat, dar vor fi combinate cu altă literă pentru a produce caractere ca
é,è,á,à,etc. Setarea XkbVariant la valoarea nodeadkeys vă
permite să tastaţi aceste caractere în terminale X.
Dacă doriţi să comutaţi între mai mult de o dispunere de tastatură
(spre exemplu Engleză şi Română), tot ce trebuie să faceţi este să
adăugaţi câteva linii în xorg.conf ce specifică dispunerile
preferate şi comanda de comutare.
Cod 5.2: Comutarea între două dispuneri de tastatură |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "us,ro"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
|
Aici, XkbOptions vă permite să comutaţi între dispunerile de taste
doar prin apăsarea Alt-Shift. Aceasta va porni, de asemenea, şi
ledul Scroll Lock sau îl va opri, datorită opţiunii grp_led:scroll.
Acesta este un indicator vizual la îndemână pentru a determina ce dispunere
utilizaţi la un moment dat.
6.
KDE
Pentru KDE trebuie să instalaţi pachetul kde-base/kde-i18n. Kde-i18n
respectă variabila LINGUAS, descrisă anterior:
Cod 6.1: Instalarea mediului KDE localizat |
# nano -w /etc/make.conf
LINGUAS="ro"
# emerge kde-i18n
|
7.
Simbolul Euro pentru Consolă
Pentru a seta consola să afişeze simbolul Euro, va trebui să setaţi
CONSOLEFONT în /etc/conf.d/consolefont cu valoarea numelui
unui fişier ce se află în /usr/share/consolefonts/ (fără
.psfu.gz). lat9w-16 conţine simbolul Euro.
Cod 7.1: Setarea fontului din consolă |
CONSOLEFONT="lat9w-16"
|
Ar trebui să verificaţi că CONSOLEFONT este prezent în nivelul de
iniţializare boot:
Cod 7.2: Verificaţi nivelul de execuţie corect |
# rc-update show | grep -i consolefont
|
Dacă nici un nivel de execuţie este afişat pentru CONSOLEFONT,
atunci adăugaţi-l în nivelul de execuţie corect:
Cod 7.3: Adăugarea consolefont la nivelul boot |
# rc-update add consolefont boot
|
8.
Simbolul Euro în X
Majoritatea Aplicaţiilor
Activarea simbolului Euro ca funcţionalitate în X este puţin mai dificil.
Primul pas este să modificaţi definiţiile fixed şi variable din
/usr/X11R6/lib/X11/fonts/misc/fonts.alias pentru a se termina cu
iso8859-15 în locul iso8859-1.
Cod 8.1: Setarea fonturilor implicite în X |
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
|
Unele aplicaţii utilizează fontul propriu şi va trebui să le specificaţi
separat să utilizeze un font cu simbolul Euro. Puteţi face acest lucru la
nivelul specific utilizator în .Xdefaults (puteţi copia acest
fişier în /etc/skel/ pentru a putea fi utilizat de utilizatorii
noi) sau la nivel global pentru orice aplicaţie în
/usr/X11R6/lib/X11/app-defaults/ (cum ar fi xterm). În aceste
fişiere trebuie, în general, să modificaţi o linie deja existentă, în locul
adăugării uneia noi. Pentru a modifica fontul nostru xterm, spre exemplu:
Cod 8.2: Setarea fonturilor în xterm |
$ echo 'XTerm*font: fixed' >> .Xresources
$ xrdb -merge .Xresources
|
Simbolul Euro în (X)Emacs
Pentru a utiliza simbolul Euro în (X)Emacs, adăugaţi următoarea linie în
.Xdefaults:
Cod 8.3: setarea fontului pentru emacs |
Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
|
Pentru XEmacs (nu Emacs), trebuie să efectuaţi mai multe setări. În
/home/user/.xemacs/init.el, adăugaţi:
Cod 8.4: Setarea fontului pentru xemacs |
(define-key global-map '(EuroSign) '[€])
|
Notă:
Simbolul între paranteze pătrate este simbolul Euro.
|
OpenOffice.org
Fişierele ebuild ale versiunilor curente stabile ale
app-office/openoffice şi app-office/openoffice-bin suportă
variabila LINGUAS pentru selectarea pachetele de
localizare pentru mediul GUI, instalate. Pentru a vedea stadiul traducerilor
mediului GUI, alinierea, verificarea sintaxei şi alte localizări pentru
limba dvs., vă rugăm să vizitaţi site-ul oficial al
localizărilor pentru OpenOffice.Org.
|