Probleme cu Unicode

KDE 2 a adus trecerea la Unicode care uşurează controlul şi combinarea de fonturi şi limbaje -- imediat ce este implementat īn īntregime şi este suportat de toate programele şi elementele ce-l utilizează. Aceasta va dura ceva timp şi implică un proces de tranziţie care va fi un pic complicat. Lucrurile vor fi mai uşoare pentru cei care īncep acum să traducă, īn special dacă utilizează Unicode de la bun īnceput. Īn fapt cea mai mare parte a explicaţiilor din continuare au relevanţă pentru cei care deja traduceri īn format non-Unicode.

Pentru o introducere tehnică īn Unicode citiţi Ghidul Unicode scris de Wolfram Diestel. Din codările descrise acolo KDE va utiliza numai UTF-8 (Unicode Transfer Format pe 8 biţi) pur şi simplu fiindcă majoritatea utilitarelor GNU utilizate de KDE nu suportă īncă UTF-16. Din nefericire unele limbaje asiatice vor fi dezavantajate. Ţineţi cont că modificarea codării este deocamdată numai pentru fişierele interfeţei grafice (.po), şi nu şi pentru documentaţie (SGML).

Fişierele desktop.po trebuie deja să fie īn format UTF-8. Celelalte pot fi codate īncă īn mod obişnuit. Dar este recomandat să treceţi toate fişierele PO la UTF-8 cīt mai curīnd posibil. Mai reţineţi un lucru: imediat ce aţi īnceput să utilizaţi UTF-8, trebuie să convertiţi toate fişierele dumneavoastră la noua codare. Cea mai simplă cale este folosirea utilitarului recode (vedeţi caseta de mai jos).

Despre suportul īn fonturi pentru scrierea de la dreapta la stīnga, de exemplu īn arabă, persană sau ebraică: acesta nu este īncă implementat īn KDE şi nu va fi īnainte de KDE 3. Dacă doriţi să aflaţi mai multe despre progresul actual, soluţii ad-hoc posibile sau doriţi să ajutaţi la testare, vă rog să-l contactaţi pe Lars Knoll care responsabil de implementarea "bidirecţionalităţii" īn KDE.

Starea prezentă a utilitarelor de traducere cu privire la abilitatea lor de a lucra cu fişiere Unicode a fost descrisă pe lista de discuţii a traducătorilor īntr-un mesaj al lui Kim Enkovaara:

Lista:     kde-i18n-doc
Subiect:  Re: UTF8 şi traducerile
From:     Kim Enkovaara <kenkovaa@cc.hut.fi>
Data:     2000-02-05 7:54:15

Īn 4 Feb 2000, Sebastią Pla a scris:
> Cum putem converti la UTF8? Putem utiliza Emacs cu UTF8? sau
> ar trebui să convertim de la UTF8 şi latin1 pentru a traduce
> iar apoi din nou la UTF8?

Un Emacs normal nu poate utiliza UTF8, dar există pachete adiţionale
pentru a adăuga acel suport. Unul poate fi găsit la
  http://www.cs.ust.hk/~otfried/Mule/
Pentru mine nu a mers peferct, dar cred că are unele probleme cu fonturile Unicode.

Conversia este uşor de făcut cu recode (executaţi pur şi simplu
recode iso-8859-1..utf8file.po). Dacă sistemul dumneavoastră nu are recode,
īl puteţi găsi la
  http://www.iro.umontreal.ca/contrib/recode/HTML/

După cīteva zile de lucru cu Kbabel cred că este cel mai bun utilitar
pentru traduceri şi suportă şi UTF-8. Sīnt unele locuri unde ar putea fi
īmbunătăţit, dar cred că este mult mai bun decīt emacs/vi/nedit/joe
sau orice altceva. De exemplu căutarea īn fişierul PO tradus
ar fi foarte utilă (sau poate nu ştiu să o utilizez :))

Procesul de conversie este uşor cu recode şi aceştia sīnt paşi
făcuţi de mine
1) modificaţi setul de caractere să conţină utf-8
2) cd fi/messages;find . -name '*.po' | xargs recode iso-8859-1..utf-8
3) Modificaţi īn toate fişierele .po textul .. charset=iso-8859-1 la charset=utf-8
4) puneţi modificările pe CVS

Mi-a luat o jumătate de oră să fac conversia.

=============================================================================
Mr. Kim Enkovaara   | kim.enkovaara@iki.fi | Microelectronic Riemannian
Iirislahdentie 47 E | IRC: embo            | curved-space fault in
02230 Espoo,Finland |                      | write-only file system

O altă soluţie la pasul 3 ar fi să īncercaţi următorul mic script (cu setul dumneavoastră de caractere bineīnţeles). El a fost oferit de Juraj Bednar din echipa de traducere slovacă şi reduce timpul de modificare a setului de caractere la cīteva secunde.

for i in `find . -name '*.po'`;do (echo -n "$i..."; sed -e \
's/charset=iso-8859-1/charset=utf-8/' $i | sed -e \
's/charset=iso-8859-2/charset=utf-8/' 
> $i.utf-8;mv -f $i.utf-8 $i;echo \
"done");done