Romanian-HOWTO

De la wiki.lug.ro
Salt la: navigare, căutare

Să ne facem Linuxul să vorbească și să scrie corect românește.

Cuprins

Introducere

Localizarea sistemului pentru limba română ridică mai multe probleme:

  • codificarea și afișarea corectă a tuturor literelor din alfabetul limbii române precum și a semnelor tipografice în uz
  • formatarea corectă a datelor, numerelor, etc
  • traducerea aplicațiilor
  • dicționare, corectoare ortografice, despărțire în silabe, thesaurus, etc


Codificare

În ceea ce privește codificarea setului de caractere folosit există mai multe standarde, care bineînțeles nu sunt direct compatibile:

  • coduri de pagină DOS/Windows - metoda IBM/Microsoft, nu asigură interoperabilitate cu alte sisteme. Extensie a setului ASCII. Nu mai este folosit (?).
  • Latin2 (ISO 8859-2) - cel mai vechi standard internațional care suportă aproximativ limba română. Este o extensie a setului ASCII la 8 biți, care include variante greșite ale literelor ș și ț în setul extins. Nerecomandat.
  • Latin10 (ISO 8859-16) - tot o extensie a ASCII, cu caracterele corecte. Nerecomandat, întrucât nu permite interoperabilitatea decât cu sisteme care folosesc această codificare.
  • Unicode (ex. UTF-8) - o serie de standarde care ar trebui să acopere toate sistemele de scriere ale pământului (semne grafice, metode de codificare, reguli de sortare și afișare, etc). Un standard dezvoltat în paralel este ISO/IEC 10646 care asignează valori numerice pentru semnele grafice (simplificat: litere) din repertoriul Unicode.

Standardul preferat este Unicode, în particular folosind codificarea UTF-8. UTF-8 este compact pentru alfabetele europene, necesitând un octet pentru caracterele ASCII standard și cel mult doi octeți pentru diacritice. Indiferent de reprezentarea internă a caracterelor într-o aplicație, dacă aceasta permite salvarea de fișiere în format UTF-8, este posibilă o bună interoperabilitate cu alte aplicații, indiferent de sistemul de operare. Problema codificării setului de caractere folosit pentru limba română este tratată exhaustiv aici

UTF-8 a fost dezvoltat original la Bell Labs, de aceeași echipă care a dezvoltat între altele și Unixul și limbajele de programare C și C++. Ca atare, suportul pentru UTF-8 în Linux este excelent. Majoritatea distribuțiilor Linux sunt setate implicit pentru UTF-8. În general acest lucru se poate verifica cu comanda locale:

$ locale
LANG=ro_RO.UTF-8
LC_CTYPE="ro_RO.UTF-8"
LC_NUMERIC="ro_RO.UTF-8"
LC_TIME="ro_RO.UTF-8"
LC_COLLATE="ro_RO.UTF-8"
LC_MONETARY="ro_RO.UTF-8"
LC_MESSAGES="ro_RO.UTF-8"
LC_PAPER="ro_RO.UTF-8"
LC_NAME="ro_RO.UTF-8"
LC_ADDRESS="ro_RO.UTF-8"
LC_TELEPHONE="ro_RO.UTF-8"
LC_MEASUREMENT="ro_RO.UTF-8"
LC_IDENTIFICATION="ro_RO.UTF-8"
LC_ALL=

(Notă: locala aleasă trebuie să fie deja instalată pe sistem, altfel veți avea parte de efecte ciudate)

Configurații mai complexe se pot obține prin modificarea individuală a variabilelor $LC_*.

Programe traduse

Setarea variabilei de mediu $LANG la ro_RO.UTF-8 va avea ca efect și activarea traducerilor în română (acolo unde acestea există). În anumite cazuri ar putea fi necesar să instalați pachete adiționale de limbă (din distribuție sau de la situl aplicației).

Vă rugăm nu uitați că traducerile în română sunt făcute în întregime de voluntari care lucrează la acestea în timpul liber (la fel ca tot restul sistemului). Orice contribuție este binevenită, chiar dacă este vorba doar de o mică greșeală de ortografie. Totuși nu uitați că aceste traduceri sunt făcute în primul rând pentru a ușura utilizarea calculatorului pentru necunoscătorii limbii engleze. Țineți cont de acest aspect dacă vă gândiți să propuneți păstrarea anumitor termeni în limba engleză.

Dacă totuși nu doriți ca programele să afișeze mesaje în română puteți configura variabila de mediu $LANGUAGE, de exemplu în ~/.bashrc:

export LANGUAGE=english

Emulatoare de terminal

Dacă folosiți intens emulatoare de terminal trebuie să știți că nu toate au suport pentru UTF-8. Din fericire toată gama bazată pe biblioteci GTK+/GNOME sau QT/KDE au suport corect. Dacă descoperiți unele care au probleme acesta este probabil un defect ce trebuie raportat și remediat, dar verificați mai întâi dacă fontul folosit conține toate caracterele necesare.

Dintre emulatoarele „clasice” se pare că doar xterm, rxvt-unicode (cunoscut și ca urxvt), mlterm și pterm au suport pentru UTF-8.

Fonturi

Majoritatea fonturilor care vin implicit cu X suportă toate caracterele limbii române și acoperă o gamă largă de familii de fonturi standard precum courier, helvetica, times. Acestea sunt din păcate fonturi bitmap și nu se scalează bine în programele de editare grafică. Totuși, pentru operații de editare text, programare, etc., acestea sunt fonturile de bază.

Există o serie de familii de fonturi TrueType (TTF) de bună calitate sub Linux cu suport pentru limba română. Aceste fonturi funcționează perfect pentru editări grafice. Dintre acestea amintim în primul rând familiile de fonturi DejaVu și Liberation, cea din urmă fiind compatibilă din punct de vedere metric cu fonturile Times New Roman, Arial și Curier New.

O listă de fonturi cu suport românesc, tipul lor și sursa:

Fonturi bitmapped:

Fonturi TrueType/OpenType (TTF/OTF):

Vezi și http://en.wikipedia.org/wiki/Open-source_Unicode_typefaces

Pentru fonturi monospațiate, potrivite pentru utilizare în terminal sau pentru programare vezi http://www.lowing.org/fonts/

Tastatură

Există o bucată de hardware comercializată sub numele de tastatură românească, asta dacă aveți norocul să o găsiți în magazine, însă în general aranjamentul de tastatură preferat în România este cel numit "Programmer's keyboard" (vezi Tastatură românească pentru X).

Acest aranjament implică maparea caracterelor diacritice românești cu ajutorul tastei Alt din partea dreaptă a barei de spațiu (AltGr) astfel:

AltGr + A = ă
AltGr + Shift + A = Ă
AltGr + Q = â
AltGr + Shift + Q = Â
AltGr + S = ș
AltGr + Shift + S = Ș
AltGr + t = ț
AltGr + Shift + T = Ț
AltGr + I = î
AltGr + Shift + I = Î
AltGr + [ = „ (99 jos)
AltGr + ] = ” (99 sus)
AltGr + < = «
AltGr + > = »
AltGr + c = © (copyright)
AltGr + e = € (euro)

Majoritatea distribuțiilor Linux setează acum corect tastatura pentru limba română, dar puteți alege oricând un alt aranjament din meniurile KDE sau Gnome. Modificarea se poate face și din orice emulator de terminal cu comanda

$ setxkbmap ro comma

(Notă: „comma” nu este obligatoriu, dar garantează alegerea aranjamentului corect în cazul în care versiunea de xkeyboard-config este mai mică de 1.3)

Acest aranjament se poate folosi și în consolă, de exemplu prin intermediul pachetului kbd.

Ortografie și gramatică

Dicționar DEX

Se numește dexonline și poate fi consultat direct din browser la [1]. Este un dicționar de foarte bună calitate care înglobează o serie de dicționare publicate în anii trecuți în România. Dexonline își publică baza de date SQL sub GPL v2.

De asemenea, dexonline oferă și acces pentru protocolul DICT descris în rfc2229. Există o serie de programe client care pot accesa acest dicționar, precum gnome-dictionary (vine instalat implicit cu GNOME). Pentru a accesa dicționarul din gnome-dictionary, programul trebuie setat cu dexonline.ro ca server, iar portul de comunicație este 2628.


Dicționare corectare ortografică

Motorul principal de ortografie sub Linux (ca și sub *BSD) este aspell. Este distribuit de toate distribuțiile Linux, nu toate distribuie însă ultima versiune a dicționarului românesc postată la [2].

Un alt motor de ortografie folosit sub Linux este hunspell. Este folosit în principal de produsele Mozilla și OpenOffice.org. Dicționare relativ curente sunt distribuite pe siturile acestor proiecte, nu și în distribuțiile Linux.

Puteți întotdeauna să luați ultimele versiuni de dicționare direct de pe pagina developerului la [3]. O stare a distribuirii diferitelor dicționare sub diferite distribuții Linux și *BSD se găsește la [4].

Dicționar despărțire în silabe

Există și așa ceva, este distribuit în mod curent în OpenOffice.org/LibreOffice și Scribus.

Accesibilitate

Text-to-speech:

Unelte personale
Spații de nume

Variante
Acțiuni
Navigare
Unelte