Lietuvių kalba ir daugiakalbiškumas elektroniniame pašte   

 

Lietuvių kalba ir daugiakalbiškumas elektroniniame pašte


Gintautas Grigas

MII

Įvadas

Elektroniniame pašte keičiamasi informacija tarp dviejų kompiuterių: laiško siuntėjo ir laiško gavėjo. Juose gali būti skirtinga programinė įranga, naudojanti skirtingas kodų lenteles. Skirtingų kodavimų suderinamumą reglamentuoja MIME protokolas, paskelbtas 1993 m. Laišką siunčianti programa jį perkoduoja iš kompiuteryje naudojamos kodų lentelės (trumpiau – kodo) į kodą, naudojamą elektroniniame pašte, o laišką priimanti programa laišką iškoduoja iš elektroniniame pašte naudojamo kodo į laiško gavėjo kompiuterio kodą, kuris gali būti kitoks, negu laiško siuntėjo kompiuteryje. Kokia kodų lentele siunčiamas laiškas, siuntėjo programa informuoja gavėją įrašydama į laiško antraštę kodų lentelės pavadinimą, pavyzdžiui:

Content-type: text/plain; charset=iso-8859-13

Laiško gavėjo programa, turėdama šią informaciją, laišką perkoduoja į gavėjo kompiuteryje naudojamą kodą.

Persiunčiant lietuviškus laiškus atsirasdavo nesklandumų dėl to, kad ilgą laiką Lietuvoje buvo platinama elektroninio pašto programa „Demos Mail“, turinti tik rusiškas perkodavimo lenteles. Apie tai buvo kalbama „Kompiuterininkų dienose'97“ [1]. Problema buvo išspręsta dalinai lokalizavus minėtos programos naują versiją „Demos Mail 2.06“ [2].

Dabar lietuviškų raidžių persiuntimas elektroniniu paštu nebekelia problemų. Tačiau dar pasitaiko nesklandumų, kai: 1) susiduriama su pašto programomis, neturinčiomis perkodavimo lentelių, 2) laiškuose vartojami tam tikri skyrybos ženklai (kabutės, apostrofas ir brūkšnys), 3) tame pačiame laiške vartojamos kelios kalbos. Panagrinėsime šias problemas, jų atsiradimo priežastis ir sprendimo kelius.

Kodų lentelės, vartojamos elektroniniame pašte

Elektroniniame pašte pirmenybė teikiama ISO standarto ISO/IEC 8859-x serijos kodų lentelėms. Šias kodų lenteles naudoja UNIX genties operacijų sistemos. Firma „Microsoft“ terpėje „Windows“ naudoja serijos 125x kodų lenteles, turinčias ISO standartų atitikmenis (1 lentelė).

1 lentelė. Kodų lentelių ISO 8859-x ir 125x atitikmenys

ISO 8859-x

125x

Regionas

ISO 8859–1

1252

Vakarų Europa

ISO 8859–2

1250

Vidurio Europa

ISO 8859–9

1254

Turkija

ISO 8859–13

1257

Baltijos valstybės

Esminis skirtumas tarp ISO 8859-x ir 127x kodų lentelių yra tas, kad ISO kodų lentelėse kodai 128–160 skirti valdymo ženklams, o 127x kodų lentelėse šie kodai panaudoti teksto ženklams ir jie yra beveik vienodi visose šios serijos kodų lentelėse.

Vakarų Europos lentelėje ISO 8859-1 visi teksto ženklai (jų kodai 161–255) yra perkelti į kodų lentelę 1252 ir į tas pačias pozicijas. Todėl jeigu elektroniniame laiške nenaudojami papildomi kodų lentelės ženklai, esantys 128–160 pozicijose, tai abi kodų lenteles galima laikyti tapačiomis. Tokiu atveju galima neperkoduoti siunčiamo laiško iš kompiuterio kodo 1257 į tarptautinį kodą ISO 8859-1, o gaunamo laiško iš ISO 8859-1 į gavėjo kompiuterio kodą 1252.

Vidurio Europos valstybių kalbų kodų lentelėse ISO 8859-2 ir 1250 skirtingai koduojama net 20 raidžių. Todėl perkodavimai būtinai reikalingi.

Baltijos šalių (tiksliau Lietuvos ir Latvijos, nes Estija nesenai pakeitė savo kodavimo lentelę) kodų lentelės užima tarpinę padėtį. Jose skirtingai koduojami 4 ženklai (2 lentelė).

2 lentelė

Ženklai, skirtingai koduojami ISO 8859-13 ir 1257 kodų lentelėse

Ženklas

Ženklo pavadinimas

Kodas ISO 8859-13

Kodas 1257

„

Atidaromosios kabutės

165

132

"

Uždaromosios kabutės

180

147

’

Apostrofas

255

146

"

Kabutės – du kableliai viršuje

161

148

Taigi, galima tvirtinti, kad perkodavimas tarp ISO ir 125x kodų lentelių Vakarų Europos šalims nebūtinas, Vidurio Europos šalims būtinas, o Baltijos šalims pageidautinas.

Vakarų Europos kodų lentelę naudoja didžiosios Europos valstybės (Vokietija, Prancūzija, Ispanija, Italija ir kt.), kurios elektroninio pašto abonentų skaičiumi žymiai pralenkia likusias visas kitas drauge paimtas (Vidurio Europos ir Baltijos) valstybes. Dėl to yra plačiai naudojamų pašto programų (pvz., Pine), neatliekančių parkodavimų.

Kabutės, apostrofas ir brūkšnys

Gerai sutvarkytos elektroninio pašto programos kabutes perkoduoja teisingai. Tačiau priėmus prielaidą, kad pasitaiko pašto programų, neturinčių perkodavimo galimybės, kabučių galima nenaudoti ir problema bus išspręsta.

Brūkšnį (kodas 150) ir ilgą brūkšnį (kodas 151) turi tik kodų lentelė 1257, o lentelėje ISO 8859-13 jo nėra. Todėl elektroniniuose laiškuose jo geriau nenaudoti. Čia galima pasinaudoti užsieniečių praktika: jie brūkšnį keičia dviem brūkšneliais.

Daugiakalbiškumas naudojant 8 bitų kodavimą

Elektroniniai laiškai, kuriuose vartojami dviejų (ar daugiau) kalbų tekstai dažniausiai pasitaiko minint skirtingų kalbų vardus, pavardes, įstaigų pavadinimus, vietovardžius.

Dažniau kalbėsime tik apie dviejų kalbų problemą, kadangi daugelio kalbų atvejus galima pakeisti dviejų kalbų atvejais.

Problemos sprendimas priklauso nuo dviejų dalykų:

1. Ar abi kalbos turi tą pačia kodų lentelę.

2. Ar valstybės, tarp kurių siunčiami laiškai, naudoja tą pačią kodų lentelę.

Panagrinėsime įvairius atvejus.

1. Laiško siuntėjas ir gavėjas yra valstybėse, naudojančiose tą pačią kodų lentelę. Lietuvoje ir Latvijoje vartojama ta pati kodų lentelė ISO 8859-13. Joje yra anglų, danų, latvių, lenkų, lietuvių, lotynų, norvegų, slovėnų, suomių, švedų ir vokiečių kalbų abėcėlių raidės. Todėl tame pačiame laiške, persiunčiamame abiejų Lietuvoje ir Latvijoje gali būti vartojami visų minėtų kalbų tekstai. Jeigu laiškas siunčiamas į kitą valstybę, reikia, kad gavėjo kompiuteryje būtų nustatyta lietuvių arba latvių kalba.

Šiais atvejais daugiakalbio laiško persiuntimas nesiskirs nuo vienkalbio vien lietuvių kalba parašyto laiško persiuntimo.

2. Laiško siuntėjas ir gavėjas yra valstybėse, naudojančiose skirtingas kodų lenteles, o abiejose kodų lentelėse yra visos reikiamų abėcėlių raidės ir jos koduojamos vienodai. Kodų lentelėse ISO 8859-13 ir ISO 8859-1 sutampa šių kalbų raidžių kodai: anglų, estų, lotynų, norvegų, slovėnų, suomių, švedų ir vokiečių. Laiškas, parašytas šiomis kalbomis naudojantis kodų lentele ISO 8859-13, bus teisingai skaitomas ir tuo atveju, kai gavėjo kompiuteryje bus naudojama kodų lentelė ISO 8859-1, t.y. kai gavėjo kompiuteryje nustatyta bet kuri Vakarų Europos kalba, o jo pašto programa laiško neperkoduoja. Tačiau šiuo atveju lietuviškos raidės gavėjo kompiuteryje bus matomos tik pasirinkus šriftą, turintį lietuviškas raides.

3. Laiško siuntėjas ir gavėjas yra valstybėse, naudojančiose skirtingas kodų lenteles, o abiejose kodų lentelėse yra visos reikiamų abėcėlių raidės, bet jos koduojamos skirtingai. Kodų lentelėse ISO 8859-13 ir ISO 8859-1 skirtingai koduojamos danų kalbos raidės. Todėl laiškas bus teisingai matomas, jeigu gavėjo kompiuteris jį perkoduos.

4. Laiško siuntėjas ir gavėjas yra valstybėse, naudojančiose skirtingas kodų lenteles, o abiejose kodų lentelėse nėra visų reikiamų abėcėlių raidžių. Tokiu atveju (naudojant 8 bitų kodavimą) laiško nebus galima persiųsti.

Daugiakalbiškumas naudojant 16 bitų kodavimą

Idealus daugiakalbiškumo problemos sprendimas yra Unikodas [3]. Į jį telpa visų pasaulyje vartojamų kalbų ženklai. Todėl galima laikyti, kad visi naudoja tą pačią kodų lentelę. Todėl gauname atveją analogišką ankstesnio skyrelio 1 atvejui. Nebereikia perkodavimų tarp skirtingų kodų lentelių.

Tačiau ir vartojant Unikodą reikalingi tam tikri perkodavimai tarp paties Unikodo ir persiuntimui telekomunikacijose priimtino kodavimo. Mat tiesiogiai perduoti Unikodo ženklus dabartine telekomunikacijų įranga nėra galimybės, nes ji pritaikyta 8 bitų kodavimui ir vieną Unikodo ženklo 16 bitų kodą traktuoja kaip du 8 bitų ženklų kodus. O juose yra išnaudojami visos bitų kombinacijos, ir tokios, kurios 8 bitų kode reiškia valdančiuosius ženklus. Dėl to Unikodo ženklai perkoduojami į kodą UTF-8, t.y., į 1, 2 arba 3 baitų sekas, kuriose nėra valdymo ženklų kodų.

Vartodami Unikodą ir UTF kodavimą išspręstume ne tik daugiakalbystės problemą, bet ir visų kitų ženklų (pvz., kabučių, brūkšnio) persiuntimą elektroniniu paštu. Tačiau norint visuotinai taikyti UTF-8 kodavimą reikia, kad būtų pakankamai jį realizuojančių elektroninio pašto programų – bent po vieną kiekvienoje plačiau naudojamoje operacijų sistemoje (taip, kaip dabar yra su kodų lentele ISO 8859-13).

Literatūra

1. Grigas G. Lietuviškų rašmenų problemos kompiuterių pašte. – Kompiuterininkų dienos '97: Renginio medžiaga. – Vilnius: Žara, 1997, 125-128.

2. Grigas G., Laurinavičius T. UUPC jau gali „susikalbėti“ su kitomis pašto programomis. – Kompiuterija, 1998, Nr. 3(7), p. 28–30.

3. The Unicode Standard. Version 2.0. Addison-Wesley Developers Press, 1993.

Kompiuterininkų dienos–99, I dalis, Devintosios mokslinės praktinės kompiuterininkų konferencijos ir ketvirtosios mokyklinės informatikos konferencijos mokslo darbai, Birštonas, 1999 m. rugsėjo 16-18 d., Žara, Vilnius, 1999, 47-51.

 

Į turinį

Į viršų

 

 


Rašykite mums  info@likit.lt
Atnaujinta 2001.12.15 .