issn 1392 – 124x informacinës technologijos ir · pdf file ·...

43
I SEKCIJA ATVIRAS KODAS IR LOKALIZACIJA

Upload: haanh

Post on 12-Mar-2018

232 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

I SEKCIJA ATVIRAS KODAS IR LOKALIZACIJA

Page 2: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos
Page 3: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

LOKALĖS, JŲ SANDARA IR YPATUMAI

Rimgaudas Laucius Matematikos ir informatikos institutas

Tarptautinei rinkai skirtos programos rašomos taip, kad jas būtų galima lengvai pritaikyti konkrečiai kultūrinei terpei. Dialogo su vartotoju aspektų, priklausančių nuo konkrečios kultūrinės terpės, visuma yra apibrėžiama lokale. Todėl lokalė yra viena iš svarbiausių koncepcijų adaptuojant programas. Šiame straipsnyje nagrinėjamos tarptautiniais standartais apibrėžtos lokalės, jų sandara ir skirtumai.

1. Lokalės koncepcija

Lokalė – naudotojo aplinkos poaibio, priklausančio nuo kalbos ir kultūros normų, apibrėžimas [14]. Pagrindiniai aspektai sudarantys tokį naudotojo aplinkos poaibį yra:

1. Kalba ir šalis. Kokia kalba naudotojas norėtų palaikyti dialogą su programine įranga? Kokie yra kalbos ir šalies pavadinimai ir kodai, bei angliški jų vertimai?

2. Ženklų klasifikacija. Kurie ženklai yra raidės, skaitmenys arba skyrybos ženklai? Kurios raidės yra didžiosios, mažosios ir jų atitikimas

3. Ženklų kodavimas. Kokios yra naudojamos ženklų kodavimo lentelės ir jų ženklų atitikimas? 4. Ženklų ir eilučių rikiavimas. 5. Transliteracija. 6. Skaičių formatai. Kaip yra vaizduojami sveikieji ir realieji skaičiai, bei piniginės sumos? 7. Datų ir laiko formatai. Kaip yra vaizduojamos datos ir laikas? 8. Laiko juosta. Įtraukiant ir informaciją apie laiko pakeitimus pereinant prie žiemos arba vasaros laiko. 9. Kalendorius. Koks kalendorius yra naudojamas? Ar jame yra savaitės dienos ir kaip? 10. Matavimo vienetai. Kokie matavimo vienetai naudojami matuojant ilgį, svorį, garsą, greitį ir kt.? 11. Popieriaus lapų formatai. 12. Adresų formatai. Kokia informacija yra naudojama pašto adresuose ir kokia tvarka ji rašoma? 13. Telefoninių numerių formatai. Dalis aspektų kaip spalvos, paveikslai, šriftai, garsai ir pan. čia nėra paminėti nors jų interpretavimas taip pat

priklauso nuo kultūrinės terpės. Pavyzdžiui – turbūt daugelis žino, kad balta spalva vienose kultūrose reiškia džiaugsmą, kitose liūdesį. Tokių aspektų yra gana daug ir formaliai juos visus aprašyti būtų gana sunku, todėl ši sritis yra paliekama programinės įrangos kūrėjams. Internacionalizuotoje programinėje įrangoje yra numatoma galimybė šiuos dalykus keisti.

Iš esmės lokalė yra duomenų bazė, kurioje saugomi duomenys susiję su konkrečioje kultūrinėje terpėje galiojančiomis nuostatomis ir kalba. Ji gali būti realizuota įvairiai, taip pat ir nenaudojant duomenų bazių valdymo sistemų. Kai kurie standartai apibrėžia ne tik lokalės duomenų vaizdavimą, bet ir valdymo struktūras jiems apdoroti.

Lokalė – labai svarbi koncepcija programų internacionalizavime. Pagrindiniai programų internacionalizavimo modeliai yra du: lokalių ir daugiakalbiškasis. Lokalių modelis yra paprasčiau pritaikomas ir naudojamas, tačiau naujausiose operacinėse sistemose (pvz. „Windows 2000“) pradėtas taikyti daugiakalbiškasis modelis (nors išlaikant pereinamumą yra palaikomas ir lokalių modelis) [22]. Daugiakalbiškasis modelis suteikia galimybę naudoti kelias kalbas vienu metu, atskirti lokales naudojamas informacijos įvedimui ir vaizdavimui.

Lokalių modelis skirtingais būdais yra taikomas POSIX standartą palaikančiose operacinėse sistemose (tarp jų „Linux“ kartu su įvairiomis jo grafinėmis aplinkomis [23]), „OS/2“, „Microsoft Windows“1 ir „Java“ terpėje.

1 Toliau rašysiu tiesiog „Windows“

I – 1

Page 4: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

R. Laucius

2. POSIX lokalės modelis

Vienas iš pirmųjų ir plačiai naudojamų lokalių modelių yra apibrėžtas POSIX. Jo kūrimu užsiima IEEE orga-nizacija. Pirmoji jo dalis IEEE Standard 1003.1-1988 „Portable Operating System Interface for Computer Environments“ (POSIX) išleista 1988 metais. Vėliau jį patobulinus buvo išleistas IEEE Standard 1003.1-1990 standartas, kuris buvo priimtas kaip ISO/IEC 9945-1:1990 standartas, dar vadinamas POSIX.1 [7, 24]. Jis apibrėžia portatyvių operacinių sistemų sąsają. Todėl kai yra sakoma, kad operacinė sistema palaiko POSIX standartą omenyje turimas POSIX.1 standartas. Nors POSIX standartą sudaro specifikacijos skirtos UNIX genties operacinėms sistemoms, tačiau tai neapriboja jo palaikymo ir taikymo galimybių kitose terpėse. Pavyzdžiui „Windows NT“ turi posistemę, kuri leidžia vykdyti POSIX standartą palaikančias programas [22].

Antroji POSIX standarto dalis IEEE Standard 1003.2–1992, vėliau priimta ir kaip ISO/IEC 9945-2:1993 standartas (POSIX.2) apibrėžia programų, naudojančių komandų interpretatorių, sąsają ir aplinką, bei jų pagalbines priemones [8, 24]. Tačiau mums jis labiau žinomas ir svarbus dėl to, kad jame be viso to dar apibrėžiamas ir lokalės modelis.

POSIX.2 standarte apibrėžtas lokalės modelis taip pat sudaro ir lokalės modelio, apibrėžto C programavimo kalbos standartuose (ANSI X3.169-1989 ir ISO/IEC 9899) [10], pagrindą. Šis lokalės modelis yra naudojamas su POSIX suderinamose operacinėse sistemose, bei daugelio C kalbos kompiliatorių (veikiančių įvairiose sistemose) naudojamose standartinėse bibliotekose.

POSIX lokalę sudaro tam tikrų savybių (jos vadinamos kategorijomis) aprašai. Pagal šiuos kategorijų aprašus yra sukuriamas lokalės aprašomoji byla. Kiekviena POSIX kategorija aprašomojoje byloje apibrėžiama vieną kartą. POSIX lokalę sudaro šešių kategorijų aprašai apima skirtingas kultūrines nuostatas. Jos yra pateiktos 1 lentelėje [8].

1 lentelė. POSIX lokalės elementų kategorijos

Kategorija Elementai LC_TIME datų ir laiko formatai LC_MONETARY piniginių sumų formatai LC_NUMERIC skaičių formatai LC_CTYPE ženklų klasifikacija, konvertavimas ir kiti atributai LC_COLLATE eilučių rikiavimo metodai LC_MESSAGES pranešimų katalogai

Kategorijos yra aprašomos labai formaliai pagal standarte apibrėžtas taisykles. Kad lokalės aprašomoji byla būtų portatyvi ji yra sukompiliuojama į objektinę bylą specialia standarte numatyta priemone „localedef“. Lokalės aprašomojoje byloje gali būti naudojami 8 bitų ženklai, kurie priklauso nuo kodavimo lentelės. Siekiant panaikinti šią priklausomybę, kompiliavimo metu aprašomoji byla yra perkoduojama 16 bitų koduote (ISO/IEC 10646 ) [4].

POSIX lokalės yra identifikuojamos pagal X/Open organizacijos dokumente XPG4 pateiktas specifikacijas [24]. Jame pateikiamos specifikacijos kaip praktiškai turėtų būti įgyvendinamas POSIX.2 standartas. Pagal šias specifikacijas lokalių pavadinimai yra sudaromi remiantis tokia forma:

[kalba]_[vietovė].[koduotė][@modifikatorius]

Čia vietoje [kalba] yra rašomas vienas iš kalbos kodų apibrėžtų ISO 639:1988 [5] standarte, o vietoje [vietovės] vienas iš vietovės (šalies) kodų apibrėžtų standartu ISO 3166-1:1977 [9]. [Koduotė] reiškia naudojamą ženklų kodavimo lentelę, o laukas [@modifikatorius] yra paliktas specifiniams išplėtimams identifikuoti. Reikia pastebėti, kad nėra jokių standartų dėl kodavimo lentelių arba modifikatorių pavadinimų.

3. C++ lokalės modelis

POSIX lokalės modelis taip pat sudaro standartinėse C++ bibliotekose naudojamo lokalės modelio pagrindą. C++ programavimo kalbos standartas ISO 14882:1998 aprašo ne tik pačią kalbą, bet ir jos standartines bibliotekas [10]. Panašiai kaip ir C kalbos standarte, jame taip pat yra aprašomas savas lokalės modelis.

Skirtingai nei POSIX arba C, C++ naudoja objektinį lokalės modelį. C kalboje lokalė sudaryta iš globalinių duomenų struktūrų, kuriuos valdo funkcijos. Dėl to C programoje sudėtinga panaudoti daugiau nei vieną lokalę. C++ kalboje lokalės duomenys ir valdymo struktūros aprašomos vienoje klasėje „locale“. Kadangi programoje galima sukurti kiek tik norim šios klasės objektų yra paprasta naudoti keletą lokalių vienu metu [18].

C++ „locale“ klasė apima keliolika mažesnių klasių, vadinamų aspektais (angl. facets). Kiekviena tokia klasė savo ruožtu turi metodus, kurie apdoroja lokalės duomenis (1 pav.).

I – 2

Page 5: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Lokalės, jų sandara ir ypatumai

1 pav. C++ lokalės sandara

Kaip ir POSIX, C++ lokalės modelis turi septynias kategorijas, kuriose pateikiama maždaug tokia pati informacija. Šios kategorijos pateiktos 2 lentelėje.

2 lentelė. C++ lokalės kategorijos

Kategorija Aspektai Skaičiai num_get<charT, inputIterator>,

num_put<charT, outputIterator> skirti skaičių formavimui ir nagrinėjimui, numpunct<charT> apibrėžia skaičių formatą

Piniginės sumos money_get<charT, bool, inputIterator>, money_put<charT, bool, outputIterator> skirti piniginių sumų formavimui ir nagrinėjimui, moneypunct<charT> apibrėžia piniginių sumų formatą

Data ir laikas time_get<charT, inputIterator>, time_put<charT, outputIterator> skirti datos ir laiko formavimui ir nagrinėjimui

Ženklų klasifikavimas ctype<charT> skirtas ženklų klasifikavimui Rikiavimas collate<chart> skirtas eilučių rikiavimui Kodavimas codecvt<internT, externT, stateT> skirtas ženklų

perkodavimui Pranešimai messages<charT> skirtas pranešimų katalogų valdymui

4. Windows lokalės

Pačios pirmosios „Windows“ versijos dar neturėjo kitų kalbų galimybių. Tačiau pradedant nuo 3.0 ir 3.1 ver-sijos joje buvo įdiegta kalbų sistema NLS (National Language Support) ir jos programavimo sąsaja (API), kas ir sudaro „Windows“ lokalę. Tačiau ji buvo dar menka, o operacinė sistema galėjo turėti tik vieną lokalę ir programose naudoti kitas lokales galimybės nebuvo numatytos. NLS programavimo sąsaja buvo sukurta naudojant C kalbą ir todėl lokalių informacija prieinama naudojant C kalbos taisyklėmis paremtas struktūras arba funkcijas. Vėliau pradedant nuo „Windows 95“, „Win32“2 sistemose, lokalė buvo išplėsta. Naudojant NLS programavimo sąsają operacinės sistemos lokalės tapo prieinamos ir taikomosioms programoms [20].

„Microsoft“ kompanija „Windows“ operacinėse sistemose pateikė savą lokalės modelį, nesinaudodama esamais lokalių standartais. Tačiau jis turi maždaug tą pačią informaciją kaip ir aukščiau minėti lokalių modeliai. T.y. datų, laiko, skaičių, valiutos formatai, kalendoriai, eilučių rikiavimas, ženklų klasifikavimas ir kt. [17, 20].

„Win32“ sistemose galima nustatyti vartotojo, gijos ir sistemos lygio lokales [21]. Vartotojo lokalė. Ji yra priskiriama kiekvienam operacinėje sistemoje užsiregistravusiam vartotojui. Vartotojas

gali ją nustatyti pagal savo pageidavimą ir tam operacinės sistemos nereikia įkelti iš naujo. Gijos lokalė. „Win32“ terpėje kiekvienai gijai yra priskiriama lokalė. Kiekvienai naujai sukurtai gijai pagal

nutylėjimą yra priskiriama sistemos lokalė arba jei gija priklauso taikomosios programos procesui – vartotojo lokalė. Vykdymo metu gijos lokalė gali būti pakeista kita.

Sistemos lokalė. Nustato sisteminių programų lokalę. Sistemos lokalė yra taikoma visiems sistemoje registruotiems vartotojams. Ją pakeisti galima tik įkeliant operacinę sistemą iš naujo.

„Win32“ lokalės yra identifikuojamos 32 bitų LCID konstantomis. Šių konstantų atitinkamose srityse koduojama informacija apie kalbą, teritoriją, rikiavimo metodą ir versiją. Paprastai ši konstanta yra gaunama 2 „Windows 95/98“, „Windows NT/2000“, „Windows CE“, sistemos pasižymi operacijų atlikimo su 32 bitų duomenimis

savybe, todėl jas žymėsiu „Win32“

I – 3

Page 6: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

R. Laucius

panaudojant NLS programavimo sąsajos makrokomandą MAKELCID. Šioje makrokomandoje kalbos kodai atitinka standarte ISO 639, o teritorija iš esmės atitinka standarte ISO 3166-1 apibrėžtus kodus. Rikiavimo metodo kodai nėra standartizuoti, o versija nėra naudojama [20].

Atskiros „Win32“ lokalės informacijos dalys (jų yra apie 100) yra identifikuojamos LCTYPE konstantomis3. Pasinaudojant šiomis konstantomis galima gauti arba pakeisti lokalėje esančią informaciją.

Nors „Win32“ sistemų programavimo sąsajoje plačiai taikomas objektinis programavimas (COM technologija), tačiau NLS programavimo sąsają sudaro vien C kalbos funkcijos ir struktūros. „Win32“ lokalės kategorijos ir NLS programavimo sąsają sudarančių funkcijų pavyzdžiai yra pateikti 3 lentelėje.

3 lentelė. Win32 lokalės kategorijos

Kategorija Funkcijos Lokalės informacija GetLocaleInfo(), IsValidLocale(),

EnumSystemLocales(), SetLocaleInfo(),...

Datų ir laiko formatai GetDateFormat(), EnumDateFormats(), EnumDateFormatsEx(), GetTimeFormat(), EnumTimeFormats(), EnumTimeFormatsEx(),

Kalendoriai GetCalendarInfo(), EnumCalendarInfo(), EnumCalendarInfoEx()

Skaičių ir piniginių sumų formatai

GetNumberFormat(), GetCurrencyFormat()

Ženklų klasifikavimas IsCharAlpha(), IsCharAlphaNumeric(), IsCharLower(), IsCharUpper()

Teksto apdorojimas CompareString(), FoldString(), lstrxxx(), ...

„Windows NT“ ir jos pagrindu sukurtų sistemų („Windows 2000“, „Windows XP“) programavimo sąsaja, skirtingai nuo likusiųjų, palaiko Unikodą [4]. Ją sudarančios funkcijos, turinčios tekstinių parametrų yra žymimos pavadinimo gale pridedant raidę W ir jos doroja tekstą koduotą Unikodu. Lentelėje jos nepaminėtos nes iš esmės atlieka tuos pačius veiksmus, kaip ir paminėtos funkcijos [20].

5. „Java“ lokalės

1995 –ais metais sukurta „Java“ programavimo kalba greitai išpopuliarėjo ir rado pritaikymą daugelyje sričių. „Java“ koncepciją sudaro ne vien programavimo kalba, bet ir terpė, kuri gali būti lyginama su operacine sistema ir turi savo programavimo sąsają. Nors yra sukurta ir grynų „Java“ operacinių sistemų, tačiau jos nepaplito.

„Java“ dalis skirta programų internacionalizavimui yra pateikiama pakuotėse „java.util“ ir „java.text“. Beveik visi standartinių „Java“ bibliotekų grafiniai komponentai yra automatiškai prisitaikantys prie operacinėje sistemoje nustatytos lokalės. Viena iš šios galimybės prielaidų yra Unikodo palaikymas. Keisti lokalę arba kitaip doroti su ja susijusią informaciją galima naudojant „Java“ klasę „java.util.Locale“ [1, 2].

„Java“ lokalės yra identifikuojamos naudojant kalbos ir šalių kodus apibrėžtus jau minėtais standartais ISO 639 ir ISO 3166-1, bei sąlyginiu autoriaus priskiriamu kodu, kuris gali žymėti lokalės versiją arba operacinę sistemą kuriai ji skirta.

„Java“ lokalės modelis plačiai apima su lokalėmis susijusią informaciją. Taikant objektinį modelį lokalių informacija yra susieta su ją apdorojančiomis valdymo struktūromis. „Java“ klasės, skirtos lokalės informacijai apdoroti, pateiktos 4 lentelėje.

Viena iš svarbių „Java“ lokalės savybių yra ta, kad ją galima papildyti naujomis galimybėmis [1]. Kaip pavyzdį galima paminėti IBM atvirojo kodo projektą ICU4J [3]. Jį sudaro papildomos priemonės susijusios su kalendoriaus, laiko juostų, bei Unikodu palaikymu.

3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos LC_TYPE pavadinimu.

I – 4

Page 7: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Lokalės, jų sandara ir ypatumai

4 lentelė. „Java“ lokalės kategorijos

Kategorija Klasės Lokalės informacija java.util.Locale

Datų ir laiko formatai java.text.DateFormat, java.text.SimpleDateFormat, java.text.DateFormatSymbols

Skaičių ir piniginių sumų formatai

java.text.NumberFormat, java.text.DecimalFormat

Ženklų klasifikavimas java.lang.Character

Kalendoriai java.util.Calendar, java.util.GregorianCalendar, java.util.TimeZone

Teksto dorojimas java.text.Collator, java.text.RuleBasedCollator, java.text.BreakIterator

Pranešimų formavimas java.text.MessageFormat, java.text.ChoiceFormat

Programų ištekliai java.util.ResourceBundle, java.util.ListResourceBundle, java.util.PropertyResourceBundle

6.Formalių kultūrinių nuostatų apibrėžimų aibė

Kultūrinių nuostatų apibrėžimų aibė (angl. trumpinys FDCC-set) apibrėžta ISO/IEC 14652 standarte [12]. Tai POSIX lokalės viršaibis ir su ja iš dalies yra suderinamas. Todėl kultūrinių nuostatų apibrėžimų aibė yra tarsi išplėstas POSIX lokalės modelis. Tačiau derinantis prie standarto ISO/IEC 11017 terminologijos, terminu „lokalė“ yra nevadinama [12].

Lyginat formalių kultūrinių nuostatų apibrėžimų aibę su POSIX lokalės modeliu yra įvestos kelios naujos kategorijos. Jos pateiktos 5 lentelėle.

5 lentelė. Elementų kategorijos, kurių nėra POSIX lokalėje

Kategorija Elementai LC_IDENTIFICATION Versija ir kategorijų statusas LC_XLITERATE Ženklų transliteracija LC_NAME Vardų rašymo formatai LC_ADDRESS Pašto adresų formatai LC_TELEPHONE Telefono numerių formatai

Be šių kategorijų lyginat formalių kultūrinių nuostatų apibrėžimų aibę su POSIX lokale yra ir keliolika kitų išplėtimų. Kategorijoje LC_MONETARY įdiegtas daugiau nei vienos valiutos palaikymas – pavyzdžiui, tai reikalinga šalims, oficialiai naudojančioms nacionalinę valiutą ir Eurus. LC_CTYPE kategorijoje įdiegtos transliteracijos priemonės. Tačiau dauguma išplėtimų yra formalių aprašų išplėtimai [8, 12].

7.Kultūros elementų registravimo procedūros

ISO/IEC 15897:2001 standartas [13] nustato kultūros elementų, pateiktų tiek laisvos formos tekstu, tiek ir labiau formalizuotai, pasitelkiant ISO/IEC 9945-2 standarte numatytus būdus, registravimo procedūras. Registravimas yra nemokamas, o jo rezultatai laisvai prieinami tinkle adresu http://www.dkuug.dk/cultreg/. Tad informacija apie kultūros normas gali laisvai ir lengvai pasinaudoti IT rinkos produktų gamintojai. Kai kurias iš šių normų galima įdiegti netgi automatiškai, parsisiuntus formalias POSIX specifikacijas [13, 14].

Pagal šį tarptautinį standartą gali būti registruojami keturi kultūros specifikacijų tipai: 1. Nusakomoji kultūros specifikacija 2. POSIX lokalė 3. POSIX ženklų koduotė 4. POSIX ženklynas 5. Kultūros specifikacija kompiuterio –nagrinėjamu (angl. machine-parsable) formatu 6. Koduotų ženklų rinkinio specifikaciją kompiuterio –nagrinėjamu formatu

I – 5

Page 8: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

R. Laucius

Nusakomoji kultūros specifikacija – neformalizuotas kultūros ypatumų aprašymas, skirtas panaudoti kompiu-teryje. Ji apibrėžia kultūros normas pasakojamąja anglų kalba, nors kartu gali pateikti ir ekvivalenčius apibrėžimus kitomis kalbomis. Standartas numato 32 skirsnius apibūdinančius kultūros elementus, kurie turėtų būti aprašyti šioje specifikacijoje. Dalis šių skirsnių atitinka POSIX lokalės kategorijas arba yra skirti išsamesniam jų aprašymui, todėl vienas iš svarbių reikalavimų yra, kad nusakomoji kultūros specifikacija ir atitinkama POSIX lokalė neprieštarauja viena kitai [14].

2, 3 ir 4 tipai yra aprašomi naudojant kultūros elementų POSIX specifikacijas, apibrėžtas ISO/IEC 9945-2 standarte.

5 ir 6 tipai yra aprašomi naudojant kompiuterio –nagrinėjamas kultūros elementų specifikacijas – pavyzdžiui, naudojant ISO/IEC 14652 standartu apibrėžtas kultūros elementų specifikacijas arba, XML arba SGML lenteles. Galima naudoti, bet kurį kompiuterio – nagrinėjamą formatą, tačiau turi būti laikomasi šios taisyklės: tai turėtų būti ISO/IEC 14652 standarte apibrėžta formalių kultūrinių nuostatų apibrėžimų aibė arba ženklų koduotė, priešingu atveju pirmoje bylos eilutėje turi būti nurodoma jos formatas [13].

8. Išvados

Augant tarptautinei rinkai skirtos programinės įrangos paklausai, programinės įrangos gamintojai suvokė, kad nepakanka ją pritaikyti kalbos atžvilgiu, reikia pritaikyti ir atsižvelgiant į kitas kultūrinėje terpėje galiojančias nuo-statas. Šios nuostatos yra aprašomos lokalėse. Deja, standartų kūrėjams nespėjant kartu su sparčiai besivystančiomis informacinėmis technologijomis atsirado keli lokalių modeliai, kurie šiuo metu yra aktyviai naudojami. Nors iš esmės jie apima tą pačią informacijos sritį, tačiau tarpusavyje nėra suderinami. Ir dėl to kyla programinės įrangos, naudojančios skirtingus standartus, suderinamumo problemos.

Nors kalba yra pagrindinis lokalės aspektas, tačiau lokalės perteikia daugiau informacijos apie įvairias kultū-rines nuostatas, nei apie kalbų ypatumus, kurių yra labai daug – pavyzdžiui asmenvardžių sudarymo taisyklės, žodžių kaityba, žodžių kėlimas ir kt. Tai galima paaiškinti tuo, kad kalbas yra sunkiau formaliai aprašyti, nei kultūrines nuostatas.

Literatūros sąrašas 1 A. Deitch ir D. Czarnecki. Java Internationalization. O'Reilly & Associates, 2001. 2 E. Giguere, Writing world-aware J2ME applications. Java Developer Connection (JavaSoft), 2001.

http://developer.java.sun.com/developer/J2METechTips/2001/tt0129.html#tip1. 3 IBM Corporation. International Components for Unicode. http://oss.software.ibm.com/icu/. 4 International Organization for Standardization. ISO/IEC 10646-1:1993 Information technology -- Universal Multiple-

Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane. International Organization for Standardization, 1988.

5 International Organization for Standardization. ISO 639:1988 Code for the representation of names of languages. International Organization for Standardization, 1988.

6 International Organization for Standardization. ISO 8601:1988 Data elements and interchange formats – Information interchange -- Representation of dates and times. International Organization for Standardization, 1988.

7 International Organization for Standardization. ISO/IEC 9945-1:1990, Information technology -- Portable Operating System Interface (POSIX). International Organization for Standardization, 1990.

8 International Organization for Standardization. ISO/IEC 9945-2:1993 Information technology -- Portable Operating System Interface (POSIX) -- Part 2: Shell and Utilities. International Organization for Standardization, 1993.

9 International Organization for Standardization. ISO 3166-1:1997 Codes for the representation of names of countries and their subdivisions -- Part 1: Country codes. International Organization for Standardization, 1997.

10 International Organization for Standardization. ISO/IEC 14882:1998 Programming languages -- C++. International Organization for Standardization, 1998.

11 International Organization for Standardization. ISO/IEC WD3 15435 Information Technology – Internationalization APIs. International Organization for Standardization, 1999.

12 International Organization for Standardization. ISO/IEC DTR2 14652:2002(E) Information Technology – Specification method for cultural conventions. International Organization for Standardization, 2002.

13 International Organization for Standardization. ISO/IEC 15897:2001 Information technology – Procedures for registration of cultural elements. International Organization for Standardization, 2001.

14 Lietuvos standartizacijos departamentas. LST ISO/IEC 15897:2001 Informacijos technologija. Kultūros elementų registravimo procedūros (tapatus ISO/IEC 15897:1999 Information technology – Procedures for registration of cultural elements). Lietuvos standartizacijos departamentas, 2001.

I – 6

Page 9: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Lokalės, jų sandara ir ypatumai

15 Informacinės visuomenės plėtros komitetas. Lietuviškos lokalės (lietuvių kalbos ypatybių informacijos technologijoje) metmenys. http://www.likit.lt. Informacinės visuomenės plėtros komitetas, 2001.

16 Informacinės visuomenės plėtros komitetas. Lietuvių kalba informacinėse technologijose. http://www.likit.lt. Informacinės visuomenės plėtros komitetas, 2001.

17 N. Kano. Developing International Software for Windows 95 and Windows NT. Microsoft Press, 1995. 18 K. Kreft ir A. Langer. Internationalization using Standard C++.

http://home.camelot.de/langer/Articles/Internationalization/I18N.htm 19 Microsoft Corporation. Developing International Applications for Microsoft Windows CE 3.0-based devices. Microsoft

Developer Network, 2000. http://msdn.microsoft.com/library/techart/local.htm. 20 Microsoft Corporation. Win32 Developers References. Microsoft Developer Network, 1996.

http://msdn.microsoft.com. 21 Microsoft Corporation. Writing Multilingual User Interface Applications. Microsoft Developer Network, 2002.

http://msdn.microsoft.com. 22 D. A. Schmitt. International Programming for Microsoft Windows. Microsoft Press, 2000. 23 Steve Turnbull. Alphabet soup: the internationalization of Linux, part 1. http://turnbull.sk.tsukuba.ac.jp/Tools/I18N/LJ-

I18N.html 24 Sun Microsystems, Inc. Standards Conformance Guide. Sun Microsystems, Inc., 1995.

Locales, they structure and features

Programs designed for the international market are written so, that they can be easily adapted to the specific culture and language environment. Locale describes human –computer interface aspects, witch are specific for culture. That is why locale is one of the most important concepts then we are talking about programs cultural adaptation. This article analyzes locales which are defined by international standards for they structure and features.

I – 7

Page 10: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

PROGRAMŲ ADAPTAVIMAS LIETUVIŠKAI LOKALEI

Tatjana Jevsikova Matematikos ir informatikos institutas. Akademijos 4, Vilnius

Straipsnyje pateikiama informacija apie pastebėtas interneto programų paketo „Mozilla“ ir jo terpėje veikiančios asmeninio kalendoriaus ir laiko planavimo programos originalių versijų neatitikimus lietuviškai lokalei ir tų neatitikimų šalinimą šias programas lokalizuojant. Tikimasi, kad pateikta medžiaga padės greičiau rasti ir ištaisyti su lokalizavimu susijusias klaidas kitose programose.

1.Įvadas

Kiekviena vietovė (pvz., valstybė ar jos dalis) turi nusistovėjusių kultūrinių normų visumą. Šių normų laiko-masi kasdieniniame gyvenime: kalbant, rašant, bendraujant. Kadangi informacinės technologijos tampa neatsiejama šiuolaikinio gyvenimo dalimi, tai natūralu, kad kompiuteriu būtų galima rengti tas normas atitinkančius dokumentus ir dialogas su kompiuteriu konkrečioje kultūrinėje terpėje vyktų laikantis tokių pačių normų. Siekiant įgyvendinti šį tikslą, kompiuterių programinė įranga internacionalizuojama bei lokalizuojama.

Programinės įrangos lokalizavimas suprantamas kaip visiškas jos adaptavimas konkrečiai kultūrinei terpei, arba lokalei.

Kalbant apie programinę įrangą ir jos lokalizavimą, lokalė suprantama kaip visų nuo konkrečios vietovės (ar tai būtų valstybė, ar jos dalis) priklausančių dialogo su vartotoju aspektų visuma. Tarptautiniame ir Lietuvos standarte LST ISO/IEC 15897 lokalė apibrėžiama kaip „naudotojo aplinkos poaibis, priklausantis nuo kalbos ar kultūrinių normų“ [5]. Lokalė priklauso ne tik nuo kalbos (pvz., JAV ir Didžiosios Britanijos lokalės yra skirtingos, nors vartojama ta pati kalba). Taip pat negalima sakyti, kad lokalė priklauso vien nuo šalies (pvz., Kanadoje yra dvi valstybinės kalbos (anglų ir prancūzų), todėl reikia dviejų skirtingų lokalių).

Vieną programinės įrangos lokalizavimo dalį sudaro dialogo tekstų (programos languose ir jų elementuose – ant mygtukų, etikečių, meniu ir pan. – matomų užrašų, pranešimų) bei elektroninio žinyno vertimas į lokalės kalbą. Kita ne mažiau svarbi programinės įrangos lokalizavimo dalis – tai kitų programoje naudojamų su lokale susijusių elementų (datos ir laiko formatų, dešimtainės trupmenos skirtuko, matavimo vienetų, asmenvardžio užrašymas formos, dokumentų formatų ir t. t.) pritaikymas konkrečiai kultūrinei terpei. Pagrindinė priežastis, dėl kurios verta nagrinėti programų adaptavimą konkrečiai lokalei, yra ta, kad programinės įrangos gamintojai nepakankamai numato programoje panaudotų su lokale susijusių elementų adaptavimą įvairioms kultūrinėms terpėms. Kitaip tariant, šiuolaikinė programinė įranga dar nėra pakankamai internacionalizuota. Tokiu atveju antroji lokalizavimo dalis būna problematiškesnė.

Šiame straipsnyje nagrinėjami dažniausiai pasitaikantys programinės įrangos lokalės elementai. Remiamasi interneto programų paketo „Mozilla“ ir jo terpėje veikiančio komponento – kalendoriaus – lokalizavimo patirtimi.

2. Interneto programų paketo „Mozilla“ lokalizavimo ypatumai

Programų paketas „Mozilla“ skirtas darbui internete. Jis yra kilęs iš plačiai žinomo analogiškos paskirties pa-keto „Netscape“. Paketą „Mozilla“ sudaro šios pagrindinės programos: naršyklė, pašto ir naujienų grupių programa, hipertekstų (HTML) rašyklė. Paketą galima papildyti ir kitomis programomis, pavyzdžiui, laiko planavimo ir kalendoriaus programa.

Paketas „Mozilla“ yra atvirojo kodo, t. y. jis platinamas kartu su programos tekstais, kuriuos galima modifikuoti pagal „Mozillos“ viešąją licenciją (http://www.mozilla.org/MPL/MPL-1.1.html) arba „Netscape“ viešąją licenciją (http://www.mozilla.org/NPL/). Atvirojo kodo programų lokalizavimas turi tam tikrą specifiką: egzistuoja atvirojo kodo bendrija, kurią sudaro grupės, besirūpinančios įvairiais paketo tobulinimo aspektais. Pavyzdžiui, yra internacionalizavimo, lokalizavimo grupės, programose pastebėtų klaidų registravimo grupė ir daugybė kitų (http://www.mozilla.org/projects/).

Interneto programų paketas „Mozilla“ projektuojamas naudojant šiuolaikines XML ir RDF technologijas. Prog-ramų sąsajai aprašyti vartojamas XML kalbos plėtinys – XUL. Visi ištekliai koduojami Unikodu (UTF-8 arba kaitos ženklų sekomis). Todėl paketas turi geras prielaidas pretenduoti į daugiakalbį.

I – 8

Page 11: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Programų adaptavimas lietuviškai lokalei

Šiuo metu (2003 m., sausis) programų paketas „Mozilla“ yra lokalizuojamas į 77 lokalių kalbas (http://www.mozilla.org/projects/l10n/mlp_status.html). 2002 m. pabaigoje buvo paskelbta ir lietuviškoji paketo lokalizacija (http://aldona.mii.lt/pms/lok/mozilla/). Informacija apie lietuvišką paketo atmainą pateikta straipsniuose [2; 3].

3. Lokalės elementai programų pakete „Mozilla“

Programinė įranga turi tam tikras iš anksto parinktas (numatytąsias) nuostatas, pavyzdžius, naudoja išorinius komponentus. Sulietuvintoje programinėje įrangoje visi šie komponentai turėtų būti pritaikyti lietuviškai terpei. Jei lokalizuojamoje programoje pasitaiko neatitikimų lokalei, juos reikia arba patiems pašalinti, arba informuoti apie juos programos autorius, nes tokie nesklandumai gali būti laikomi klaidomis. „Mozillos“ pakete rastas klaidas galima užregistruoti specialioje duomenų bazėje „Bugzilla“. Pranešimas apie užregistruotą klaidą iš karto nusiunčiamas tą paketo komponentą (ar jo dalį) tvarkančiam programuotojui. Tada galima tikėtis, kad pastebėta klaida bus ištaisyta (deja, realiai klaidos taisomos ne taip greitai, kai kurių klaidų taisymas gali užtrukti metus ar ilgiau). Todėl svarbus uždavinys – kuo anksčiau pastebėti klaidas ir atkreipti į jas programos autorių dėmesį.

Žemiau pateiksime pagrindinius originaliame pakete „Mozilla“ esančius lokalės elementus, paminėsime, kaip atitinkami elementai turi atrodyti lietuviškoje lokalėje, kaip pavyko (ar nepavyko) pašalinti originalaus paketo klaidas, susijusias su lokale. Pagal čia pateiktus lokalės elementų aprašymus galima patikrinti programas ir įvertinti jas lokalizavimo požiūriu. Visų originalaus paketo „Mozilla“ klaidų, susijusių su lokalizavimu, kurių nepavyko ištaisyti lokalizavimo metu, sąrašas pateiktas svetainėje http://aldona.mii.lt/pms/lok/mozilla/.

3.1. Numatytosios koduotės ir šriftai

Lietuviškiems rašto ženklams koduoti vartotinos dvi 8 bitų koduotės: tarptautinio standarto ISO/IEC 8859-13 bei „Microsoft“ bendrovės „Windows-1257“ koduotė ir Unikodo koduotė UTF-8. Todėl į lokalizuojamą programą turi būti įtrauktos šios koduotės, o lokalizavimo metu viena iš jų turi būti nustatyta numatytąja, kad vartotojui nereikėtų papildomai reguliuoti koduočių nuostatų.

Programų pakete „Mozilla“ naršyklėje, pašto programoje ir hipertekstų rašyklėje vartojamų koduočių pavadinimai yra iškelti į lokalizuojamų išteklių bylas. Todėl lokalizuojant buvo galimybė nustatyti numatytąsias laiškų skaitymo ir laiškų rašymo koduotes pašto programoje, numatytąją koduotę, priskiriamą naujai kuriamam tinklalapiui hipertekstų rašyklėje. Yra galimybė atskirai nustatyti numatytąsias koduotes „Windows“ ir „Linux“ sistemoms. Tokiu būdu, jei lokalizuota „Mozilla“ diegiama sistemose „Windows“, tai parenkama „Windows-1257“ koduotė (kadangi į ankstesnius „Microsoft“ gaminius neįtraukta tarptautinio standarto ISO/IEC 8859-13 koduotė), o jei „Linux“ – ISO/IEC 8859-13.

3.2. Numatytosios kalbos

Yra tinklalapių, parašytų keliomis kalbomis su galimybe automatiškai parinkti kalbą. Tokiu atveju tikrinamas naršyklėje sudarytas kalbų sąrašas ir rodomas tinklalapis ta kalba, kuri yra arčiausiai sąrašo pradžios.

„Mozillos“ naršyklės kalbų sąrašas iškeltas į lokalizuojamus išteklius. Lokalizavimo metu šis sąrašas buvo pakoreguotas įrašius lietuvių kalbą pirmąja.

3.3. Abėcėlės ženklų rikiavimo tvarka

Lietuvių kalbos abėcėlės ženklų rikiavimo tvarka apibrėžta „Dabartinės lietuvių kalbos gramatikoje“ [1]. Lokalizuojamoje programoje reikia patikrinti, ar teisingai rikiuojamos specifinės lietuviškos raidės su diakritiniais ženklais (ą, č, ę, ė, į, š, ų, ū, ž). Reikia atkreipti dėmesį į tai, ar rikiuojant (sudarant abėcėlinius sąrašus) raidės „i“, „į“ ir „y“ yra greta., nes daugelyje kitų kalbų raidė „y“ yra arti abėcėlės pabaigos. Jei taip nėra – galima konstatuoti klaidą

„Mozillos“ pakete problemų su lietuviškų ženklų rikiavimu nėra dėl labai paprastos priežasties – raidžių rikiavimo eilė imama iš operacinės sistemos.

3.4. Sąsajos rašto ženklai

Išvertus į lietuvių kalbą užrašus, matomus programos languose, turi būti matomi gerai visi ženklai, kuriuos galima surinkti lietuviška klaviatūra. Reikia atkreipti dėmesį į lietuviškas raides su diakritiniais ženklais (ą, č, ę, ė, į, š, ų, ū, ž), lietuviškas kabutes („“), brūkšnį (–), paragrafo ženklą (§).

Paketas „Mozilla“ yra daugiakalbis, visi jame naudojami dialogų tekstai koduojami Unikodu. Tokiu būdu, prob-lemų su lietuviškų ženklu teisingu vaizdavimu meniu, ant mygtukų, dialogo languose ir kitur nėra.

I – 9

Page 12: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

T.Jevsikova

3.5. Dešimtainės trupmenos formatas

Lietuvoje dešimtainės trupmenos trupmeninė dalis nuo sveikosios skiriama kableliu. Todėl, jei programa neparenka dešimtainės trupmenos skirtuko tipo tokio, koks nustatytas operacinėje sistemoje, programos lokali-zavimo metu turėtų būti galimybė nustatyti skirtuko numatytąjį tipą (kablelį).

Pakete „Mozilla“ šiuo metu nėra galimybės parinkti skirtuko tipą (dešimtainės trupmenos sveikoji ir trupmeninė dalys skiriamos tašku). Tačiau apie klaidą informuoti programos projektuotojai. Pastarosiomis dienomis susirašinė-jimas tarp autorių dėl šios klaidos suaktyvėjo, todėl reikia tikėtis, kad ji bus greitai ištaisyta.

3.6. Datos formatas

Lietuvoje vartojami du datos užrašymo formatai: ilgas ir trumpas. Ilgo datos užrašo pavyzdys būtų „2003 m. sausio 15 d.“. Trumpas datos užrašas sudaromas iš trijų dalių. Pirmoji iš kairės – 4 skaitmenys, nusakantys metus, antroji – du skaitmenys, nusakantys mėnesį, ir trečioji – du skaitmenys, reiškiantys dieną. Jei mėnesio arba dienos numeris yra skaičius, mažesnis už 10, tai kairiau nuo reikšminių vienetų skaitmenų prirašoma po nereikšminį nulį. Trumpo datos užrašo dalys skiriamos brūkšneliais (pagal tarptautinį standartą ISO 8601) arba tarpais. Pirmenybė teikiama tarptautiniu standartu nusakytam skirtukui (brūkšneliui), pavyzdžiui, „2003-01-15“.

Pakete „Mozilla“ įterpiant datos žymą į spausdinsimą tinklalapį arba laišką, vaizduojant datą laiško antraštėje, imami tokie datos formatai, kokie nustatyti operacinėje sistemoje. Tačiau pašto programoje ieškant arba filtruojant laiškus pagal datą, data užrašoma JAV vartojamu formatu (pvz., „12/1/2003“), o užrašius ją kitaip, paieškos arba filtravimo funkcijos veikia neteisingai. Taigi, klaidingas ir teisingas lokalės elemento vartojimas gali pasitaikyti net toje pačioje programoje (kaip yra „Mozillos“ pašto atveju). Minėta klaida užregistruota bendroje paketo klaidų duomenų bazėje.

3.7. Matavimo vienetai

Lietuvoje naudojama metrinė matavimo sistema. Programose vartojami matmenys (paraštės, atstumai ir kt.) turi būti pateikiami centimetrais arba milimetrais.

„Mozillos“ pakete vis dar nėra galimybės pasirinkti matavimo vienetų sistemą, dydžiai matuojami coliais (nebent perprogramuoti atitinkamus programos komponentus). Apie klaidą informuoti paketo programuotojai.

3.8. Užrašai dialogo languose

Dažnai pasitaiko atvejų, kai tekstams, matomiems programos dialogo languose, skiriama mažiau vietos, negu reikia išverstam tekstui. Tai paprastai lemia programos originalo kalba, pvz., anglų, savybės (žodžiai neturi galūnių, dažnai vartojamos santrumpos, nebūdingos lietuvių kalbai). Todėl gera programos savybė lokalizavimo požiūriu yra galimybė nurodyti langų (kartu ir jų elementų) dydžius, pritaikant juos prie išverstų dialogų tekstų ilgių.

„Mozilla“ tokią savybę turi: nurodžius lango dydį, galima padaryti papildomos vietos, ir ją panaudoti išsamesniems lietuvių kalba parašytiems užrašams, kurie geriau paaiškina komandų prasmę. Kai kurių langų dydžiai iškelti į lokalizuojamas bylas, kiti langai išplečiami savaime, o jei ne, tai tenka koreguoti pirminius programos tekstus (atvirojo kodo licencija leidžia tai daryti).

3.9. Adresynas

Naršyklės paprastai turi iš anksto paruoštą svetainių adresų rinkinį – adresyną. Tačiau adresynas, gaunamas su nelokalizuota programa, turi tik simbolinę reikšmę, nes parinkti adresus, kurie būtų naudingi visam pasauliui, praktiškai neįmanoma. Todėl į sulietuvintą „Mozillos“ naršyklę įtrauktas naujas adresynas, sudarytas iš informatyvių, tvarkingai paruoštų ir dažnai lankomų lietuviškų svetainių adresų: valstybės įstaigų, muziejų, teatrų, bibliotekų, universitetų, institutų, mokyklų, laikraščių, žurnalų, radijo ir televizijos. Taip pat įtraukti adresai informacinių svetainių su žemėlapiais, transporto maršrutais, eismo tvarkaraščiais, orų prognozėmis ir kita dažnai reikalinga informacija.

3.10. Paieška internete

Į „Mozillos“ naršyklės originalų variantą buvo įdėtos paieškos sistemos, dalis kurių netinka paieškai lietuvių kalba (pvz., „Netscape Search“, katalogas „Dmoz“). Todėl buvo parengti nauji paieškos sistemų priedai ir į sulietuvintą paketą įtrauktos lietuviškos paieškos sistemos („Search.lt“ ir „Seklys“) ir lietuvišką sąsają turinti sistema „Google“.

I – 10

Page 13: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Programų adaptavimas lietuviškai lokalei

Viena iš paieškos sistemų laikoma numatytąja (į ją kreipiamasi ieškant iš naršyklės adresų juostos). Lietu-viškoje „Mozillos“ paketo atmainoje numatytoji paieškos sistema nustatyta „Google“ (originale buvo „Netscape Search“).

3.11. Pradiniai tinklalapiai

„Mozillos“ paketo naršyklė ir pašto programa turi pradinius tinklalapius, kurie atveriami paleidžiant šias programas. Originalaus paketo naršyklės pradinis tinklalapis yra angliškas bendrijos „Mozilla“ tinklalapis (http://www.mozilla.org), pašto programos – anglų kalba parašytas tinklalapis (http://www.mozilla.org/mailnews/start.html), kuriame pateikiama trumpa informacija apie „Mozilla“ pašto programą. Siekiant paketą adaptuoti lietuviškai lokalei, parengti originalūs lietuviški tinklalapiai ir nustatyti pradiniais. Paleidus naršyklę įkeliama svetainė, kurioje pateikiama informacija apie lietuvišką paketo lokalizacija ir skelbiamos naujos sulietuvintos paketo versijos. Pašto programos pradžios tinklalapis pakeistas analogiško turinio lietuvišku tinklalapiu.

3.12. Galimybė dirbti su standartine lietuviška klaviatūra

Ženklų išdėstymą lietuviškoje klaviatūroje apibrėžia standartas LST 1582:2000 [4].Sulietuvintoje programoje turi būti galima dirbti su standartine klaviatūra.

Lokalizuojant programą reikia atkreipti dėmesį į tai, ar visuose programos dialogo languose būtų galima surinkti visus klaviatūroje esančius trečiojo lygio ženklus.

Pakete „Mozilla“ problemų su teksto rinkimu standartine lietuviška klaviatūra nepastebėta.

3.13. Komandų klavišų pavadinimų vertimas

Lietuviškoje klaviatūroje esantys pagalbiniai klavišai turi lietuviškus pavadinimus: Lyg2, Vald, Alt, Lyg3 ir kt. (angliškoje klaviatūroje atitinkami klavišai turi pavadinimus Shift, Ctrl, Alt, Alt). Šių ir kitų klavišų pavadinimai dažnai matomi šalia programų meniu komandų (pvz., Vald+C) ir naudojami kaip greitesnis būdas vykdyti atitinkamas meniu komandas (kai minėtas klavišas paspaudžiamas su vienu ar keliais kitais klavišais). Programoje turėtų būti galimybė išversti komandų klavišų pavadinimus. Jie turėtų būti iškelti į lokalizuojamų išteklių bylas, arba ten kur reikia pavadinimų, programa turėtų naudoti klavišų pavadinimų gavimo funkcija GetKeyNameText ir taip juos paimti iš klaviatūros tvarkyklės. Pakete „Mozilla“ realizuotas pirmasis variantas, todėl visų klavišų pavadini-mus galima išversti.

3.14. Bylų vardai

Programa turi būti galima kurti bylas ir katalogus, turinčius operacinėje sistemoje numatytus ir tokius ženklus teisingai rodyti. Paketo „Mozilla“ programomis sukurtas bylas ir katalogus galima pavadinti lietuviškais vardais. Tačiau atveriant bylas naršyklėje, jų vardai (pilnas kelias) atvaizduojami adresų juostoje. Kai bylų vardai yra lietuviški, jie koduojami taip, kaip priimta internete, bet rodomi neiškoduoti ir vietoj raidžių su diakritiniais ženklais matomi šešioliktainiai jų kodai (pvz., %E0). Pastebėsime, kad ir kitose naršyklėse (pvz., „Internet Explorer) pasitaiko analogiškų klaidų. Apie klaidą informuota „Mozillos“ bendrija.

3.15. Langai ir pranešimai, skolinami iš operacinės sistemos

Paketas „Mozilla“ pasinaudoja kai kuriuos dialogo langais iš operacinės sistemos (bylų atvėrimo, įrašymo, spausdinimo). Tada, jei operacinė sistema nelokalizuota, juose matomi operacinės sistemos kalbos (pvz., anglų) už-rašai. Ši problema palaipsniui išnyks, kadangi operacinės sistemos pradedamos lokalizuoti (dalinai lokalizuota „Windows XP“, lokalizuojamos „Linux“ sistemos). Kai kuriose programose (pvz., atvirojo kodo raštinės pakete „OpenOffice“) galima pasirinkti, kokį dialogo langą naudoti: iš operacinės sistemos ar savą iš programos. Tada patartina pasirinkti antrąjį variantą. „Mozillos“ paketas savus langus naudoja parenkant spalvas ir šriftus.

3.16. Parankinė

„Mozillos“ komponentų pagrindiniai langai turi kadrą, sudarytą iš įvairių kortelių, kuriose galima laikyti dažnai reikalingus objektus: tinklaviečių adresyną, naršymo žurnalą, paieškos sistemas, naujienas, orų prognozes ir kitką. Originalioje paketo versijoje parankinėje buvo kortelių, neatitinkančių lietuviškos lokalės: naujienos anglų kalba apie angliškąsias paketo versijas, panašių tinklalapių radimas (abiejų kortelių turinys imamas iš žiniatinklio). Panašių tinklalapių radimo tarnyba yra užsieninė, jos sąsaja nėra lokalizuota, paieškos rezultatuose neteisingai vaizduojami lietuviški ženklai. Kadangi kol kas analogiškos tarnybos, tinkančios lietuvių kalbai, neturime, tai panašių tinklalapių radimo kortelės buvo laikinai atsisakyta. Lokalizuojant „Mozilla“ minėtos dvi kortelės buvo

I – 11

Page 14: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

T.Jevsikova

pašalintos iš parankinės, o sukurta ir įtraukta nauja kortelė, kurioje skelbiamos lokalizuoto paketo bei jo terpėje veikiančio kalendoriaus naujienos.

3.17. Žinyno dalykinė-abėcėlinė rodyklė ir paieškos duomenų bazė

Paketo „Mozilla“ elektroninis žinynas turi dalykinę-abėcėlinę rodyklę, į kurią buvo įtrauktos tik angliškos abė-cėlės raidės. Lokalizuojant paketą buvo įtrauktos lietuviškos abėcėlės raidės ir sudaryta nauja, platesnė rodyklė, su-daryta lietuviška paieškos žinyne duomenų bazė.

3.18. Integruotų formų laukai

Į programas būna integruotos duomenų formos (laukai, užpildomi duomenimis). Jų laukai turi atitikti Lietuvos raštvedybos normas. Paketas „Mozilla“ formų tvarkymo komponentą pagrindiniams duomenims, kurie pildomi interneto tinklalapių formose, saugoti. Asmenį apibūdinančios formos socialinio draudimo pažymėjimo numeriui skiriamas laukas originaliame paketo variante buvo padalintas į tris dalis. Lietuvoje socialinio draudimo pažymėji-mo numerį sudaro dvi dalys: serija (2 ženklai) ir numeris (6 ženklai). Todėl lokalizuojant buvo pakeistas atitinkamos formos langas.

4. Lokalės elementai asmeninio kalendoriaus ir laiko planavimo programoje

Laiko planavimo programa veikia „Mozillos“ paketo terpėje, bet platinama atskirai. Tai paprasta programa, į kurią galima surašyti įsimintinus įvykius bei darbus, išsiųsti juos elektroniniu paštu arba į žiniatinklį, nustatyti, kad atėjus įvykio laikui būtų signalizuojama, parinkti signalo laiką ir pobūdį. Taip pat galima sukurti kelis kalendorius ir atlikti kitus laiko planavimo veiksmus. Šiuo metu dar nėra stabilios kalendoriaus versijos. Ne visos dialogų eilutės iškeltos į lokalizuojamus išteklius. Todėl lokalizuojant dalį eilučių tenka ieškoti programos tekstuose. Tačiau kalendoriaus projektavimo darbai vyksta intensyviai.

Kalendorius yra nedidelė programa, bet joje panaudoti įvairūs lokalės elementai, dalis jų neatitinka lietuviškos lokalės. Toliau apibūdinsime tik tuos kalendoriaus lokalės elementus, apie kuriuos nekalbėjome aukščiau. Pakartosime tik tuos neatitikimus lietuviškai lokalei, kuriems kalendoriuje yra kitokių jų šalinimo būdų.

4.1. Numatytasis atmintinų datų sąrašas

Originali kalendoriaus programos versija neturėjo jokio į ją įdėto švenčių (įvykių) sąrašo. Adaptuojant programą lietuviškai terpei buvo sudarytas Lietuvos atmintinų datų sąrašas ir įtrauktas į programą. Taip pat šis sąrašas paskelbtas internete, angliškame kalendoriaus tinklalapyje (http://www.mozilla.org/projects/calendar/).

4.2. Pirmoji savaitės diena

Lietuvoje pirmoji savaitės diena yra pirmadienis. Kalendoriaus originaliame variante numatytoji pirmoji savaitės diena yra sekmadienis. Ją galima pakeisti vėliau kalendoriaus nuostatose, tačiau lietuviškas vartotojas turėtų iš karto gauti nuostatą, atitinkančią lietuvišką lokalę. Todėl lokalizuojant programą buvo pakoreguoti jos tekstai, ir pirmadienis nustatytas pirmąja savaitės diena.

4.3. Mėnesių pavadinimai

Lietuviški mėnesių pavadinimai yra bendriniai daiktavardžiai, todėl jiems galioja bendrosios šiai gramatinei žodžių klasei būdingos kaitybos ir rašybos taisyklės. Jei jie yra sakinio viduryje, tai rašomi iš mažųjų raidžių. Kai mėnesių pavadinimai yra datos ilgajame formate, jie rašomi kilmininko linksniu (pvz., „2003 m. sausio 16 d.“). Anglų kalbai tokios formos nebūdingos. Dėl šių priežasčių, adaptuojant kalendoriaus programą lietuviškai lokalei, išteklių bylos buvo papildytos trūkstamomis mėnesių pavadinimų formomis, o į programos pirminį tekstą buvo įtrauktos papildomos funkcijos, kurios paima iš lokalės išteklių reikiamą formą.

4.4. Savaitės dienų pavadinimai

Lietuviškiems savaitės dienų pavadinimams galioja tos pačios taisyklės, kaip ir kitiems bendriniams daiktavardžiams. Analogiškai, kaip ir mėnesių pavadinimų atveju, lokalizuojant kalendorių, vienos savaitės dienų pavadinimų formos (vienaskaitos vardininko, kaip yra anglų kalboje) nepakako. Todėl programos ištekliai buvo papildyti trūkstamomis formomis.

Lokalizuojant kalendorių teko susidurti su savaitės dienų santrumpomis (jos vartojamos sumažintame kalen-doriaus rodinyje). Lietuvių kalboje dienos pavadinimai paprastai netrumpinami (galimos nebent nereguliarios,

I – 12

Page 15: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Programų adaptavimas lietuviškai lokalei

atsitiktinės santrumpos, kurių reikšmė lengvai suprantama iš konteksto) (http://www.likit.lt/all/stand/lokale /lokale.htm). Teko parinkti nestandartines santrumpas (pvz., „Pr“, „An“, „Tr“ ir t. t.).

4.5. Žodžių gramatinių formų derinimas prie skaitvardžių

Paketo „Mozilla“ ir kitos programinės įrangos dialogų languose paprastai nėra galimybės derinti žodžių gramatines formas prie skaitvardžių. Pavyzdžiui, „X minučių“, „X kortelių“ (vietoj X vartotojas įveda skaičių, o šalio esančio žodžio forma nesikeičia, užrašas lieka toks pat). Tokiu atveju tenka arba trumpinti šalia skaitvardžio esantį žodį, pavyzdžiui, „X min.“, „X kort.“, arba atsižvelgiant į tai, koks skaičius vietoj X yra labiau tikėtinas, ir rašyti dvigubas formas, pavyzdžiui, „X minutė(-ės)“, „X kortelės(-ių). „Mozillos“ kalendoriaus programa turi įdomią savybę (kurios neteko pastebėti kitose programose) – jos dialoguose bandoma išspręsti šią problemą (jei vartotojas surenka „1“, šalia atsiranda angliškas užrašas „Minute“, jei didesnį už vienetą skaičių – „Minutes“). Tačiau anglų kalboje žodžių formų, rašomų šalia skaitvardžių, yra tik dvi (vienaskaita ir daugiskaita). Todėl tik šios dvi formos iškeltos į lokalizuojamus išteklius. Lietuvių kalboje reikia trijų formų (pvz., 1 minutė, 9 minutės, 11 minučių). Minėtas neatitikimas lietuviškai lokalei užregistruotas „Mozillos“ klaidų bazėje. Kadangi kalendoriaus programoje jau yra prielaidos, palengvinančios šio neatitikimo lietuviškai terpei šalinimą (skiriamos dvi žodžių formos), tai lokalizavimo metu buvo nuspręsta šią klaidą ištaisyti savarankiškai. Ištekliai buvo papildyti trečia žodžių forma, o į pirminio teksto atitinkamose vietose buvo patobulintos (praplėstos) funkcijos, parenkančios žodžio formą pagal surinktą skaičių.

4.6. Laiko formatas

Angliškoje bei amerikietiškoje lokalėse laikas užrašomas 12 valandų sistema, papildomai pridedant „AM“ (priešpiet) arba „PM“ (popiet). Lietuvoje dažniau vartojama 24 valandų sistema, o jei laikas užrašomas 12 valandų sistema, tai šalia pridedama „nakties“, „ryto“, „dienos“, „vakaro“. Antrąjį lietuviškai lokalei būdingų laiko užrašų variantą įtraukti į programą yra sudėtingiau (nes reikia apibrėžti, kada baigiasi ir prasideda naktis, rytas ir t. t., o vietoj dviejų angliškų alternatyvų „AM“ ir „PM“ atsiranda keturios). Todėl lokalizuojant kalendoriaus programą numatytąja buvo pasirinkta 24 valandų laiko užrašymo sistema.

4.7. Datos formatas

Apie Lietuvoje vartojamus datos užrašus jau rašėme 3.6 skyrelyje. Nuo pat kalendoriaus programos projek-tavimo pradžios buvo problemų su datų formatais: jie nebuvo imami iš operacinės sistemos nuostatų, languose buvo matomi tik amerikietiškoje lokalėje vartojami formatai (pvz., „5/31/1978“), lokalizuojamuose ištekliuose nebuvo galimybės nurodyti lokalėje naudojamą formatą. Tik 2002 metų pabaigoje programos nuostatų lange matomi datų formatai pradėtos imti iš operacinės sistemos. Tuo tarpu kitur (įvykių ir darbų aprašymo languose, dienos kalen-doriuje) datos užrašų neatitikimai lietuviškai lokalei liko.

Adaptuojant kalendorių lietuviškai terpei teko pakoreguoti programos išteklius pridedant funkcijas, formuo-jančias iš datos komponentų (metų, mėnesio ir dienos) mūsų lokalei būdingus užrašus. Jei pasirenkamas trumpas datos formatas, tai prie mėnesių ir dienų, kurių numeris mažesnis už 10, funkcija prirašo nereikšminius nulius.

4.8. Numatytosios įvykių grupių (kategorijų) pavadinimai

Kalendoriuje kuriamus įvykius galima priskirti tam tikrai kategorijai (pvz., „Sportas“, „Šventė“, „Darbas“). Originalioje kalendoriaus programos versijoje numatytosios įvykių grupės yra angliškos. Lietuvinant programą buvo sudaryti lietuviški įvykių grupių pavadinimai, įtraukti į programą ir nustatyti numatytaisiais.

5. Išvados

Interneto programų paketo „Mozilla“ ir jame veikiančios kalendoriaus programos lokalizavimo darbai ir jų analizė parodė, kad:

1. Lokalės elementų, panaudotų programoje, nagrinėjimas prieš pradedant ją lokalizuoti gali padėti įvertinti programos lokalizavimo sąnaudas ir galimybes. Šitaip analizuojant lokalizuotinas programas galima pasirinkti tinkamiausią, turinčią mažiausiai su lokale susijusių klaidų.

2. Paketas „Mozilla“ yra viena iš labiausiai lokalizuojamų programų. Tačiau, kaip parodė lokalės elementų nagrinėjimas, net ir joje yra nemažai elementų, neatitinkančių lietuviškos lokalės. Tai rodo, kad dabartinės programos nėra pakankamai internacionalizuotos, todėl adaptavimo lokalei darbai sudaro nemažą visų lokalizavimo darbų dalį.

I – 13

Page 16: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

T.Jevsikova

3. Atvirojo kodo programinė įranga turi privalumą lokalizavimo požiūriu: jei su lokale susijusios klaidos sprendimo nepavyksta gauti iš programos projektavimo darbus koordinuojančios bendrijos, tai atvirojo kodo licencija paprastai leidžia tokias klaidas šalinti savarankiškai.

4. Programinės įrangos adaptavimo darbus turi atlikti programavimą išmanantys ir standartus žinantys specialistai.

Literatūros sąrašas [1] Dabartinė lietuvių kalbos gramatika. Mokslo ir enciklopedijų leidykla, 1994, p. 17–19. [2] G. Grigas, T. Jevsikova. Interneto programų paketo „Mozilla“ lokalizavimas ir naudojimas mokykloje. Lietuvos

matematikos rinkinys, 2002, 42 t. spec. Nr., p. 241–248. [3] G. Grigas, T. Jevsikova. Lietuviškoji „Mozilla“. Kompiuterija, 2002, Nr. 11, p. 26–27. [4] Lietuvos standartas LST 1582:2000. Informacijos technologija. Lietuviška klaviatūra. Ženklų išdėstymas. [5] Lietuvos standartas LST ISO/IEC 15897:2001. Informacijos technologija. Kultūros elementų registravimo procedūros

(tapatus ISO/IEC 15897:1999). [6] Lietuvos standartas LST ISO/IEC 8859-13:2000. Informacijos technologija. 8 bitais koduotų ženklų rinkiniai. 13 dalis.

Lotynų 7-oji abėcėlė (tapatus ISO/IEC 8859-13:1998).

Software adaptation to Lithuanian locale

Software localization consists of two parts: translation of strings used in user interface as well as help files, and adaptation to Lithuanian locale. The paper brings the main categories of Lithuanian locale (such as encoding, date and time format, character sorting, measurement units, grammatical forms, etc.), used in Internet program package Mozilla and personal Calendar component. The experience of this software localization to Lithuanian is presented and the solutions of noticed Lithuanian locale mismatchings are discussed. It is expected that information presented here may be useful for other localization teams.

I – 14

Page 17: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

INTERNETO PROGRAMŲ PAKETO LIETUVINIMO PATIRTIS

Gintautas Grigas Matematikos ir informatikos institutas. Akademijos 4, Vilnius

Pateikiama dviejų metų patirtis lietuvinant interneto programų paketą „Mozilla“: terminijos, vertimo automatizavimo, klaidų originaliose programose, testavimo ir kitos problemos. Pasakojama, kaip tas problemas sekėsi spręsti, su kokiomis kliūtimis buvo susidurta. Tikimasi, kad pateikta medžiaga bus naudinga tiems, kas planuoja lokalizuoti didesnes programas

1. Įvadas

1998 m. bendrovė Netscape paskelbė savo programų paketo Netscape Communicator atvirojo teksto (kodo) licencija. Tai lėmė sprendimą lokalizavimui pasirinkti šio paketo atmainą Mozilla, platinamą atviruoju tekstu. Tačiau darbai buvo pradėti tik 2000 m. pabaigoje. Darbus buvo delsiama pradėti dėl dviejų priežasčių: 1) nebuvo finansavimo (paketas yra palyginti didelis ir jam lokalizuoti reikia nemažų laiko sąnaudų) ir 2) ilgą laiką originalus paketas buvo nestabilus (pirmoji originali versija 1.0, kuri buvo laikoma stabilia, išleista tik 2002 m. gegužės mėn.).

Pirmosios lokalizuotos paketo versijos [1; 2]buvo darbinės (1.0 ir 1.1), t. y. jos buvo skiriamos tik eksperimentavimui ir nebuvo rekomenduojamos įprastam kasdieniniam darbui dėl dviejų priežasčių: originaliose versijose dar buvo gana daug klaidų ir 2) dar ne viskas (ne visi elektroninio žinyno skyriai) buvo išversta į lietuvių kalbą. Pirmoji platinimui tinkama lietuviška paketo versija 1.2.1 buvo parengta 2002 m. gruodžio 19 d.

Programų paketas Mozilla yra palyginti didelis. Jame yra apie 10 tūkstančių išverstų sąsajos eilučių (meniu bei dialogo užrašų ir kompiuterio pranešimų), esančių išteklių bylose (apie 400 bylų) ir apie 700 KB hiperteksto, esančio 24 elektroninio žinyno bylose.

Programos lokalizavimą galima suskirstyti į dvi dalis: 1) lokalės elementų adaptavimą ir 2) kompiuterio ekrane matomų tekstų vertimą.

Svarbiausias interneto programų lokalės elementas – koduotės. Programa turi būti sutvarkyta taip, kad tinklalapius bei elektroninius laiškus būtų galima skaityti ir rašyti lietuviškai, o tekstai būtų koduojami Lietuvoje galiojančių standartų koduotėmis. Prie lokalės elementų taip pat priklauso skaičių ir datų formatai.

Kompiuterio ekrane matomi tekstai yra verčiami, o kartais ir adaptuojami bei papildomi taip, kad jie būtų kuo geriau suprantami Lietuvos naudotojui.

Abi darbų grupės gali būti atliekamos lygiagrečiai. Čia pagrindinį dėmesį skirsime antrajai darbų grupei. Pirmoji aptariama kitame šio rinkinio straipsnyje.

2. Paruošiamieji darbai

Pats pirmasis paruošiamasis darbas – įvertinti situaciją ir nuspręsti, ar darbas bus sėkmingas. Internete galima rasti daug pradėtų, bet neužbaigtų lokalizuoti programų. Neverta nesėkmingų darbų sąrašą papildyti dar vienu. Todėl reikia įvertinti lokalizuotiną programą: ar ji pajėgi konkuruoti su kitomis tokios pat paskirties programomis, kaip autoriai ją prižiūri, tobulina, atnaujina, ar bus pakankamai jėgų programą lokalizuoti, prižiūrėti ir laiku atnaujinti (lokalizuoti naujas versijas), ar pavyksta sklandžiai bendradarbiauti su programos autoriais.

Į šiuos klausimus dažniausiai sunku vienareikšmiškai atsakyti, ypač prognozuoti ateitį. Kaip tik dėl to buvo ilgai svyruojama tarp dviejų programų Pegasus Mail ir Mozilla. Apie 1998 m. Pegasus Mail buvo viena geriausių elektroninio pašto programų, o Mozillos pirmtakas Netscape Communicator buvo gera interneto naršyklė su gana vidutine tinklalapių rašykle ir prastu elektroniniu paštu. Todėl pradžioje planavome lokalizuoti abi programas, kad būtų padengtos reikalingiausios darbo internete sritys. Pirmenybę teikėme programai Pegasus Mail, kaip gerai pašto programai, juo labiau, kad tuo metu iš Netscape Communicator išsirutuliojusi Mozilla praktiškai neveikė – buvo tik viltis, kad kada nors ji atsigaus. Tačiau bendrauti su Pegasus Mail autoriumi nesisekė. Dėl neaiškių priežasčių jis atidėliojo sutarties pasirašymą, o kai ji buvo pasirašyta, teko ilgai laukti išteklių bylų pirminių tekstų. Autoriui sunkiai sekėsi taisyti mūsų pateiktas originalios programos klaidas, susijusias su tinkamų šriftų bei koduočių parinkimu – ką nors pataisius atsirasdavo naujų klaidų. Nesisekė ir su pasiūlymais tobulinti programą: koduotę

I – 15

Page 18: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

G.Grigas

pasirinkti iš sąrašo (o ne rinkti jos pavadinimą), įtraukti UTF-8 koduotę. Formavosi nuomonė, kad atsilikimas nuo kitų pašto programų didėja, programa sensta. Todėl taip ir nepradėjome jos lokalizuoti.

Tuo metu Mozillos būklė buvo dar prastesnė. Tačiau matėsi jos spartus tobulėjimas. Optimistiškai nuteikė dar jos pirmtako Netscape Communicator autorių operatyvi reakcija dėl koduotės ISO-8859-13 įtraukimo (tą pačios problemos sprendimas bendrovėje Microsoft užtruko dvejus metus!). Tai turėdami omeny su nemaža rizika pasirinkome Mozillą ir dabar galime tvirtinti, kad nepralošėme. Jos pašto programos lenkia ne tik Pegasus Mail, bet ir kitas programas, o naršyklė jau beveik pasivijo Internet Explorer, o lokalizavus įgijo ir jį lenkiančių savybių (lietuvišką adresyną, numatytąsias paieškos sistemas, visas lietuviškiems rašto ženklams vartojamas koduotes), nekalbant jau apie lietuvišką sąsają.

Pasirenkant programą lokalizavimui reikia patyrinėti ir jos vidų, įvertinti jos tvarkingumą lokalizavimo požiūriu: ar ištekliai sudėti į atskiras bylas, kaip ir kokiomis priemonėmis galima keisti (versti) jų tekstus. Kartu rei-kia pradėti komplektuoti ir lokalizavimui reikalingą aparatinę ir programinę įrangą. Aparatinę įrangą paminėjome dėl to, kad išteklių bei diegimo bylų kompiliavimui dažnai reikia kompiuterio, turinčio aukštesnius parametrus, negu to, kokio reikia pačiai lokalizuojamai programai. Lokalizuojamai programai bandyti reikalingas gerai sutvarkytas kompiuteris su lietuviška standartine klaviatūra, o jo operacinės sistemos pagrindinė kalba turi būti lietuvių. Jeigu lokalizuojama programa veikia keliose operacinėse sistemose, tai reikia turėti omeny, kad ją visose sistemose reikės ir išbandyti, t. y. turėti tas sistemas.

Reikia nepamiršti įvertinti ir savo galimybes: ar pakaks jėgų, ištvermės ir išteklių darbui baigti iki galo, nepa-miršti, kad atsiras naujos programos versijos ir reikės operatyviai jas lokalizuoti, kad programos naudotojams kils klausimų ir juos reikės konsultuoti.

Reikia griežtai laikytis teisinių normų: licencijos sąlygų, jei reikia, sudaryti sutartį dėl lokalizavimo su auto-riumi ir pan.

Iš viso to, apie ką čia kalbėjome, galima padaryti išvadą, kad į paruošiamuosius darbus reikia kreipti deramą dė-mesį. Gal būt jie kurį laiką ir pristabdys lokalizavimą, tačiau pasirinkus gerą programą ir tinkamai pasiruošus jos lokalizavimui, padidės tikimybė, kad darbas bus padarytas iki galo.

3. Juodraštinis sąsajos frazių vertimas 3.1. Specifika

Programos dialogo frazių vertimas skiriasi nuo įprasto rišlaus teksto (straipsnio, knygos ir pan.) vertimo tuo, kad programose vartojamos frazės yra lakoniškos. Todėl jas verčiant galima lengvai suklysti – pasirinkti ne tą reikšmę iš daugelio galimų, pavyzdžiui, From ... To = Kas ... Kam (el. laiške), nuo ... iki (kai kalbama apie laiką); tab = tabuliacijos ženklas (dokumente), kortelė (dialogo lange); title = antraštė (dokumente), titulas (asmens); check = pažymėti (varnele), tikrinti (pvz., rašybą) ir t. t.).

Nevienareikšmiškumų padidėja ir dėl to, kad daugelis tą pačią formą turinčių (vienodai rašomų) angliškų žodžių gali eiti daiktavardžio ir veiksmažodžio funkcijas (pvz., file = byla, įdėti (ką nors į aplanką); display = vaizduoklis (kompiuterio įtaisas), rodyti (pvz., tam tikra koduote ir šriftu); bookmark = adresas (tinklalapių adre-syno įrašas), įrašyti adresą (į adresyną); backup = archyvuoti, atsarginė kopija; list = sąrašas, išvardyti.

Programose pasitaiko vietų, kur frazės gaunamos sujungiant dvi ar daugiau frazių (žodžių), naudojamų ir kitur: savarankiškai arba kituose frazių junginiuose. Daugelyje programų pasitaikantis pavyzdys, kai jungiamas komandų Atšaukti arba Atstatyti pavadinimas su pavadinimu tos komandos, kurios veiksmas atšaukiamas arba atstatomas, pavyzdžiui, Įterpti, Iškirpti. Mechaniškai jungiant gaunamos gramatiškai nesuderinamos žodžių poros: Atšaukti Įterpti, Atstatyti Iškirpti. Turėtų būti Atšaukti įterpimą, Atstatyti iškirpimą. Bet tie patys žodžių Įterpti ir Iškirpti vartojami kaip atskiri žodžiai jais pavadintoms komandoms įvardyti. Iš padėties išsisukama įterpiant kokį nors skirtuką tarp žodžių poros, pavyzdžiui, Atšaukti–Įterpti Atšaukti>>Įterpti. Bet tai nėra geras sprendimas.

Šią problemą turėtų išspręsti programų autoriai suteikdami jai daugiau internacionalinių savybių. Reikia pastebėti, kad skaičius frazių, gaunamų sujungiant kitas frazes, mažėja, nes panašios problemos iškyla ir kitose kalbose.

Būna problemų su daiktavardžių linksnių derinimu prie kintamų skaičių (kintamųjų reikšmių), pavyzdžiui, 1 daiktas, 2 daiktai, 10 daiktų. Dažniausiai yra galimybė pateikti tik viena daiktavardžio formą, geriausiu atveju – dvi, o reikia trijų. Šią problemą taip pat turėtų spręsti programų autoriai. Ji, kaip klaida, užregistruota Mozillos duomenų bazėje Bugzilla. Tokią pat klaidą Mozillos terpėje veikiančioje kalendoriaus programoje pavyko mums patiems išspręsti.

Kartais reikia derinti frazės ilgį prie jai skirto lauko ilgio: sutrumpinti frazę arba padidinti jai skirtą vietą ekrane. Dėl to išverstas frazes reikia visapusiškai patikrinti veikiančioje programoje, t. y., jas pamatyti realiame kon-

tekste – testuoti.

I – 16

Page 19: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Interneto programų paketo lietuvinino patirtis

3.2. Automatizavimas

Dialogo tekstams koreguoti ir kitiems lokalizavimo darbams palengvinti grupėje mozilla.org buvo daromas transliatorius MT. Tai programa, kuri iš tikrųjų tekstų neverčia, o tik tvarko išverstus tekstus – išskirsto išverstus frazių tekstus (Mozilloje yra apie 10 tūkst. frazių) iš vieno didelio frazių žodyno (tekstyno) į daugelį išteklių bylų (Mozilloje jų yra apie 400), atlieka kitus techninius darbus. Transliatorius buvo daromas lygiagrečiai su Mozilla. Todėl teko naudotis jo darbinėmis, dar neišbaigtomis, versijomis, neturinčiomis žinyno, atliekančiomis ne visas numatytas funkcijas ir darančiomis daug klaidų. Jo rezultatus tekdavo koreguoti rankiniu būdu.

Ilgokai pavargę su transliatoriumi, jo atsisakėme ir verčiamas frazes rašėme tiesiai į išteklių bylas. Tam, kad visas frazes iš daugelio išteklų bylų (jų yra apie 400) būtų galima surinkti į vieną frazių žodyną pasidarėme dvi paprastesnes programas, kurios atlieka pusę minėto transliatoriaus darbo – iš dviejų išteklių bylų (angliško ir lietuviško) rinkinių suformuoja frazių tekstyną (žodyną), kurį toliau galima įvairiai tvarkyti (rikiuoti, skaidyti) ir taip pastebėti įvairius vertimo netikslumus. Šie tekstynai yra padėti į duomenų saugyklą:

ftp://aldona.mii.lt/pub/MII/PMS/Terminai. Tai, kad nesinaudojome automatizavimo priemonėmis, nesiūlome jų ignoruoti verčiant kitas programas. Mums

nepasisekė dėl to, kad tuo metu, kai reikėjo, nebuvo tinkamų priemonių darbui kaip tik su tokio formato išteklių bylomis. Yra daug puikių priemonių, padedančių versti kitokio formato išteklių bylas bei išteklius, įdėtus į koduotas bylas (DLL, EXE). Todėl ruošiantis lokalizuoti programą reikėtų su jomis susipažinti ir parinkti tinkamiausias. Kai kurios jų gali automatizuoti ir patį vertimą, paimdamos frazes iš frazių žodyno ir įdėdamos į išteklių bylas. Tada rankiniu būdu beliktų išversti tik tas frazes, kurių nėra žodyne. Idėja viliojanti, kadangi frazės trumpos, lakoniškos, autonomiškos. Deja, kontekstas egzistuoja, tik jis yra nematomas. Dėl to atsiranda nevienareikšmiškumų. Todėl automatizuotą vertimą galima laikyti juodraštiniu, kurį reikia toliau tvarkyti žmogui.

3.3 Terminija

Didelę pagalbą vertimui duoda žodynai. Deja, gerų lietuviškų žodynų su sąsajos terminija dar neturime. Esamų kompiuterijos žodynų pagrindinę dalį sudaro skaičiavimo technikos ir programavimo terminai. Tuo tarpu daugumą sąsajos terminų sudaro kompiuterio naudotojo, o ne jo projektuoto arba programuotojo leksika.

Terminų pirmiausia ieškojome aprobuotuose žodynuose, o tuos, kurių ten nerasdavome ėmėme iš kitų žodynų bei praktinės vartosenos: jau sulietuvintų arba originalių lietuviškų programų, išleistų redaguotų knygų, žurnalų. Daugiausiai šiam tikslui pasitarnavo svetainės Likit anglų-lietuvių ir aiškinamasis žodynėliai, operacinės sistemos Windows XP Professional bei rašyklės Word XP vertimai į lietuvių kalbą.

Dėl terminų, ypač tų, kurių nepavykdavo rasti žodynuose, buvo nuolat konsultuojamasi su terminologijos specialiste. Daugiausiai neaiškumų keliantis terminai buvo pateikiami svarstymui Valstybinės lietuvių kalbos komisijos Terminologijos pakomisei. Konsultuodavomės su tuo metu rengiamo kompiuterių programų ir tinklų žodyno autoriumi V. Žalkausku.

Parenkant terminus naudojomės kitų kalbų aiškinamaisiais žodynais, o taip pat Mozillos vertimo į kitas kalbas terminais, bendrovės Microsoft programinės įrangos vertimų duomenų baze.

Programinės įrangos vertimo darbai paspartėtų, jeigu turėtume išsamius anglų-lietuvių bei aiškinamąjį sąsajos terminų žodynus. Juos darant būtų galima pasinaudoti sukaupta medžiaga verčiant šią ir kitas programas.

3.4. Frazių derinimas

Išverstos išteklių bylos įdedamos į programą. Kai kurioms programoms reikalingas kompiliavimas, kitos prog-ramos pačios susikompiliuoja tekstus arba juos interpretuoja. Mozillos pakete išteklių bylos laikomos sudėtos į keletą pakuotų bylų. Kai programa veikia, ji pati pasiima tekstus. Taigi tekstų kompiliuoti nereikia. Tam, kad įsigaliotų vertimas ar jo taisymai, pakanka pataisytą išteklių bylą įterpti į paką ir programą paleisti iš naujo. Dėl to patikrinti frazes ir priderinti jas prie konteksto galima tuojau pat jas išvertus.

Derinant sukuriamos situacijos, kad visos galimos frazės pasirodytų ekrane (nors tai ne visada pavyksta). Čia išryškėja vertimo netikslumai, kurių daugumos nebuvo galima numatyti pirmajame etape, nes daugelis angliškų žo-džių nėra verčiami vienareikšmiškai, reikia suderinti linksnius, pakeisti gramatines formas (veiksmažodį daiktavar-džiu, veiksmažodžio rūšį ir pan.).

Įdėjimo ir koregavimo ciklas kartojamas, nes kiekvieną pataisymą reikia patikrinti, dažnai pataisymą reikia vėl koreguoti priklausomai nuo kitų taisymų. Dažnai tas pats angliškas žodis (frazė) išteklių bylose yra kartojamas kelis kartus. Tai reiškia, kad skirtingi to paties žodžio egzemplioriai patenka į skirtingus kontekstus, todėl gali turėti skirtingus kitų kalbų atitikmenis ir reikia įsitikinti, ar išversta arba pataisyta frazė pateko ten kur reikia. Sudėtingiau, kai tas pats žodžio arba frazės egzempliorius skirtinguose kontekstuose vartojamas skirtingomis prasmėmis arba turi turėti skirtingas gramatines formas. Tada reikia (ir kartais būna nelengva) parinkti frazę tokią, kad ji tiktų visiems kontekstams.

I – 17

Page 20: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

G.Grigas

Išvertus visas išteklių bylų frazes visi ekrano užrašai turėtų būti išversti. Deja, kiek teko patirti taip nėra. Pasitaiko frazių, įdėtų į programų (Java, JavaScript, C++, Perl ir kt.) tekstus. Reikia jas surasti ir išversti. Kartais tenka koreguoti ir dialogo langų dydį bei struktūrą.

Derinant parenkamos meniu užrašų raidės spartiesiems klavišams taip, kad jos būtų patogios (lengvai įsimenamos) ir nekonfliktuotų (tame pačiame meniu lygyje būtų visos skirtingos). Konfliktų sudėtingiau išvengti, kai yra persiklojantys meniu. Dėl to šis darbas atliekamas kartu su derinimu. Taigi, šiame etape nuolat kartojama trijų veiksmų seka: frazių derinimas (koregavimas), klavišų raidžių parinkimas ir išteklių bylų įdėjimas į programą.

Dėl įvairiapusiškų ir dažnai gana sudėtingų darbų šis etapas sudėtingas ir reikalauja aukštos ir visapusiškos kvalifikacijos: gerai žinoti terminiją ir turėti darbo patirtį su verčiama programa arba analogiška kita tokios pat paskirties programa.

4. Žinyno vertimas

Žinyno vertimas panašus į įprastų tekstų vertimą. Tačiau verčiant žinyną kartu atliekamas ir programos testa-vimas – dirbama su veikiančia programa ir tikrinama, ar viskas, kas išversta, yra teisinga. Čia testuojami bei koreguojami ir frazių vertimai, kadangi verčiant ir nuodugniai nagrinėjant žinyną išryškėja programos taikymo ir veiksmų kombinacijos, kurios nebuvo numatytos verčiant frazes. Testavimo sąnaudos būna gerokai didesnės už patį vertimą. Galima teigti, kad tik išvertus žinyną (arba parašius originalų) bus užbaigtas ir visas programos lokaliza-vimas. Be to, žinyno tekstą reikia adaptuoti (dažniausiai papildyti) turint omeny, kad programa veiks konkrečioje kalbinėje ir kultūrinėje terpėje.

4.1. Kitų kalbų vertimų panaudojimas

Kol kas į lietuvių kalbą verčiamos tik pačios populiariausios (daugiausia naudojamos) programos, kurios jau yra išverstos arba verčiamos į kitas kalbas. Dabar Mozilla yra išversta arba verčiama į 88 kalbas. Kai vertimas į lie-tuvių kalbą buvo pradėtas, kalbų skaičius buvo maždaug du kartus mažesnis. Tada jau buvo gana toli pažengusios lenkų, vokiečių, prancūzų ir rusų kalbų vertėjų grupės. Daugiausiai naudos davė žinyno vertimas į rusų kalbą, kadangi jis atliktas profesionaliai, jame yra daug vertėjo pastabų bei papildymų. Šiek tiek buvo pasinaudota ir vertimais į prancūzų ir vokiečių kalbas, ypač kai tekdavo susidurti su terminijos problemomis.

Versdami licenciją buvo naudojamasi lenkišku jos vertimu, nes lenkai gana anksti ją išvertė. Tam, kad būtų galima pasisemti naudos iš kitų kalbų vertimų, reikia dviejų sąlygų: kad vertimas į tą, kitą, kalbą

būtų pakankamai geras ir kad mūsų vertėjas būtų pakankamai pažįstamas su ta kalba. Reikia pastebėti, kad vertimų į kitas kalbas kokybė, ypač atvirojo teksto, labai įvairuoja: nuo mėgėjiškų, tiesiog neraštingų vertimų iki puikios kokybės profesionalių vertimų. Yra vertimų, aiškumu ir minčių dėstymo sklandumu pralenkiančių originalą. Tai nieko nuostabaus. Programų žinynai nėra meno ar filosofijos kūriniai, kuriuos verčiant reikia nenukrypti nuo autoriaus minčių. Dokumentaciją, ypač atvirojo teksto programų, galima visokeriopai tobulinti. Jeigu visi tą patį tekstų perrašytų kitomis kalbomis nepagerindami jo, tai nebūtų pažangos.

4.2. Žinyno adaptavimas

Žinyne būna pavyzdžių susijusių su kalba arba valstybe: pašto adresai, asmenvardžiai, piniginiai vienetai ir pan. Natūralu, kad jie organiškai įsilietų į kalbą, kuria parašytas žinynas. Pavyzdžiui, adresą [email protected] derėtų pakeisti į [email protected] ar panašų.

Ten, kur kalbama apie numatytąją koduotę reikia rašyti tą, kuri yra iš tikrųjų vartojama, pavyzdžiui, ANSI pakeisti Windows-1257 arba trumpiau – į Windows.

Savaime aišku, kad paveikslėliai turi būti pakeisti į tuos, kurie iš tikrųjų matomi lokalizuotoje programoje. Taigi, reikia išversti ne tik aprašymus, bet ir iliustracijas.

4.3. Žinyno papildymai

Programų žinynuose būna spragų – kas nors nepakankamai aprašyta arba išvis neaprašyta. Be to lokalizuojant atsiranda naujų dalyko, kuriuos reikėtų žinyne aprašyti.

Dabartinės lietuviškos Mozillos žinyne papildymų nedaug: šiek tiek praplėsti kai kurie skyreliai, kuriuos originale laikėme nepakankamais. Ateityje numatoma papildyti žinyne esantį aiškinamąjį terminų žodynėlį.

Mozillos žinyne yra keletas nuorodų į svetaines, kuriose galima rasti papildomos informacijos: patarimų, kaip parinkti gerą slaptažodį, HTML kalbos standartą, straipsnį apie kriptografiją viešuoju raktu ir kt. Dabartinėje versijoje prie tokių nuorodų yra tik užrašai „(anglų kalba)“, informuojantis, kad jie parašyti anglų kalba. Ateityje numatoma dažniau reikalingą medžiagą išversti arba parašyti ir įdėti į lietuviškos Mozillos svetainę.

I – 18

Page 21: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Interneto programų paketo lietuvinino patirtis

4.4. Kitų tekstų vertimai

Be žinyno programose būna kitų tekstų, kuriuos reikia išversti. Tai licencija, informacinė byla skaityk.txt, infor-macija apie programą.

Paketas Mozilla yra atvirojo teksto ir platinamas pagal Mozillos viešąją licenciją ir Netscape viešąją licenciją. Šios licencijos leidžia versti arba kitaip modifikuoti programas ir jas platinti pagal tose licencijose numatytas sąlygas. Todėl juridinių sunkumų lokalizuojant programų paketą nebuvo, išskyrus pačių licencijų vertimą, kadangi atvirojo teksto institucijos nenumato licencijų vertimo į kitas kalbas ir iškilus teisminiams ginčams būtų vadovaujamasi originalia angliškąja licencija. Todėl šį ribojimą teko apeiti licencijos vertimo pradžioje įrašant pastabą, kad toks vertimas yra neoficialus ir kad, iškilus teisminiams ginčams, bus vadovaujamasi angliškąja licen-cija. Šiuo atveju tas neturi didesnės įtakos eiliniam programos naudotojui, kadangi jam praktiškai viskas leidžiama: nemokamai naudotis programa, ją kopijuoti, dauginti ir platinti. Todėl jam beveik nėra galimybės pažeisti licenciją. Licenciją gali pažeisti tie, kas modifikuoja ir platina modifikuotą programą. Tokiu atveju reikia vadovautis oficialiu tekstu. Su tokia problema susiduriama ir kitose atvirojo teksto licencijose. Todėl šis klausimas turėtų būti sprendžiamas globaliai.

Įvairių kitų bylų vertimas nekėlė problemų. Svarbu jų nepamiršti.

4.5. Vertėjų kvalifikacija

Vertėjas turi gerai mokėti kalbą, iš kurios verčia, ir labai gerai, į kurią verčia. Tam, kad galima būtų pasinaudoti kitų kalbų vertimais pakanka tas kalbas mokėti patenkinamai. Reikalinga ir darbo patirtis.

Verčiant Mozillą buvo bandoma į darbą įtraukti informatikos specialybės studentus (magistrantus), kurie buvo laikomi gerai mokančiais anglų kalbą. Deja jie dar negalėjo dirbti savarankiškai. Jų darbo rezultatus buvo galima laikyti vertimų ruošiniais, kuriais pasinaudodamas vertėjas galėdavo sutrumpinti savo darbą maždaug trečdaliu arba ketvirtadaliu.

5. Testavimas 5.1. Testavimo būdai

Programą testavome šiais būdais. 1. Sistemingai peržiūrėdami meniu medžius, nuostatų aplankus (medžius) ir jų langus. 2. Bandydami programos darbą įvairiose situacijose. 3. Peržiūrėdami frazių žodyną įvairiais pjūviais. 4. Normaliai naudodamiesi programų paketu kasdieniniame darbe. 5. Versdami elektroninį žinyną.

Kiekvienas naujas testavimo būdas padėdavo rasti naujų tobulintinų vietų. Todėl galima teigti, kad kuo įvairiau testuojama, tuo geriau.

5.2. Ryšys su žinyno vertimu

Du iš pažiūros skirtingi darbai: paketo testavimas ir elektroninio žinyno vertimas buvo atliekami lygiagrečiai ir esant nuolatiniam ryšiui tarp šių darbų. Tai buvo daroma dėl to, kad verčiant žinyną tenka nuodugniai išnagrinėti programos veiksmus bei išbandyti įvairias jos darbo situacijas. Tai ir yra testavimas. Čia pat pastebimi dialogo ver-timo netikslumai, juos galima koreguoti, vėl testuoti, koreguoti žinyno vertimą. Paaiškėja ir žinyno originalo trūkumai, kuriuos galima pašalinti papildant vertėjo pastabomis arba adaptuojant tekstus.

Verčiant žinynus buvo daugiau įsigilinama į ekrane matomus dialogo tekstus. Tekstai buvo tikslinami, koreguo-jami. Be to, ekrane matomi tekstai buvo derinami su žinyno tekstais – papildžius arba kitaip padarius dialogo tekstus informatyvesnius buvo galima suprastinti kai kuriuos žinyno tekstus ir atvirkščiai – kai paaiškėdavo, kad žinyno paaiškinimai nepakankami, jie buvo papildomi.

Manome, kad ir spausdinto programos vadovo rašymą būtų naudinga susieti su dar vienu testavimu.

6. Redagavimas

Redaguoti reikia visus rišlius tekstus: žinyną, kompiuterio pranešimus, paaiškinimus dialogo languose, o taip pat ir ilgesnius langų pavadinimus ar komandas. Redagavimas gali būti dalykinis ir kalbinis. Mozillos tekstus vertė programavimo specialistai. Todėl laikėme, kad dalykiniu požiūriu tekstai pakankamai geri ir jų dalykiškai

I – 19

Page 22: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

G.Grigas

neredagavome. Kalbiniu požiūriu visus tekstus redagavo leidyklos profesionali redaktorė, kurios pagrindinis darbas yra informatikos knygų redagavimas.

Jeigu verstų lituanistai, tai tada matyt situacija būtų priešinga – nereikėtų kalbinio redagavimo, bet reikėtų da-lykinio.

Bet kuriuo atveju reikia, kad visi programos tekstai būtų gauti taisyklingi, sklandūs. Programinės įrangos tekstų kokybė, taip pat ir geras redagavimas dažnai gali būti svarbesnis už knygų, juo labiau laikraščių arba žurnalų redagavimą, kadangi daugelis žmonių ta pačia programa naudojasi nuolat. Todėl programos atidavimas viešam naudojimui turėtų būti ne mažiau atsakingas, negu leidinio atidavimas spaudai.

7. Kompleksinis testavimas

Atliekamas užbaigus visus (abiejų dalių) darbus. Kompleksinį testavimą tikslinga suskirstyti į dvi dalis: 1) vidinis testavimas – atlieka ta pati grupė, kuri lokalizavo programą arba jos pačios pasirinkti testuotojai ir 2) išorinis – atlieka kiti asmenys, specialiai testuojantis programą arba ją naudojantis kasdieniniame darbe ir informuojantys lokalizuotojus apie pastebėtas klaidas.

Daugiausia pastabų ir naudos sulaukėme iš pirmosios dalies – vidinio testavimo.

8. Papildymai

Yra programos komponentų, kurių negalima išversti. Juos reikia pakeisti kitais. Toks naršyklių komponentas yra adresynas. Į originalios programos adresyną įtraukti adresai praktiškai nenaudingi Lietuvoje esančiam prog-ramos naudotojui. Lietuviškai paketo atmainai sudarėme naują adresyną, į kurį įtraukėme svarbiausių lietuviškų svetainių adresus.

Į parankinę įtraukėme tris lietuviškas paieškos sistemas: Google, Seklį ir Search.lt.

9. Programos priežiūra

Programos tobulinamos, atsiranda naujos jų versijos. Tam, kad lietuviška programos atmaina būtų gyvybinga, reikia operatyviai atnaujinti jos versijas, taisyti pastebėtus netikslumus, atsakyti naudotojams į klausimus.

Mozilla yra atvirojo teksto programa. Todėl visi jos patobulinimai skelbiami nuolat. Yra taip vadinamos naktinės versijos, kurios atsiranda praktiškai po kiekvienos nakties ir identifikuojamos tos dienos data. Jomis naudojasi programos projektuotojai ir tobulintojai, išsibarstę po visą pasaulį. Kai patobulinimų prisirenka pakankamai daug, pradedama formuoti „tikra“ versija, turinti numerį. Išleidžiami bandomieji variantai, kurie vadinami alfa, beta, rc1, rc2 ir t. t. Pagaliau išleidžiama galutinė versija. Tokios versijos pasirodo kas porą mėnesių. Ar reikia visas jas lokalizuoti?

Eilinis programos naudotojas nori normalaus darbo, o ne eksperimentų. Nedidelė darbo patirtis su kitomis lokalizuotomis programomis rodo, kad racionalu versijas atnaujinti 1–2 kartus per metus. Kuo greičiau pasirodys lokalizuota versija po to, kai išleista originali, tuo geriau. Bet prieš tai dar reikia įsitikinti, ar originali versija pakankamai stabili. Kaip pavyzdį, galima nurodyti dabartinę Mozillos lokalizuotą versiją 1.2.1. Jos originalo pirm-takas – versija 1.2 buvo paskelbta 2002 m. lapkričio 26 d. Netrukus joje buvo pastebėta esminių klaidų ir gruodžio 2 d. išleista nauja versija 1.2.1. Gruodžio 19 d. išleidome lietuvišką šios versijos atmainą. Taigi, įvertinant tam tikrą naujos versijos išbandymų periodą, galima tvirtinti, kad nauja lietuviška versija turėtų pasirodyti praėjus maždaug 3 savaitėms po originalios versijos pasirodymo.

Visa informacija apie lietuvišką Mozillos atmainą skelbiama tinklalapyje http://aldona.mii.lt/pms/progr/lok /mozilla. Be to apie tai, kokia yra naujausia lietuviškos Mozillos naujausia versija informuojama slenkančioje nar-šyklės juostelėje.

Lietuviškos Mozillos priežiūros patirties dar neturime. Tačiau įvertindami darbą su kitomis lokalizuotomis prog-ramomis galima laikyti, kad metinės priežiūros sąnaudos (versijų atnaujinimas, informacijos svetainėje tvarkymas, atsakymai į naudotojų klausimus) turėtų sudaryti maždaug 10–20 % pradinių lokalizavimo sąnaudų.

10. Išvados

Pradėdami lokalizavimo darbus turėjome susiformavę tam tikrą įvaizdį apie juos. Praktiškai darant darbą tas įvaizdis keitėsi. Todėl čia bandysime akcentuoti tai, kas keitėsi. Gal tai bus naudinga tiems, kas yra pradėję ką nors lokalizuoti arba ruošiasi tai daryti.

I – 20

Page 23: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Interneto programų paketo lietuvinino patirtis

1. Prieš pradedant lokalizavimą reikia įvertinti programą, jos autoriaus ir savo galimybes prognozuojant situaciją keliems metams į ateitį: ar programa galės konkuruoti su kitomis tos pačios paskirties programomis, jos lokalizavimo galimybes, užmegzti kontaktą su autoriumi (autoriais), įvertinti bendravimo su juo sklandumą, autoriaus galimybes toliau tobulinti programą, įvertinti savo jėgas ir iš– ar jų pakaks lokalizavimui užbaigti iki galo ir dar keletą metų prižiūrėti programą bei parengti naujas jos versijas.

2. Vien sąsajos frazių vertimas, be žinyno vertimo ir testavimo, sudaro tik nedidelę viso lokalizavimo sąnaudų dalį (apie 10 %). Dėl to čia jį vadinome juodraštiniu vertimu.

3. Lokalizavimą galima laikyti baigtu ir programą rekomenduoti platinimui tiktai tada, kai išverstas jos elektroninis žinynas ir sąsajos frazių vertimai pakankamai ištestuoti ir visi tekstai redaguoti.

4. Lokalizuotojo(-ų) kvalifikacija turi būti pakankamai aukšta ir visapusiška: labai geras lietuvių kalbos mokėjimas, geras originalo (dažniausiai anglų) kalbos mokėjimas, pageidautinas dar vienos kitos kalbos, į kurią yra išversta programa, žinojimas, lokalės ir su ja susijusių informacinės technologijos standartų žinojimas, programavimo žinios, darbo patirtis su lokalizuojama programa arba kita tokios pat paskirties programa.

Literatūros sąrašas [1] G. Grigas, T. Jevsikova. Interneto programų paketo „Mozilla“ lokalizavimas ir naudojimas mokykloje. Lietuvos

matematikos rinkinys, 2002, t. 42, spec. Nr., p. 241––248. [2] G. Grigas, T. Jevsikova. Lietuviškoji „Mozilla“. Kompiuterija, 2002, Nr. 11, p. 26–27.

Experience of Internet program package localization into Lithuanian

The experience of Internet package Mozilla localization into Lithuanian is presented. The localization consists of two main parts: adapting to Lithuanian locale (code tables in particular), and translation of interface texts and help files. The paper deals with the second part. It covers such problems as process of translation itself, including automatic tools, terminology, adjusting translated phrases to context, editing, testing, and debugging. Ways of problem solutions are presented and discussed. It is expected that the material presented here may be useful for other localization teams.

I – 21

Page 24: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

NAUJAUSI KOMPIUTERIJOS TERMINAI

Valerijonas Žalkauskas Vilniaus universitetas, Universiteto 3, Vilnius

Straipsnyje pateikti ir aptarti naujausi kompiuterijos terminai iš „Šiuolaikinių kompiuterių programų ir tinklų žodyno“.

1. Įvadas

2002 m. gruodžio 12 d. Valstybinė lietuvių kalbos komisija aprobavo „Šiuolaikinių kompiuterių programų ir tinklų žodyną“. Žodynas ruošiamas spaudai. Žodynas trikalbis: anglų–lietuvių–prancūzų kalbų. Jame daugiau kaip 5000 terminų. Tai pirmasis kompiuterijos žodynas, kurio lietuviški terminai derinti su prancūzų kalbos atitikmenimis. Žodyno pagrindą sudaro „Microsoft Windows“ ir visų „Microsoft Office“ programų terminai. Dalis terminų surinkta iš pačių programų, kita dalis iš oficialių „Microsoft“ programų anglų–prancūzų kalbų frazynų. Žodyno terminai derinti su „OS/2 Warp“ operacinės sistemos lietuviškos versijos, lietuviškų „IBM Works“ programų terminais. Jau baigus rengti žodyną, „Microsoft“ bendrovė pateikė dalinio „Windows“ lietuvinimo paketą bei lietuviškas „MS Word“ ir „MS Outlook“ programų versijas. Todėl žodyno recenzavimo metu jo terminai derinti su lietuviškų „Microsoft“ programų terminais.

2. Terminų parinkimo principai

Rengiant „Šiuolaikinių kompiuterių programų ir tinklų žodyną“ vadovautasi tam tikromis nuostatomis. Pirma, kai yra keli atitikmenys anglų kalbos terminui, pirmenybė teikta geram lietuviškam atitikmeniui. Klasikiniu pavyzdžiu čia gali būti rinkmenos, failo, bylos dilema. Turime plačiai vartosenoje paplitusią anglybę failas ir du jos lietuviškus atitikmenis. Daug prirašyta apie termino byla problematiškumą, tačiau dalis kompiuterininkų niekaip negali atsisakyti ydingai vartojamo žodžio. Pateiksiu du angl. file apibrėžimus originalo kalba: file (Comp.) General term for named set of data items stored in machine readable form [1], ir file 3. Computing. Collection of (usu. related) data stored under one name [2]. Vieno apibrėžimo pagrindinis žodis set, kito collection. Abu žodžiai į lietuvių kalbą verčiami rinkiniu. Vargu ar bebūtų galima rasti semantiškai artimesnį file atitikmenį už rinkmeną. Dauguma naujausių žodynų jau teikia pirmenybę rinkmenai. Aptariamame žodyne taip pat palikta tik rinkmena. Prie jos gerai dera dar vienas terminas: porinkmenis – subfile.

Antra, laikytasi nuostatos, kad dera teikti pirmenybę tarptautiniam žodžiui tais atvejais, kai esami lietuviški jo atitikmenys nėra tikslūs, arba jie yra keliažodžiai. Todėl žodyne rasime tokius tarptautinius žodžius kaip serveris, multimedija, o ne abejotinus jų atitikmenis tarnybinė stotis, ar įvairialypė terpė. Juk serveris gali būti visai ne kokios nors tarnybos ar tarnybinis kompiuteris. Jis gali būti privatus, tačiau teikiantis paslaugas, todėl vadintinas paslaugų kompiuteriu.

Trečia nuostata liečia pseudo tarptautinius žodžius, tokius kaip buferizacija ar maršrutizacija. Nėra nei angliško nei prancūziško žodžio buferisation. Angliškai tai buffering, o jo prancūziškas kompiuterijos atitikmuo tamponnage. Nėra ir angliško ar prancūziško marchrutisation. Todėl rengiant žodyną buvo laikomasi nuostatos, kad pseudo tarptautiniai žodžiai visu pirma keistini lietuviškais atitikmenimis.

Kai kurios žodyno naujovės, pavyzdžiui lustynas, rengyklė, programišius buvo pasiūlytos ir aprobuotos jau svarstant žodyną Valstybinės lietuvių kalbos komisijos terminologijos pakomisėje.

3. Aktualūs žodyno terminai

appointment – 1. užsiėmimas (nustatytas darbadienio tarpsnis), 2. susitikimas key assignments – klavišų prieskyros bar – 1. baras (lango ruožas, tam tikro pločio sritis), 2. juosta (ilga, siaura lango sritis) buffer – 1. kaupas (laikinojo laikymo vieta), 2. buferis double buffering – dvikartė kaupa (dvikartis laikinasis duomenų kaupimas)

I – 22

Page 25: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Naujausi kompiuterijos terminai

bug – riktas (netikslumas, apsirikimas programoje) builder – dariklis (pagalbinė priemonė, padedanti sukonstruoti išraiškas ar elementus) cache, cache memory – 1. priešatmintė (artimiausia, sparčiausia ir mažiausios kreipties trukmės atmintinė),

2. podėlis (specialus aplankas, kuriame laikomos iš tinklo parsisiųsdintų dokumentų kopijos) caching – pasidėjimas (tinklo dokumentų kopijavimo į specialų aplanką procedūra, leidžianti juos peržiūrėti

atjungties būsenoje) callouts – paaiškinimai (aiškinamieji užrašymai) caption – pavadinimas (paveikslėlio, lentelės ar kito elemento pavadinimo dalis, pavyzdžiui, 1. pav.) cell – narvelis (mažiausias lentelės elementas riboto dydžio informacijai įvesti) character – 1. rašmuo (raidė, skaitmuo, specialus simbolis ar žyma), 2. ženklas real time chat – tiesioginis pokalbis, tikralaikis pokalbis chip set – lustų rinkinys, lustynas (plokštėje sumontuotų suderintų grandynų rinkinys) choice – pasirinktis clipboard – iškarpinė notebook computer – knygiškasis kompiuteris (knygos formato kompiuteris) palmtop computer – delninis kompiuteris, delninukas pocket-size computer – kišeninis kompiuteris contacts – asmeninė adresinė cookie – slaptukas, atminas (trumpa žinutė, žiniatinklio palikta Jūsų kompiuterio diske) cursor – žymiklis (pelės rodyklė ekrane, žyminti galimą veiksmą ar būseną) custom – 1. vartótojo, 2. tinkintas keyboard customization – klaviatūros tinkinimas cybernaut; cyber surfer – tinklininkas (dirbantis tinkle; interneto vartotojas), internautas delivery – pristatymas, įteikimas liquid crystal display (LCD) – skystakristalis vaizduoklis docking – pritvirtinimas, prijungimas disk drive – 1. disko skaitlys (disko nuskaitymo ir įrašymo įtaisas), 2. diskų įtaisas (bendrasis terminas), 3. disko

suklys (disko sukimo įtaisas) driver – tvarkyklė (įtaisą valdanti programa) edit – 1. taisa (duomenų permontavimas ir keitimas), 2. taisyti Web editor – tinklalapių rengyklė grammar engine – gramatikos (tikrinimo) varytuvė favorites – parankiniai adresai (vartotojo parinktų tinklalapių adresinė) file – rinkmena (laikmenoje įrašytų duomenų elementų rinkinys, turintis vardą) subfile – porinkmenis (rinkmenos dalis, turinti atskirą vardą) firewall – užkarda (vietinio tinklo apsaugos priemonė, sauganti nuo neleistinos prieigos prie tinklo laikmenų) footer – 1. poraštė (apatinė lango, puslapio ar kito elemento dalis dokumentui numeruoti, išnašoms, antraščių

atvaizdžiams įdėti), 2. puslapio poraštė (Word) formatting – 1. formuotė (formavimo rezultatas, formatų visuma), 2. formavimas (vyksmas) frame – 1. kadras (pavienis filmuko vaizdas), 2. rėmas (grafikos elemento apvadas; apvestoji lango dalis),

3. polangis (lango dalis) gateway – tinklų sietuvas hacker – programišius, programavimo aistruolis cell handle – narvelio ąselė (narvelio kampas, naudojamas užpildai ar kopijavimui) header – 1. antraštė (viršutinė lango ar puslapio ar kito elemento dalis dokumentui numeruoti, išnašoms, antraščių

atvaizdžiams įdėti), 2. puslapio antraštė (Word) sub-header – 1. paantraštė, 2. poskyrio antraštė host – 1. pagrindinis (tinklo) kompiuteris, 2. svetainė, svetainės kompiuteris (žiniatiklio paslaugas teikiantis

kompiuteris)

I – 23

Page 26: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

V.Žalkauskas

hosting – priegloba (svetainės paslauga, tinklalapių priėminas, publikavimas) hypermedia – hipermedija (žiniatinklio multimedija – hiperteksto saitų su teksto vaizdo ir garso rinkmenomis

visuma) hanging indent – patrauka, atvirkštinė įtrauka (pastraipos eilučių patraukimas po pirmąja eilute tam tikru atstumu) interface – 1. sietuvas (susiejimo įtaisas), 2. sąsaja (priemonės ir taisyklės) intranet – vidinis tinklynas (vidinis įstaigos tinklas, naudojantis interneto principus ir priemones), intranetas label – 1. žymena (ko nors pažymėjimas tam tikru užrašu), 2. etiketė (apibūdinimo lapelis) spacing modifier letters – raidžių keitmenys („Unicode“ poaibis, kuriame yra varnelė, brūkšnys, nosinė, taškas ir

kiti raidžių elementai) media library – mediateka (teksto, vaizdo ir garso laikmenų biblioteka) link – 1. ryšio linija, 2. saitas (teksto ar vaizdyno dalis, kurią paspaudus įkeliamas susietasis elementas. Skirtingai

nei nuoroda, saitas paprastai susieja su kita rinkmena ar laikmena), 3. susieti boot loader – pradinis įkėliklis loading – įkėlimas (duomenų nuskaitymas iš laikmenos ir jų įkėlimas į operatyviąją atmintinę; duomenų

parsisiųsdinimas iš žiniatinklio) login – 1. įėjimo vardas (vartotojui paskirtas vardas, naudojamas prieigai prie kompiuterių ar jų sistemos),

2. slapyvardis, 3. įėjimas (įėjimo į sistemą veiksmas), 4. seanso pradžia logoff – 1. išėjimas (išėjimo iš sistemos veiksmas, komanda), 2. seanso pabaiga logon – 1. įėjimas (įėjimo į sistemą veiksmas), 2. seanso pradžia look up – 1. pasirinkimas (duomenų peržiūrėjimas ir pasirinkimas iš kitos laikmenos, rinkmenos ar elemento),

2. pasižiūrėjimas (informacijos pažiūrėjimas kitoje vietoje), 3. pažiūrėti manager – tvarkytuvė (elementų tvarkymo priemonė, programa) mapping – 1. atvaizdavimas, 2. atvaizdis (papildomas kompiuterio formuojamų duomenų rodinys, jų originalių

elementų, pavyzdžiui, antraščių atspindys turinyje) mark – 1. žyma, pažyma (teksto elemento ar jo ypatybių rodmuo, žymiklis), 2. žymė (matomas ženklas, pėdsakas,

varnelė), 3. žymėti marker – žymeklis (pažymėjimo priemonė, įrankis) combining diacritical marks – prijungiamieji kirčio ženklai, prijungiamieji diakritikai („Unicode“ poaibis) memo – 1. atmena (didelių tekstinių duomenų lauko tipas (Access)), 2. pastabos (trumpi įrašai) memory – 1. atmintinė (kompiuterio atminties įtaisas), 2. atmintis (duomenų įsiminimas, įsiminimo galia) volatile memory – neliekamoji atmintinė context menu – 1. kontekstinis meniu, 2. paranknis meniu (meniu, atveriamas dešiniuoju pelės mygtuku) shortcut menu – parankinis meniu (meniu, atveriamas dešiniuoju pelės mygtuku) merge – 1. sulieti (sujungti elementus suliejant juose esančius duomenis), 2. sąlaja (suliejimo veiksmas arba

rezultatas) mode – 1. būsena, 2. veiksena (veikimo būdas), 3. rodinys (pateikimo tipas) control mode – valdysena (valdymo būdas) hibernate mode – išjungimas įrašius būseną (išjungtoji kompiuterio būsena, kai vartotojo darbas ir atmintinės

turinys įrašyti į standųjį diską) operating mode – veiksena (veikimo tipas) processing mode – dorosena (apdorojimo tipas) stand by mode – pristabdytoji veiksena (kompiuterio veiksena, kai budi sulaikytas vaizduoklis ir/arba sustabdytas

standusis diskas) monitor – 1. monitorius (sistemos priežiūros įtaisas arba programa), 2. vaizduoklis (vaizdo pateikimo, vaizdavimo

įtaisas, ekranas) monitoring – priežiūra (sistemos stebėjimas, duomenų analizavimas ir saugos priemonės) multimedia – multimedija (teksto, vaizdo, garso ir filmukų rinkmenos ir laikmenos) netizien – tinklininkas (asmuo, dirbantis tinkle; interneto vartotojas), internautas netsite; network site – tinklo vieta, tinklavietė Local Area Network (LAN) – vietinis tinklas (įstaigos kompiuterių tinklas, kurio sujungimo linijų ilgis neviršija 1

km)

I – 24

Page 27: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Naujausi kompiuterijos terminai

Metropolitan Area Network (MAN) – teritorinis tinklas (vietinių tinklų junginys ryšio linijomis, paprastai didelio miesto ribose)

stubnetwork – potinklis (tinklo dalis) Wide Area Network (WAN) – platusis tinklas (vietinių ir teritorinių tinklų junginys, paprastai tam tikroje vietovėje) newsreader – naujienų skaitytuvė offline – 1. atjungtis (veikimo būsena be duomenų mainų ryšio linija), 2. atjungtinis (veikimas), 3. atsijungęs

(vartotojas) online – 1. prijungtis (veikimo būsena keičiantis duomenimis ryšio linija), 2. prijungtinis (veikimas), 3. prisijungęs

(vartotojas) option – parinktis (pasirinktoji vertė, būsena) outline – 1. metmenys, 2. apvadas, 3. kontūras overcharge, overload – 1. perkrova (per didelis apkrovimas), 2. perkrovimas Web page – tinklalapis pane – polangis (lango dalis) pattern – raštas (fono piešinys, marginys) my network places – mano tinklavietės plaid – raštuotė (išmargintas fonas) player – 1. leistuvė (judančio vaizdo, filmuko leidimo programa), 2. leistuvas (leidimo įtaisas) sound player – grotuvė (garsą atkurianti programa) pointer – žymiklis (pelės rodyklė ekrane, žyminti galimą veiksmą ar būseną) portal – interneto vartai, portalas (sudėtinga tinklavietė, turinti daug saitų) prefix – 1. priešvardis (pavyzdžiui, dalelė RE laiško temos pavadinime), 2. ženklinti, 3. priešdėlis presentation – 1. pateikimas (rezultatų pateikimas, pristatymas), 2. pateiktis (rezultatų pateikimo rinkmena ar kitoks

darinys) shared printer – bendrai naudojamas spausdintuvas word processing – teksto apdorojimas word processor – teksto doroklė crosstab query – kryžminė užklausa reader – 1. skaitlys (nuskaitymo įtaisas), 2. skaitytuvė (skaitymo programa; garso sintezavimo programa) non-realtime – 1. netikralaikis, 2. nesinchroniškas reboot – 1. kartotinis paleidimas, 2. kartotinis įkėlimas, 3. pakartoti paleidimą recycle bin – šiukšlinė (Windows elementas pašalintoms rinkmenoms laikyti) reference – nuoroda (nurodymas į kitą teksto ar vaizdyno elementą. Skirtingai nuo saito, nuoroda paprastai susieja

su kitu tos pačios rinkmenos elementu) look up reference – pasirinkimo nuoroda relationships – sąryšiai, sąryšių sistema database replication – duomenų bazės replikavimas (specialios duomenų bazės rinkmenos kopijos – replikos –

darymas) reset – atstata (pradinės būsenos atstatymas) roaming – 1. klajojantis (vartotojas), 2. klajūnas router – kelvedis (įtaisas ar programa, parenkanti sujungimo kelią duomenims persiųsti tinkle) routing – kelvada (sujungimo kelio parinkimas duomenims persiųsti tinkle) program run – programos pergina scanner – 1. skleistuvas (skleidimo įtaisas), 2. skaitytuvas (duomenų nuskaitumo prietaisas), 3. žvalgytuvas

(rinkmenos, laikmenos, kompiuterio paieškos ir analizavimo priemonė) screentips – ekrano patartys script – 1. rašmena (programėlė, kuri gali būti lengvai taisoma ir interpretuojama), 2. scenarijus (programos

planas, schema, juodraštis), 3. rašmenys (rašmenų poaibio pasirinktis) selection – 1. išranka (išrinktoji dalis), 2. išrinkimas (dorotinų elementų pasirinkimo ir išskyrimo veiksmas; išranka

paprastai yra matoma), 3. atranka (duomenų atrinkimo vyksmas; atrankai paprastai naudojami filtrai)

I – 25

Page 28: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

V.Žalkauskas

server – serveris caching settings – podėlio nuostatos setup – 1. įrengti, 2. sąranka (įrengtos programos rinkmenos ir sistemos statos) share – 1. paskirstymas (tam tikrų laikmenos dalių padalijimas nustatytiems vartotojams ar jų grupėms),

2. paskirsta (paskirstymo elementas, variantas), 3. paskirstyti, leisti naudotis shortcut – 1. nuoroda (speciali rinkmena, kurioje nurodytas kelias į elemento originalą), 2. trumpinys (komandos

santrumpa; klavišų derinys) call signal – šaukinys (garsinis signalas, iš kurio atpažįstamas jo šaltinis) Internet site – interneto vieta, tinklavietė Web site – žiniatinklio vieta, tinklavietė slide sorter – skaidrių rikiuoklė sorting – 1. rikiavimas (sutvarkymas, išdėstymas tam tikra tvarka), 2. rūšiavimas (suskirstymas rūšimis) line spacing – eilučių protarpiai spool, spooler – 1. kaupas, 2. suktukas spooling – kaupa (laikinasis duomenų kaupimas) stack – 1. rietuvė (atmintinė, veikianti pagal principą „paskutinis (duomuo) padedamas, pirmas paimamas“),

dėklas backup storage – atsarginė laikmena subcommand – pakomandis (smulkesnė komanda, jos dalis) interrupt subprogram – pertraukčių paprogramis subroutine – paprogramis (programos dalis) suffix – 1. povardis (pavyzdžiui, skaičius II yra vardo Augustas II povardis), 2. priesaga cyber surfer; cybernaut – tinklo naršytojas, infonautas net surfing; Internet surfing – interneto naršymas tab – 1. tabuliatorius (tabuliavimo žymė; tabuliavimo klavišas), 2. šaknelė (lango kortelės antraštė) pivot table – sukinio lentelė, kryžmenos lentelė tag – gairė, žyma (hiperteksto elementų rodmuo, žymiklis) template – šablonas formatted text – formatinis tekstas plain text – paprastas tekstas, beformatis tekstas unformatted text – beformatis tekstas tile – išklotinė (langų išdėstymas greta vienas kito) message timeline – pranešimų laikaskalė (laiko skalės juosta su joje išdėstytais laiškais) toolbar – parankinė (pagalbinių mygtukų juosta komandoms vykdyti pele) toolbox – parankinė (pagalbinių mygtukų langas komandoms vykdyti pele) tools – priemonės tooltip – patartis, etiketė translator – 1. vertyklė (kompiuterinio vertimo programa), 2. transliatorius (viena programavimo kalba išreikštų

komandų keitimo į kitą kalbą programa) uninstall – 1. pašalinti programas, 2. programų šalinimas (programos rinkmenų pašalinimas ir sistemos statų

atstatymas) unloading – iškėlimas (duomenų pašalinimas iš operatyviosios atmintinės ir dalies jų įrašymas į laikmeną) update – naujinti upgrade – plėtoti utility – naudmena (pagalbinė programa, priemonė) videodisk – vaizdadiskis view – 1. rodinys (rodymo tipas, būdas), 2. rodyti viewer – 1. vaizduoklė (pagalbinė programa, leidžianti visu formatu pavaizduoti grafiką, leisti filmukus ir groti),

2. žiūryklė (peržiūros priemonė)

I – 26

Page 29: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Naujausi kompiuterijos terminai

World Wide Web, web – (visuotinis) žiniatinklis (tinklinė hipermedija, leidžianti kreiptis į interneto laikmenas ir gauti informacijos)

wildcards – pakaitos simboliai wizard – vediklis (pagalbinė priemonė, padedanti keliais žingsniais padaryti sudėtingus darinius) wrapping – 1. apgaubimas (teksto judėjimas aplink objektus), 2. laužymas (žodžių ar eilučių)

Literatūros sąrašas [1] Larousse Dictionary of Science and Technology, New York, 1995, 417 p. [2] Pocked Oxford Dictionary, Oxford University Press, 1994, elektroninė versija.

The new terms of information technology

The most actual terms of “Dictionary of modern computer programs and networks” are presented in this paper. The some terms of information technology are discussed.

I – 27

Page 30: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

TEKSTO APDOROJIMO IR INFORMACIJOS PATEIKIMO MOKYMO ASPEKTAI, ĮVERTINANT PROGRAMINIŲ SISTEMŲ ĮVAIROVĘ

Vitalija Keršienė, Romas Marcinkevičius KTU Programų inžinerijos katedra

Studentų 50, Kaunas

Straipsnyje nagrinėjami Microsoft Office programų Word ir PowerPoint bei OpenOffice.org Writer ir Impress panaudojimo privalumai bei trūkumai keliais aspektais: kurį paketą ir kodėl reiktų pasirinkti studentų mokymui, kokią mokymo strategiją reiktų pasirinkti perėjus prie OpenOffice.org programų, lyginamos paketų galimybės bei perkėlimo iš vienos sistemos į kitą problemos.

1. Įžanga

Netgi be didelių statistinių tyrimų galima tvirtinti, kad šiuo metu Lietuvoje vyraujanti tekstų ruošimo kom-piuteriu sistema yra Microsoft (MS) Word, pateikčių ruošimo – MS PowerPoint [1]. Pereinant tik prie legalizuotų kompiuterinių programų vartojimo, auga atvirojo kodo sistemų, tokių kaip OpenOffice.org [2], poreikis.

Šiame straipsnyje trumpai apžvelgsime teksto apdorojimo ir informacijos pateikimo mokymo ypatybes, plintant atvirojo kodo sistemoms. Nagrinėsime tokiais aspektais:

a) ką pasirinkti (MS Word ir MS PowerPoint ar OpenOffice.org Writer ir OpenOffice.org Impress, versiją anglų ar lietuvių kalba),

b) mokymo strategija, c) bendro abiejų tipų sistemų vartojimo ypatybės.

2. Sistemos versija

Tiek tekstų apdorojimui, tiek pateikčių rengimui, programinės įrangos projektavimo firmos kuria specialias programas. Vartotojas paprastai naudojasi tomis programomis, kurios priklauso turimam integruotam programų paketui:

Microsoft Office paketo programos MS Word ir PowerPoint Corel Office Professional paketo programos WordPerfect ir Corel Presentations Lotus Smart Suit paketo programos Lotus WordPro ir Freelance Graphics Harvard Graphics programa, skirta profesionalioms prezentacijoms Windows aplinkoje kurti. Visoms šioms programoms būdingi panašūs bruožai, kadangi sutampa jų paskirtis. Šiuo metu Lietuvoje

plačiausiai naudojamos Microsoft Office paketo programos, tačiau Šiuo metu į neakivaizdinę konkurencinę kovą įsijungė ir laisvai platinama Atvirojo teksto programų sistema OpenOffice.org.

2.1. Naudojama sistema: MS Office ar OpenOffice.org?

MS Office privalumai: šiuo metu labiausiai Lietuvoje vartojama, bent šiek tiek moka naudotis visi, dirbantys kompiuteriu, beveik visi valstybinių ir privačių įmonių dokumentai yra paruošti šia programa ne tik Lietuvoje, bet ir daugelyje užsienio šalių. MS Office trūkumai: legalizuota versija yra brangi, nepriima atvirojo kodo programomis paruoštų failų.

OpenOffice.org privalumai: galima naudotis ne tik MS Windows, bet ir kitose OS; nieko nekainuoja (bet ar ilgai? Pavyzdys – StarOffice buvo nemokama, tapo mokama). OpenOffice.org trūkumai: nauja sistema (perėjimas prie naujos sistemos visada reikalauja papildomų sąnaudų), dar ne visus MS Office dokumentus konvertuoja tiksliai.

2.2. Ar OpenOffice studijos įgalins gauti kompiuterinio raštingumo sertifikatą?

Šiuo metu, po ilgų diskusijų, modulį Informatika 1 studijavę ir gavę įvertinimą didesnį ar lygų 8 studentai gali gauti ECDL sertifikatą, (patvirtinantį jų kompiuterinį raštingumą) nelaikydami egzaminų. Tačiau ECDL programa

I – 28

Page 31: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Teksto apdorojimo ir informacijos pateikimo mokymo aspektai, įvertinant programinių

remiasi darbu MS Office programomis. Šis sertifikatas galioja visoje Europoje. Integruojantis į ES darbo rinką Lietuvos žmonėms tai labai svarbus dokumentas ieškant darbo. Taigi, reiktų išspręsti klausimą, ar sugebėjimas dirbti OpenOffice.org programomis bus pripažįstamas lygiaverčiu sertifikatu. Reikia valstybinių sprendimų, apsprendžiančių, kokį kompiuterinį raštingumą turi turėti jos tarnautojai, valdininkai. Reikia ištirti, kokius darbo kompiuteriu įgūdžius turintys darbuotojai labiausiai pageidaujami privačiose firmose, ypač didelėse, kuriose dirba daug kvalifikuotų darbuotojų. Taip pat svarbu, kokią dalį Europinės ir net pasaulinės rinkos prognozuoja užpildyti OpenOffice.org programos.

2.3. Kokia turėtų būti programų paketo kalba: anglų ar lietuvių?

Abu variantai turi ir pliusų, ir minusų. Kol nebus įstatymo, įtvirtinančio lietuviškas programų versijas, Lie-tuvoje visada bus daug angliškų versijų vartotojų. Žinoma, lietuviškas programų variantas labai patogus besimo-kantiems, kurie mokykloje mokėsi ne anglų užsienio kalbą. Tokiems studentams pradžia būna itin sunki, kai reikia įsisavinti daug nežinomos kalbos terminų. Kartu pastebėta, kad kartojantis pagrindinėms komandoms iš vienos paketo programos į kitą, po poros mėnesių studentai apsipranta. Nežinia, ar tai bendras bruožas, ar turi įtakos pri-verstinis papildomas mokymasis, tokių „kitakalbių“ studentų grupės metai iš metų būna ženkliai pažangesnės Informatikos modulių studijose nei „angliškosios“.

Aišku, ruošiant lietuviškus programų variantus išlaikomas savo kalbos gyvavimas, patenkinamos nacionalinės ambicijos. Mažoje, vietinėje įmonėje, sekretorei ar buhalterei tikriausiai patogiau naudotis lietuviška aplinka. Tačiau vos tik veikla išsiplečia už valstybės ribų, kai tik atsiranda daugiau kontaktų užsienyje, iškyla būtinybė turėti ir anglišką programų variantą. Todėl reiktų galvoti, ar lengviau žmogui pereiti nuo angliškojo varianto į lietuviškąjį,- tada vertėtų bet kurią programą dėstyti angliškoje aplinkoje, ar nuo lietuviškojo į anglišką. Šiuo atveju, reiktų mokymo įstaigose iš karto diegti tik lietuviškąsias programų versijas. Vis dėlto, turbūt paprasčiau išmokus dirbti užsienio kalba užrašytomis komandomis, kurių prasmė suprantama, reikalui esant (perėjus prie lietuviškos aplinkos) atrasti lietuvišką atitikmenį, o ne atvirkščiai.

Žinoma, mokyme galima naudoti ir lietuviškas, ir angliškas programų versijas, ir leisti pasirinkti pačiam besimokančiajam pagal jo poreikį. Dėstytojui neturėtų kilti problemų, kokią versiją naudoti mokyme.

3. Mokymo strategija

Šiuo metu daugumas universiteto pirmakursių mokykloje bent trumpai yra dirbę kompiuteriu ir tuo pačiu nau-dojęsi MS Word ir MS PowerPoint programomis, todėl mokinant naudotis OpenOffice.org programomis galima įvertinti turimas jų žinias ir parodyti tik naujųjų sistemų vartojimo skirtumus.. Kitas variantas- nekreipti dėmesio į tai, ką moka ir mokyti kaip naują sistemą.

Mokymo procesą galima išskaidyti į du etapus: 1) bendrųjų teksto apdorojimo kompiuteriu sąvokų ir principų mokymas, 2) konkrečių teksto apdorojimo veiksmų (redaguoti, formatuoti ir t.t.) mokymas.

3.1. Bendrųjų principų mokymas

Šis etapas lygtai nepriklausytų nuo pasirinktos sistemos, tačiau praktiškai tai sunku atsieti nuo konkrečios sis-temos (reikia daryti praktinius darbus). Be to, trūksta literatūros, kuri nesiejama su kokia nors konkrečia sistema. Pavyzdžiui, beveik visos knygos lietuvių kalba apie tekstų ar pateikčių ruošimą kompiuteriu pateikia tik tą infor-maciją, kuri yra MS Word ir PowerPoint pagalbos failuose. Dažnai dėl ribotos apimties – tik dalį tos informacijos.

Gal būtų tikslinga pertvarkyti mokymo medžiagą taip, kad ši dalis būtų įsisavinama visiškai nesinaudojant konkrečia teksto apdorojimo sistema? Paruošus praktinių darbų užduotis pvz. .pdf formate, nepriklausomai nuo realizavimo programos, išaiškinti dokumento struktūrą, sudėtines dokumento dalis ir t.t.

3.2. Konkrečios sistemos naudojimo mokymas

Galimi variantai: 1) mokyti kaip visiškai nežinomą sistemą. Šiuo atveju mokymas užtruks ilgiau. Tose vietose, kur nebus jokių

skirtumų, studentai ims nuobodžiauti ir gali pradėti protestuoti prieš tokį dėstymą. 2) mokyti remiantis ta sistema, kurią studentas bent šiek tiek žino, parodant skirtumus tarp sistemų. Studentas

užduotį atlieka ir viena, ir kita programa, tačiau daro skirtingai: kitoks komandų išdėstymas, skirtingai vadinamos kai kurios sąvokos. Studijos užtruktų trumpiau, bet pasirenkant šį kelią, reikia gerai įvertinti turimą studentų žinių lygį.

I – 29

Page 32: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

R.Marcinkevičius, V.Keršienė

4. Sistemų vartojimas

Tvirtinti, kad vartotojui, pasirinkusiam OpenOffice.org Writer ar Impress, niekada nereikės pasinaudoti MS Word ar PowerPoint, būtų per daug drąsu.

4.1. Galimybių palyginimas

Atvirojo kodo sistemų kūrėjai pasirengę atsižvelgti į visus protingus vartotojų poreikius ir pasiūlymus. Todėl galima tvirtinti, kad praktiškai viską, ką galima padaryti MS Word, galima padaryti ir OpenOffice.org Writer. Lietuvoje (ir kitose šalyse) darbuotojų kompiuteriniam raštingumui įvertinti tikrinami jų įgūdžiai pagal ECDL prog-ramą, kurios reikalavimai [3]:

Pateikčių rengimas. Reikalaujama, kad kandidatas mokėtų panaudoti asmeniniame kompiuteryje esančias pa-teikčių (angl. presentations) rengimo priemones. Kandidatas turi sugebėti atlikti pagrindinius veiksmus: sukurti pateiktį, ją tvarkyti ir paruošti demonstruoti bei platinti. Kandidatas turi parodyti gebąs sukurti įvairią pateikčių medžiagą, skirtą skirtingoms auditorijoms bei skirtingoms situacijoms. Kandidatas taip pat turi parodyti gebąs atlikti pagrindines operacijas su grafiniais vaizdais ir diagramomis (nėra šablono OO), mokąs naudoti įvairius skaidrių demonstravimo efektus.

Tekstų tvarkymas. Reikalaujama, kad kandidatas mokėtų naudotis asmeninio kompiuterio programine tekstų apdorojimo (angl. word processing) įranga. Jis turi suprasti ir mokėti atlikti pagrindines tekstinių dokumentų parengimo ir tvarkymo operacijas. Turi mokėti taisyti ir formatuoti dokumentus, papildyti juos grafikos elementais, lentelėmis. Taip pat kandidatas turi būti susipažinęs su masinių laiškų parengimo technika ir dokumentų rengimo automatizavimo elementais.

Praktiškai visus šiuos reikalavimus galima patenkinti abiejų paketų programomis. Kai kurių galimybių Open-Office.org programose nėra (pvz., nėra šablono diagramoms piešti), bet tuos veiksmus galima atlikti ir kitais metodais (piešti rankiniu būdu).

4.2. Informacijos perkėlimas iš vienos sistemos į kitą: ar galima, kas prarandama, kas pakinta.

Jei viena sistema nepriima ko nors, kas padaryta kita sistema, (pavyzdžiui, OpenOffice nepriima MS Word failų atidarymo slaptažodžių), dar nėra labai blogai. Žymiai blogiau yra tada, kai pakeičiami dokumento maketavimo parametrai. Tuo atveju tenka peržiūrėti visą dokumentą ir taisyti, kadangi apie tai, kas pakeista, tiksliai nėra nurodoma. Dažniausiai pranešama, kad ne visi maketavimo parametrai bus išsaugoti (“puikus” programos pranešimas “… may have caused information loss. …”).

Kai kuriais atvejais yra patogiau naujoje sistemoje viską perdaryti iš naujo. Keletas pastebėjimų MS PowerPoint programa sukurtas pateiktis išsaugant OpenOffice.org Impress programa:

1. Paprastai kiekvieną lapą rodanti atskirai programa lapus pavadina skaidrės pavadinimo tekstu, tik su iškraipytomis lietuviškomis raidėmis matome [4]:

2. Pabandžius keletą kartų tą pačią MS PowerPoint programa paruoštą pateiktį išsaugoti OpenOffice.org

Impress programos formatu gauti skirtingi rezultatai: skaidrių vardai neįrašomi (Slide 1,...) arba visi vardai pakeičiami skaidrės pavadinimo tekstu, arba dalis skaidrių – pavadinimo tekstu, dalis – be pavadinimo (Slide 13...).

3. Pakeitus skaidrės pavadinimo tekstą, skaidrės vardas nebepasikeičia. 4. Nesimato failo vardo pavadinimo eilutėje, tik pirmos skaidres pavadinimo tekstas (kaip įprasta MS

PowerPoint programoje). Tam reikia nurodyti failo antraštę. 5. Šešėliai ir WordArt tekstai iškraipomi (1 pav.). 6. Kartais įrašius MS PowerPoint pateiktį OpenOffice.org Impress formatu, pradingsta dalis piešinių. 7. Kai kada tie patys efektai objektams išlieka, kai kada prarandami (numeruoti tekstai atsiranda po vieną arba

stulpeliu iš karto). 8. Diagramose ir grafikuose esančiuose tekstuose iškraipomos lietuviškos raidės (pvz. ašių pavadinimai). 9. Trūksta pateikčių ruošinių atskiroms temoms, paveikslėlių galerijos, negalima patiems projektuoti

gradientinio užpildymo, negalima keisti šešėlių parametrų. 10. Skaidrių rodymo režime negalima naudotis kontekstiniu meniu (tik klavišais).

I – 30

Page 33: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Teksto apdorojimo ir informacijos pateikimo mokymo aspektai, įvertinant programinių

1 pav. Šešėliai ir WordArt tekstai iškraipomi

Išvados

1. OpenOffice.org darbo aplinka draugiška. Pripratus, naudotis patogu. 2. Pagrindinius ECDL keliamus uždavinius atlikti galima, todėl studentų mokymui tinkama. Tuo labiau, kad

MS Word ir PowerPoint programos jau tikriausiai bus mokomos mokyklose. Tai būtų nauja patirtis. 3. Dar yra nesklandumų perkeliant dokumentus iš vienos sistemos į kitą. Praktiniam naudojimui tai labai

svarbu, nes perėjus prie OpenOffice.org programų, daugybę dokumentų teks konvertuoti. 4. Visiškai atsisakyti MS programų mokyme dar anksti. Taip pat nereikėtų griežtai reikalauti naudoti tik

lietuvišką programų versiją. 5. Esant sistemų įvairovei mokyme, reiktų peržiūrėti mokymo metodiką.

Literatūros sąrašas [1] Tobulinimosi programa - nemokami seminarai/MS produktu bei sprendimu pristatymas,

http://www.microsoft.com/lietuva/, žiūrėta 2003.01.05 [2] The OpenOffice.org 1.0.2 Office Suite , http://www.openoffice.org/about_us/introduction.html, žiūrėta 2003.01.08. [3] ECDL Programos moduliai, http://www.ecdl.lt, žiūrėta 2002.12.15. [4] Atvirojo teksto programinės įrangos lokalizavimo galmybių analizė, http://www.likit.lt/all/atv_teks.htm, žiūrėta

2003.01.10.

Educational Aspects of using Different Software for Word Processing and Information Presentation

The advantages and faults in using MS Office Word and PowerPoint programmes from one side and Open-Office.org from another are analysing in the article. There are described some aspects: what software and why can be chosen for teaching, what teaching strategy would be chosen when MS Office programmes are changed to OpenOffice.org programmes, the possibilities of both systems are compared, the problems of conversion are discussed too.

I – 31

Page 34: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

LIETUVIŠKŲ RAIDŽIŲ NAUDOJIMAS INTERNETO ADRESŲ PAVADINIMUOSE

Tomas Mackus KTU Informacinių technologijų plėtros institutas

Studentų 48a-111, LT-3028 Kaunas, Lietuva

Vienas iš esminių kompiuterių tinklo veikimo veiksnių yra interneto resursų identifikavimas naudojant adresų pavadinimus. Interneto adresų pavadinimų susiejimą su interneto adresais atlieka DNS sistema. Pasaulyje adresų pavadinimams pradedami naudoti ne vien tik lotyniško rašto simboliai, todėl atsirado poreikis lietuvių kalbos rašto simbolių naudojimo interneto adresų pavadinimuose analizei. Pranešime nagrinėjama lietuvių kalbos rašto naudojimo interneto adresų pavadinimuose galimi realizavimo būdai ir su tuo susijusios DNS administravimo ypatybės.

1. Įžanga

Visi interneto vartotojai siųsdami laiškus elektroniniu paštu, naršydami interneto tinklapius, ar naudodami kitas interneto programas naudoja interneto adresų pavadinimus, kurie naudojant adresų sričių pavadinimų sistemą (DNS – angl. “domain name system“) leidžia nustatyti resursų interneto adresus. DNS sistema tapo kritiškai svarbi interneto dalis, be kurios nebūtų elektroninio pašto, o interneto svetaines galima būtų rasti tik žinant tarnybinės stoties, kurioje ji laikoma, interneto protokolo (IP) adresą.

Šiuo metu naudojami 4 versijos IP adresai yra 32 bitų ilgio, t.y. sudaryti iš 4 skaičių nuo 0 iki 255, kurie yra at-skirti taškais. Norint pasiekti reikalingą kompiuterį, reikia žinoti jo IP adresą. Kompiuteriui atsiminti IP adresą nėra sunku, tačiau žmogui atsiminti skaičių iš galimų 4 milijardų kombinacijų – nelengva. Dar sunkiau būtų prisiminti jau pradedamus naudoti 6 versijos IP adresus, kurie yra 128 bitų ilgio. Ar nebūtų per sunku atsiminti 32 šešioliktainius skaitmenis? Padėti vartotojui lengviau rasti interneto resursus buvo viena pagrindinių priežasčių, kodėl buvo sukurta adresų sričių pavadinimų sistema. Be to, naudojant DNS sistemą adreso pavadinimo susiejimas su IP adresu gali būti lengvai keičiamas, o tai leidžia daryti interneto resursų vietos keitimą nepastebimą vartotojams, nes jie prie resursų jungiasi naudodami pavadinimą, kuris gali būti susiejamas su nauju IP adresu.

DNS sistema buvo sukurta 1984 metais [1]. Su laiku sistema buvo tobulinama, tačiau esminiai jos veikimo principai liko tie patys. Liko ir sistemos trūkumai, - vienas kurių pradėjo ypač ryškėti XX amžiaus pabaigoje stipriai pradėjus augti interneto vartotojų skaičiui pasaulyje. Tas trūkumas – ribota interneto adresų pavadinimams leidžiamų naudoti simbolių aibė. Šiuo metu adresų sričių pavadinimų sudarymui naudojami simboliai iš aibių A-Z, 0-9 ir brūkšnio (minuso) simbolis “-“ [2,3]. Adresų pavadinimų hierarchiniams lygiams atskirti naudojamas taško simbolis “.“. Taigi, nors viena iš pagrindinių DNS sistemos funkcijų yra palengvinti vartotojų darbą internete, vartotojai dažnai turi atsiminti ne savo rašmenimis rašytus adresų simbolinius pavadinimus. Be to, vartotojas norintis įkurti adresų srities pavadinimą gimtąja kalba priverstas galvoti, koks iš leistinų simbolių sudarytas pavadinimo atititikmuo būtų panašiausias.

Taigi panagrinėkime adresų sričių pavadinimus, DNS sistemą ir kaip galima būtų įgyvendinti lietuviškų raidžių naudojimą interneto adresų pavadinimuose.

2. Adresų sričių pavadinimų sistema 2.1. DNS sistemos struktūra

Adresų sričių pavadinimų sistema realizuota naudojant “kliento – serverio“ modelį. Programos, pavadintos vardų serveriais (angl. name server) sudaro DNS sistemos serverio dalį. Vardų serveriai saugo informaciją apie adresų sritis ir kai kuriuos adresų pavadinimus, bei padaro šią informaciją pasiekiamą klientinėms programoms – išrišėjams ( angl. resolver).

DNS sistema yra hierarchinė pavadinimų erdvė, kur hierarchija dažniausiai atspindi organizacinę struktūrą, o taško simbolis “.“ naudojamas hierarchijos lygių atskyrimui. Hierarchinė pavadinimų erdvė - paskirstyta pavadinimų duomenų saugykla. Taškas “.“ žymi šakninius (angl. root) vardų serverius. Jie saugo informaciją apie aukščiausio lygio (angl. Top Level) adresų sričių pavadinimus ir jų vietą interneto erdvėje. Aukščiausio lygio adresų sričių pavadinimų serveriai atitinkamai saugo apie žemesnio – antro lygio adresų sričių pavadinimus ir taip toliau.

I – 32

Page 35: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Lietuviško raidyno naudojimo interneto adresų sričių pavadinimuose analizė

Hierarchijos lygiai DNS sistemoje nėra ribojami. Ribojamas tik viso internetinio adreso pavadinimas, kuris negali viršyti 255 simbolių ir atskiro hierarchinio lygio pavadinimas (skiriamas taškais), kurio ilgis negali viršyti 63 simbolių [2,3].

1 paveiksle yra pavaizduota hierarchinė DNS sistemos schema. Interneto adreso pavadinimas rašomas einant nuo žemiausio hierarchinio lygio iki aukščiausio pavadinimus atskiriant taškais. Pvz.: www.ktu.lt. Šiuo atveju www.ktu.lt yra interneto adreso pavadinimas. Jis priklauso adresų sričiai ktu.lt, kuris savo ruožtu priklauso lt adresų sričiai.

org netcom lt. . . .

u

1 pav. Paskirstytos adresų sričių pavadinim

2.2. DNS sistemos veikimo principai

Pagrindinė DNS sistemos funkcija – nurodytą interneto adreso dojamas jungiantis prie interneto resursų.

Sakykim, kad vartotojas nori prisijungti prie tinklapių, esančių pavadinimą į interneto naršyklės adreso lauką, pirmiausiai varto(resolver) kreipiasi į vartotojo kompiuterio tinklo nustatymuose nuadreso pavadinimo www.ktu.lt IP adresas. DNS serveris, gavęs užklakurio užklausia apie www.ktu.lt IP adresą. Šakninis vardų serveris netlt srities autoritatyvaus DNS serverio IP adresas. Gavęs atsakymą Dužklausdamas koks yra www.ktu.lt srities IP adresas. lt srities varnežino, bet nurodo ktu.lt adresų srities autoritatyvaus DNS serveradreso išsiunčiama į ktu.lt adresų sritį aptarnaujantį DNS servegrąžinamas jo IP adresas. DNS serveris nusiunčia nurodytą IP adresadresą prisijungimui prie www.ktu.lt esančių tinklapių.

Paprastos DNS užklausos vyksta naudojant UDP protokolą. Tinformacijai persiųsti iš pagrindinio (angl master) į pagalbinius (ainformaciją apie adresų sritį rekomenduojama laikyti mažiausiai dvvardų serveriuose.

2.3. Adresų sričių pavadinimų sistemos administravimas

Pirmo lygio adresų sričių žymėjimą reglamentuoja tarptautinėNumbers Authority). IANA kartu su ICANN (angl. The Internet Corganizacija taip pat valdo šakninius vardų serverius, kurie nukreipiasritis administruoja atskiros ICANN ir IANA įgaliotos organizacijosričių nukreipimus į to pageidaujančių organizacijų ar privačių asmen

Adresų sričių simbolinių pavadinimų sistema – paskirstytapaskirstytai valdyti duomenų saugyklos lokalius segmentus, kurinaudojant kliento–serverio schemą. Be to, manau galima teigti, kadidžiausių pasaulyje. Teisingas adresų sričių pavadinimų sistemosadministratorių. Be to, kuo aukštesnio hierarchinio lygio adresų sribūti adresų srities valdymas. Jei neveiks vienas iš adresų sričių pavažemesnio lygio adresų sričių pavadinimai.

I – 33

kt

www

ų erdvės struktūra

pavadinimą susieti su IP adresu, kuris yra nau-

adresu www.ktu.lt. Kai vartotojas įveda adreso tojo kompiuteryje esanti programa išrišėjas

rodytą DNS serverį, kurio užklausia koks yra usą, kreipiasi į vieną iš šakninių DNS serverių, uri reikiamos informacijos, bet atsako, koks yra NS serveris kreipiasi į lt srities DNS serverį,

dų serveris IP adreso pavadinimu www.ktu.lt io IP adresą. Sekanti užklausa dėl www.ktu.lt rį. Jei www.ktu.lt adreso pavadinimas rastas, ą kliento kompiuteriui, kuris naudoja gautą IP

CP protokolas yra naudojamas adresų srities ngl. slave) vardų serverius. Dėl patikimumo, iejuose, daugiausiai trylikoje autoritatyviuose

organizacija IANA (angl. Internet Assigned orporation for Assigned Names and Numbers) į pirmo lygio adresų sritis. Pirmo lygio adresų s. Šios organizacijos daro antro lygio adresų ų įkurtas adresų sritis.

hierarchinė duomenų saugykla. Tai leidžia e yra pasiekiami iš viso kompiuterių tinklo, d ši paskirstyta duomenų saugykla yra viena veikimas priklauso nuo visų DNS sistemos tis yra administruojama, tuo atsakingesnis turi dinimų lygis, neveiks ir visi jam priklausantys

Page 36: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

T.Mackus

Klientas

(1) www.ktu.lt

(2) www.ktu.lt

(3) www.ktu.lt

(4) www.ktu.lt

ktu.lt vardų serveris

193.219.184.5

193.219.184.5

193.219.184.5

išrišėjas

(resolver)

programa

(naršyklė)

kliento vardų serveris

tinklapis

(6) http://www.ktu.ltwww.ktu.lt

serveris

“ " (šakninis) vardų serveris

nukreipimas į ktu.lt vardų serverius

lt vardų serveris

nukreipimas į lt vardų serverius

(5) www.ktu.lt

2 pav. Interneto adreso pavadinimo išrišimo schema

3. Numatoma skirtingų rašmenų interneto adresų realizacija

Sprendžiant ne lotyniškų simbolių panaudojimo adresų sričių pavadinimuose klausimą, nenorima keisti dabar veikiančią DNS sistemą, nes stabilus dabartinės DNS sistemos veikimas yra vienas ir esminių interneto tinklo teisingo veikimo veiksnių. Todėl interneto DNS protokolo modifikavimas ar keitimas pastaruoju metu mažai nagrinėjamas. Pagrindinės interneto inžinierių jėgos nukreiptos į daugiakalbių adresų sričių pavadinimų realizavimą naudojant dabartinę DNS sistemą, kuri naudoja tik simbolius iš aibių [a-z],[0-9],[-], o vartotojo nurodomus daugiakalbius interneto adresus perkoduoti į dabartinės DNS sistemos naudojamų simbolių eilutę.

Sistemos principinio veikimo schema būtu tokia: vartotojas įveda interneto adresą su lietuviškais rašmenimis; vartotojo kompiuteris perkoduoja pavadinimą į jo atitikmenį ASCII formate ir išsiunčia į internetą; internete adreso pavadinimas susiejamas su adresu ir vartotojo informacija keliauja internetu iki gavėjo. Gavėjas priima informaciją ir jei reikia atvaizduoti lietuviškų rašmenų adreso pavadinimą vartotojui, jis yra konvertuojamas iš ASCII pavadinimo į lietuviškų simbolių adreso pavadinimą.

bosas@bq—aecq373jnm.lt

internetas

bosas@ačiū.lt

rodoKompiuteris Vartotojasbosas@ačiū.lt

įveda Kompiuteris Vartotojas

3 pav. Principinė sistemos veikimo schema

Tokiu būdu dabartinė DNS sistema lieka nepakitusi. Simbolių konvertavimai iš lokalių šriftų į ASCII ir atvirkščiai, atliekami vartotojų kompiuteriuose taikomųjų programų. Kaip galėtų būti modifikuotos taikomosios programos ir kokius kodavimo algoritmus būtų tinkama naudoti ir bus analizuojama šiame skyriuje.

3.1. Daugiakalbiai adresų sričių pavadinimai taikomosiose programose

Visų pirma reikia pastebėti tai, kad jei daugiakalbiams adresų pavadinimams bus naudojamas ASCII (angl. American Standard Code for Information Interchange) kodas, reikės mokėti atskirti, kuris pavadinimas yra paprastas lotyniškų simbolių pavadinimas, o kuris reikš, kad ASCII simbolių seka atvaizduoja daugiakalbį interneto adresą. Tam numatoma panaudoti specialią, nenaudojamą simbolių eilutę sudaryta iš 4 simbolių: dviejų raidžių ir dviejų paeiliui einančių brūkšnio ženklų. Tam, kad nebūtų nesuderinamumų ar dviprasmybių, skiriamieji simboliai greičiausiai bus nustatyti IANA organizacijos.

Tam, kad panaudoti daugiakalbių adresų pavadinimus taikomosiose programose yra numatomos į jas įdiegti kelių tipų veiksmai [4]:

• perkodavimo į ASCII formatą veiksmas. Šis veiksmas yra naudojamas prieš siunčiant daugiakalbį adreso pavadinimą ten, kur laukiamas ASCII pavadinimas (pvz.: išrišėjui), arba rašant daugiakalbį adreso

I – 34

Page 37: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

Lietuviško raidyno naudojimo interneto adresų sričių pavadinimuose analizė

pavadinimą ten, kur taip pat tikimasi ASCII pavadinimo (pvz.: vardų serveryje esantis adresų srities zonos failas);

• perkodavimo į universalų kodą (angl. unicode) veiksmas atliekamas, kai adresų srities pavadinimas, turintis specialių rašto simbolių yra norimas atvaizduoti vartotojui (pvz.: pavadinimai, gauti iš adresų srities zonos).

Perkodavimas į ASCII formatą gali nepavykti. Tai reikštų, kad adresų srities pavadinimas yra neteisingas ir ne-gali būti traktuojamas kaip daugiakalbis interneto adreso pavadinimas. Tuo atveju, jei nėra galimybės vartotojui atvaizduoti adreso pavadinimą universalaus kodavimo formatu, vartotojui turėtų būti atvaizduotas ASCII formato adreso pavadinimas.

4 paveiksle yra vaizduojama daugiakalbių adresų pavadinimų vieta taikomosiose programose, realizuojant dau-giakalbius adresų sričių pavadinimus.

Vartotojas

Įvedimas ir atvaizdavimas

Programa (konvertavimas įASCII ir į univerasų kodągali būti atliekamas čia)

Vartotojo sistema

Specifinis programosprotokolas (naudojamas ACE,nebent protokolas būtųpritaikytas kitųkodavimų naudojimui)

Kreipimasis į išrišėją(naudojamas ACE)

Išrišėjas

DNS protokolas(naudojamas ACE)

Vardų serveriai Taikomųjų programų serveriai

4 pav. Daugiakalbių adresų pavadinimų realizavimas taikomosiose programose

Adresų srities pavadinimo konvertavimas iš lokalių rašmenų į ASCII turėtų būti atliekamas naudojant ASCII suderinamą kodavimą, kitaip dar vadinamą ACE (angl. ASCII Compatible Encoding).

3.2. Konvertavimo į ASCII algoritmai

Yra pasiūlyta nemažai įvairių ACE kodavimų: eiliškumu pagrįstas ASCII suderinamas kodavimas (RACE), pa-prastas ASCII suderinamas kodavimas (SACE), perėjimą atspindintis ASCII suderinamas kodavimas (TRACE), ilgiu pagrįstas ASCII suderinamas kodavimas (LACE). Tačiau pastaruoju metu apsistota prie taip vadinamo “mažesnio kodo“ (punycode) ASCII suderinamo kodavimo metodo [5].

Punycode yra paprasta ir efektyvi perkodavimo sintaksė, suprojektuota daugiakalbių interneto adresų sričių pavadinimų sistemai. Ji unikaliai ir abipusiai transformuoja unikalaus kodo eilutę į ASCII eilutę. Visa tai aprašo pradinio paruošimo sekos (angl. bootstring) algoritmas ,kurio dalis yra punycode [5].

Pradinio paruošimo sekos algoritmas buvo sukurtas, kad tenkintų šiuos kriterijus: • užbaigtumą, t.y. kiekviena išplėsta eilutė gali būti atvaizduota pagrindine eilute. Eilučių ilgių ir tiipų

ribojimai gali būti įvesti aukštesniame lygmenyje; • unikalumą. Egzistuoja daugiausiai viena pagrindinė eilutė, atvaizduojanti išplėstą eilutę; • abipusiškumas. Bet kokia išplėsto tipo eilutė perkoduota į pagrindinę eilutę gali būti perkoduota atgal

į išplėstą eilutę; • veiksmingas kodavimas. Gautas pagrindinės eilutės ilgis nedaug skiriasi nuo pradinio išplėstos eilutės

ilgio; • paprastumas. Kodavimo ir atkodavimo algoritmai yra pagrįstai paprasti įdiegti; • skaitomumas. Pagrindiniai simbolių kodai, esantys išplėstoje eilutėje yra pateikiami kaip pagrindinėje

eilutėje.

I – 35

Page 38: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

T.Mackus

Pradinio paruošimo sekos algoritmas kartu su kodavimo pavyzdžiais ir algoritmais yra aprašytas interneto inžinierių darbo grupės ruošiamame dokumente [5].

3.3. Lietuviškų rašmenų adresų sričių pavadinimų administravimas

Pradėjus naudoti lietuvišką raidyną adresų sričių pavadinimuose, adresų sričių pavadinimų sistemos administ-ratoriai turės įsisavinti naujas administravimo ypatybes. Administratoriai turės realizuoti adresų sričių pavadinimų su lietuviško rašto raidėmis konvertavimą į ASCII formatą. Taip perkoduotas pavadinimas bus įrašomas į DNS serveriuose esančius adresų sričių zonų failus. Be to, aukščiausio lygio adresų sričių administratoriai tvarko adresų sričių pavadinimų WHOIS duomenų saugyklą. Ji turės būti modifikuota, kad adresų sričių pavadinimai būtų atvaizduojami ne tik ASCII, bet ir lokalaus kodavimo pavidale.

Vis dar lieka neišspręstas klausimas, kaip traktuoti popieriuje ar kitame ne elektroniniame pavidale atvaizduotą adresų srities pavadinimą, nes skirtingų raštų simboliai kartais sutampa. Pvz.: “č“ simbolis yra tiek lietuvių kalbos rašte, tiek čekų kalbos rašte.

Literatūros sąrašas [1] P.Albitz, C.Liu. DNS and BIND, Fourh Edition. O‘Reilly & Associates, Sebastopol, 2001. [2] P.Mockapetris. DOMAIN NAMES – CONCEPTS AND FACILITIES. STD 13, RFC 1034, USC/Information Sciences

Institute, 1987. [3] P.Mockapetris. DOMAIN NAMES – IMPLEMENTATION AND SPECIFICATION. STD 13, RFC 1035,

USC/Information Sciences Institute, 1987. [4] P.Faltstrom, M.Blanchet. Internationalizing Domain Names in Applications (IDNA). Internet Draft, draft-ietf-idn-idna,

work in progress, Internet Engineering Task Force, 2003.01.16. [5] A.M.Costello. Punycode: A Bootstring encoding of Unicode to IDNA. Internet Draft, draft-ietf-idn-punycode, work in

progress, Internet Engineering Task Force, 2003.01.16.

Usage of Lithuanian characters in domain names

Domain name system is one of the critical factors in proper internet resource identification. The demand for internationalized domain names is growing every day, together with non-English language internet users. It's become important to analyze the usage of Lithuanian characters in domain names. This article analyzes the possibility to use Lithuanian characters in domain names and studies coherent administrative implications arising in domain name system when domain names with national characters are used.

I – 36

Page 39: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

HTML PUSLAPIŲ GENERAVIMO PRIEMONIŲ JAVA PROGRAMAVIMO KALBOJE ANALIZĖ

Teofilis Martišius KTU magistrantas

Viena iš pagrindinių problemų kuriant sistemas naudojančias Web sąsają bendravimui su vartotoju yra dinaminis HTML puslapių generavimas. Tos programos turi sugeneruoti HTML puslapius, kurie turėtų gerą išvaizdą, atliktų savo funciją- rodytų duomenis paimtus iš duomenų bazės ar jų įvedimo formas. Puslapių dizainas turi būti lengvai keičiamas, todėl jį stengiamasi atskirti nuo puslapio logikos. Tai problemai spręsti yra sukurta nemažai skirtingų technologijų, tokių kaip Java Servlet Pages, šablonų sistemos Apache Velocity ar WebMacro, XML transformavimu pagrįstas generavimas naudojant XSLT ir kitų. Kiekviena iš tų technologijų turi savų privalumų ir trūkumų. Šiame straipsnyje analizuojamas ir lyginamas technologijų darbo greitis, galimybės, naudojimo patogumas. Taip pat lyginamos skirtingos šių technologijų realizacijos.

1. Įvadas

Dabar kuriama vis daugiau sistemų, kurios sąsajai su vartotojais naudoja pasaulinį voratinkį. Šios sistemos yra pranešesnės už įprastas sistemas dėl šių priežasčių: • Jomis galima patogiai naudotis per tinklą, nereikalinga itin didelės spartos ryšio linija • Nereikia į kliento kompiuterį diegti papildomos programinės įrangos. Tai palengvina kliento kompiuterių

administravimą. • Sistemos tampa prieinamos daugeliui vartotojų, galima kurti sistemas skirtas viešam naudojimui. • Visa informacija saugoma centralizuotame serveryje. Tai palengvina tiek darbinių stočių sistemos

administravimą. Taičiau tokios sitstemos turi ir trūkumų:

• HTML puslapiais paremta sistema nėra tokia interaktyvi kaip įprastos programos. Tai iš dalies galima kompensuoti naudojant JavaScript bei Java Applet technologijas.

• Šios sistemos neturi priėjimo prie kliento kompiuterio resursų. • Visi Web informacinių sistemų skaičiavimai ir darbai atliekami serveryje. Tai reikalauja didelės spartos tiek iš

programinės tiek iš techinės įrangos. Web pagrindu kuriamų sistemų veikimas pagrįstas tinklapių generavimu. Šių sistemų klientas yra interneto

naršyklė. Naršyklės su serveriu bendrauja naudodamos HTTP protokolą. Tuomet Web serveris reaguoja į vartotojo naršyklės reikalavimą užkrauti atitinkamą tinklapį- apdoroja su užklausa nusiųstus duomenis, atlieka reikalingus veiksmus bei grąžina dinamiškai sugeneruotą tinklapį su reikiamais duomenis. Čia nagrinėsjamos technologijos skirtos dinaminiam tinklapių generavimui.

2. Technologijų apžvalga

Web puslapių generavimui yra sukurta įvairių technologijų. Pati paprasčiausia iš jų – tiesioginis HTML puslapio spausdinimas į HTTP išvedimo kanalą, naudojant standarinį Java println metodą ir įterpiant kintamųjų reikšmes. Šis metodas yra pats blogiausias būdas generuoti HTML puslapiams, nes čia HTML puslapio dizainas sumaišomas su programos tekstu. Keičiant tokius puslapius reikia turėti tiek puslapio dizainerio tiek programuotojo įgūdžių. Tokių puslapių negalima redaguoti jokiais aukšto lygio HTML puslapių redaktoriais. Siekiant išvengti šių problemų stengiamasi HTML puslapio dizainą kuo labiau atskirti nuo pačios puslapio logikos. Tam dažniausiai sukuriamas modulis, kuris surenka visus puslapio generavimui reikalingus duomenis, bei naudojamos specialios technologijos galinčios pagal tuos duomenis ir šabloną, kuriame nusakomas puslapio dizainas, padaryti galutinį puslapį. Bus nagrinėjamos tokios technologijos: Java Server Pages (JSP), dvi šablonais paremtas technologijas- WebMacro ir Apache Velocity, bei XML transformavimu paremtą technologiją XSLT.

I – 37

Page 40: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

T.Martišius

2.1. Java Server Pages

Java Server Pages (JSP) yra viena iš pirmųjų ir viena iš labiausiai paplitusių technologijų skirtų puslapių generavimui. Ši technologija leidžia panaudojant specialias skiriamąsias žymes maišyti HTML kodą su Java programos tekstu. Vėliau pagal JSP failą generuojamas Java Servlet programos kodas. Ten HTML kodas iš JSP failo dažniausiai išvedamas naudojant prinltn sakinius, o Java kodas tiesiog įterpiamas. Taip gaunamas modulis galintis sugeneruoti galutinį HTML puslapį bei įterptos Java programavimo kalbos sakiniais galintis išvesti įvairius duomenis bei valdyti HTML išvedimą. JSP technologija taip pat turi galimybę naudoti vartotojo sukurtas žymes (custom tags) kurios savo funkcija gali pakeisti Java kodo įterpimą. Tačiau JSP žymių sukūrimas yra netrivialus darbas ir jos nėra taip plačiai naudojamos.

JSP veikimas yra pagrįstas Java programos kodo generavimu pagal JSP failą. Dėl tokio Java kalbos kodo generavimo kartais gaunami nenumatyti rezultatai. Pavyzdžiui, padarius sintaksės klaidą JSP faile įterptame Java kode, ta klaida bus užfiksuota tik po Java Servlet generavimo. Tuomet bus išvedamas klaidos pranešimas kuris aprašys klaidą ne JSP faile, o sugeneruotoje sunkiai suprantamoje Servlet programoje. Dėl to klaidų taisymas JSP failuose yra sudėtingesnis. Atrodo sugeneruotas programos kodas, lyginant su interpretuojamomis kalbomis, turėtų veikti labai greitai, tačiau realiai pagal JSP generuoto kodo greitis labai priklauso nuo tą kodą generuojančios JSP realizacijos. Dėl galimybės JSP puslapyje įterpti Java kalbos kodą galima teigti, kad ši technologija turi neribotas galimybes, tačiau dėl to nukenčia HTML kodo ir programos kodo atskyrimas. JSP standarto kūrėjai teigia kad reikėtų vietoj kodo įterpimo naudoti vartotojo žymes, tačiau realiai tai daroma retai dėl didelių darbo sanaudų. O JSP kodas parašytas maišant HTML ir Java kalbą yra neaiškus, jį sunku suprasti ir redaguoti. Be to nepatyrę programuotojai dažniausiai dėl galimybės įterpti Java kodą tame JSP faile realizuoja tiek sistemos logiką, tiek HTML dizainą. Tačiau JSP vis dar lieka labaiausiai paplitusi HTML generavimo technologija, jai yra sukurta daug pagalbinių priemonių, vartotojo žymių rinkinių, papildomų bibliotekų palengvinančių logikos ir dizaino atskyrimą.

JSP standartą palaiko kiekvienas šiuolaikinis Java Web programų serveris. Dažniausiai naudojamas laisvai platinamas programų serveris Apache Tomcat. Taip pat bus testuojamas didelės spartos komercinis Java programų serveris Caucho Resin. Jokių papildomų bibliotekų JSP palaikymui nereikia.

2.2. WebMacro

WebMacro yra viena iš dviejų labiausiai paplitusių HTML puslapio šablonais paremtų technologijų. Ši technologija reikalauja kur kas griežčiau atskirti Java programos kodą nuo HTML dizaino. Joje puslapiai generuojami pagal specialia interpretuojama kalba parašytus puslapių šablonus. Šablonuose naudojami į tam tikrą duomenų struktūrą (taip vadinamą puslapio kontekstą) išsaugoti puslapio duomenys. Duomenys paruošiami ir į puslapio kontekstą įrašomi Java Servlet technologija pagrįstame HTTP užklausos apdorojimo modulyje. Tuomet vykdoma šablono programa į HTML puslapį įterpia puslapio kontekste esančias reikšmes- taip gaunamas galutinis vartotojui rodomas puslapis. Gerai dokumentavus kontekste laikomus duomenis, Servlet modulį ir puslapio šabloną galėtų kurti ir atskiri žmonės. Be to, WebMacro kalba rašytas šablonas, kuriame būna HTML tekstas su WebMacro kalba yra aiškesnis ir yra lengviau suprantamas bei keičiamas nei JSP failai.

WebMacro šablonuose yra naudojama speciali interpretuojama programavimo kalba. Ji yra labai paprasta. Lyginant su JSP technologija, kurioje puslapiuose galima naudoti Java programavimo kalbą, WebMacro galimybės gali atrodyti ribotos. Tačiau dėl WebMacro kalbos paprastumo ją labai lengva išmokti. Ja tiesiog neįmanoma realizuoti puslapio logikos- dėl to logika niekada nėra maišoma su puslapio dizainu. Praktika rodo, kad šios kalbos galimybių pilnai užtenka HTML tinklapio generavimui aprašyti. Be to, labai sudėtingas vietas galima realizuoti WebMacro Servlet modulyje naudojant visas Java programavimo kalbos galimybes ir įdėti į puslapio kontekstą bei vėliau įterpti į puslapį.

WebMacro biblioteka yra laisvai platinama programinė įranga. Yra vienintelė WebMacro realizacija, kuri iš Java Web serverio galimybių naudoja tik Servlet technologijas. Servlet technologijos yra gana paprastos ir neblogai realizuotos daugumoje Java Web serverių, dėl to mažiau skiriasi WebMacro naudojančių sistemų sparta jas diegiant skirtinguose serveriuose. WebMacro technologija pagrįstų puslapių sparta dažniausiai yra labai didelė.

2.3. Apache Velocity

Apache Velocity, kaip ir WebMacro yra šablonais pagrįsta HTML puslapių generavimo technologija. Ji sukurta vėliau kaip alternatyva WebMacro, iš pradžių dėl WebMacro licenzijavimo problemų, vėliau kaip projektas siekiantis sukurti geresnį už WebMacro produktą. Šios dvi technologijos yra panašios tiek šablonų sintakse tiek veikimo principais. Velocity šablonuose irgi naudoja interpretuojamą programavimo kalbą, tačiau Velocity šablonų kalba yra labiau subrendusi ir pranašesnė. Velocity šablonai palyginus tiek su JSP, tiek su WebMacro yra gana elegantiški- juos lengva suprasti ir redaguoti. Velocity projektas buvo sukurtas nuo pat pradžių visiškai nenaudojant WebMacro kodo. Kuriant Velocity buvo stengiamasi pasimokyti iš klaidų padarytų kuriant WebMacro ir jų nekartoti. Taip pat Velocity turi Velocimacro komandas leidžiančias lengvai plėsti Velocity kalbos galimybes.

I – 38

Page 41: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

HTML puslapių generavimo priemonių Java programavimo kalboje analizė

Apache Velocity yra laisvai platinama programinė įranga- vienas iš Apache Jakarta projektų. Apache organizacija garsėja kaip aukštos kokybės laisvai platinamos programinės įrangos kūrėjai. Kaip ir WebMacro, Velocity naudoja tik Java Servlet technologijas, todėl jų sparta mažiau priklauso nuo Web serverio. Velocity taip pat pasižymi labai didele darbo sparta.

2.4. XSLT technologija

Extensible Stylesheet Language Transformations (XSLT) technologijos veikimas yra paremtas XML transformavimu į HTML puslapį. Ši technologija yra labai jauna ir tik neseniai buvo patvirtinta pirma šio standarto versija. Ši technologija leidžia visiškai atskirti puslapio dizainą nuo logikos ir visiškai individualiai keisti tiek dizainą tiek logiką, jei tik nekinta puslapyje rodomų duomenų struktūra. Naudojant šią technologiją puslapio duomenis reikia pateikti XML formatu. Tuomet naudojant XSLT stilių tie duomenys transformuojami į HTML puslapį, kurį mato vartotojas. Šis būdas turi keletą privalumų: • Tie patys duomenys naudojant keletą XSLT stilių gali būti pateikiami keletu pavidalų. • XML transformacija naudojant XSLT stilius gali būti atliekama nebūtinai Java programavimo kalba rašytomis

priemonėmis. Šią transformaciją taip pat gali atlikti kai kurios interneto naršyklės ant kliento kompiuterio. • Ši technologija paremta W3C konsorciumo patvirtintais XML ir XSLT standartais.

Tačiau ši technologija (ypač Java programavimo kalba rašytos jos realizacijos) pasižymi itin maža sparta. Paprasto puslapio transformavimas užtrunka keletą sekundžių. Dėl to šią technologiją nepraktiška naudoti, jei puslapiai generuojami atsakant į kiekvieną vartotojo užklausą. Dažniausiai ši problema sprendžiama gavus užklausą pateikiant iš anksto sugeneruotus puslapius. Generavimas vykdomas arba periodiškai, arba pasikeitus duomenims, arba puslapiai generuojami pagal administratoriaus komandą. Tačiau periodinis generavimas netinka jei puslapyje rodomi duomenys sparčiai keičiasi. Kita vertus, pačią XSLT transformaciją galima atlikti naudojant greitesnes, kitomis kalbomis rašytas XSLT realizacijas, ir tuomet galbūt užtektų spartos tam, kad puslapį galima būtų generuoti kiekvienos užklausos metu. Tačiau tai sukelia papildomų problemų kuriant informacinę sistemą. Kitas šios technologijos nepatogumas- tai, kad generuojant duomenis skirtus transformavimui XML formatu susiduriama su panašiomis problemomis kaip ir generuojant HTML. Todėl tam dažniausiai naudojamos tokios technologijos kaip Apache Velocity ar WebMacro. Tų technologijų pagalba galima iš karto generuoti ir HTML puslapį, todėl kartais iškyla klausimas ar reikalinga papildoma transformacija naudojant XSLT. XSLT šablonai atrodo neblogai, juos gana lengva suprasti ir koreguoti. Be to, XSLT šablonai taip pat yra XML dokumentai atitinkantys W3C konsorciumo patvirtintą standartą, todėl juos lengva nuskaityti ir apdoroti naudojant tam skirtas programas. Yra sukurta ir kuriama nemažai pagalbinių priemonių XSLT stilių redagavimui, testavimui ir kitiems darbams.

Šiuo metu yra sukurta labai daug skirtingų XSLT realizacijų. Nemaža jų dalis parašyta Java programavimo kalba. Kai kurios jų- komercinės, kai kurios yra laisvai platinama programinė įranga. Yra sukurta standartinė XSLT testavimo priemonė XSLTMark skirta palyginti XSLT realizacijų atitikimą standartui, galimybes bei spartą.

3. Testavimas

Siekiant palyginti įvairių technologijų spartą buvo sukurta keletas testų kuriuose bandomos atkurti situacijos pasitaikančios generuojant tikrus puslapius. Buvo stengiamasi šiuos testus realizuoti kiek galima panašiau naudojant visas technologijas. Testuojant buvo matuojamas laikas kuris sugaištamas generuojant puslapius. Puslapio užkrovimas buvo vykdomas iš to paties kompiuterio, kad rezultatams neturėtų įtakos tinklo sparta. Puslapiai priklausomai nuo jų dydžio buvo bandomi užkrauti 1000 kartų (kraunant 5 puslapius vienu metu) arba 100 kartų (kraunant 3 puslapius vienu metu). Šie puslapiai rezultatų lentėje bus atskirai pažymėti. Puslapių užkrovimo laikas buvo testuojamas naudojant Apache Benchmark Web serverių spartos matavimo priemonę. XSLT technologijos greitis nebuvo matuojamas, nes ji akivaizdžiai atsilieka. Ten kur Velocity ar JSP užtrunka keliasdešimt milisekundžių, XSLT prireikia kelių sekundžių. Norint šią technologiją realiai naudoti generuojant puslapius pagal vartotojo užklausą reikia specialių sprendimų. Jei jus domina dažniausiai naudojamų XSLT realizacijų sparta, siūlyčiau pažiūrėti tinklapį adresu http://www.datapower.com/xml_community/xsltmark_results.html.

Testai buvo vykdomi ant Athlon-XP 1600+ procesorių turinčio kompiuterio su 512 megabaitų operatyvinės atminties. Buvo naudojama 1.4.0.01 versijos Sun Java virtuali mašina. Testuojami 2.04 versijos Caucho Resin ir 4.04 versijos Apache Tomcat Web serveriai.

I – 39

Page 42: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

T.Martišius

1 lentelė. Atlikti testai

Testo Nr.

Testo pavadinimas Testo tikslas

1 2 kilobaitų statinio teksto išvedimas Matuojamas maksimalus praktinis darbo greitis. 2 1 megabaito statinio teksto išvedimas Matuojama HTTP protokolo realizacijos įtaka puslapių

užkrovimo greičiui. Tikrinama kaip interpretatorius susidoroja su itin didelės apimties šablonais.

3 Teksto išvedimas po vieną raidę iš sąrašo Matuojamos buferizavimo galimybės, sąrašo iteravimo greitis.

4 Sąrašo iteravimas su aritmetiniais veiksmais ir palyginimo sakiniais

Matuojamas aritmetinių veiksmų atlikimo greitis, sąlygos sakinių vykdymo greitis.

5 Didelės lentelės išvedimas Matuojamas įrašo savybių paėmimo greitis.

2 lentelė. Testų rezultatai naudojant Apache Tomcat Web serverį

Testas JSP WebMacro Velocity 1 19.48 ms 6.72 ms 6.17 ms

2* 100.95 ms 103.47 ms 82.11ms 3 28 ms 49.61 ms 21.15 ms 4 37.20 ms 95.70 ms 25.88 ms

5* 79.41 ms 222.30 ms 111.18 ms * pažymėti testai buvo vykdyti ne 1000 o 100 kartų.

3 lentelė. Testų rezultatai naudojant Caucho Resin Web serverį

Testas JSP WebMacro Velocity 1 2.2 ms 2.69 ms 2.93 ms

2* 35.7 ms 150 ms 139.29 ms 3 20.21 ms 46.48 ms 15.73 ms 4 15.23 ms 94.61 ms 20.7 ms

5* 86.97 ms 222.87 ms 94.08 ms * pažymėti testai buvo vykdyti ne 1000 o 100 kartų.

Testavimo rezultatų apžvalga. Pagal spartą daugumoje testų pirmauja JSP technologija. Nuo jos nedaug at-silieka interpretuojamais šablonais paremta Apache Velocity. Trečioje vietoje lieka WebMacro. Testavimo metu pastebėta kad antro testo metu labai ilgai truko šablonų užkrovimas tiek naudojant Velocity, tiek WebMacro. Taip yra dėl to, kad ilgai trunka 1 megabaito apimties failo sintakės analizė. Naudojant abi šias technologijas įjungtas šablonų kešavimas, tad jie užkraunami tik vieną kartą. Del to šis delsimas testavimo rezultatams įtakos neturėjo.

4. Išvados

Iš testavimo rezultatų matosi kad pagal spartą pirmauja JSP technologijos. Jos taip pat plačiai naudojamos ir palaikomos. Naudojant JSP jau yra sukurti tūkstančiai puslapių. Tačiau JSP puslapiuose vis tiek per daug maišomas Java programos kodas ir HTML tekstas, todėl juos sunkiau suprasti ir taisyti. Dėl to rekomenduojama JSP puslapiuose naudoti vartotojo sukurtas žymes (custom tags). Neseniai sukurta JavaServer Pages Standard Tag Library (JSTL) standartinė žymių biblioteka, kuri leidža JSP pasiekti Apache Velocity funkcionalumą nenaudojant kodo įterpimo.

Šiame teste labai gerai pasirodė ir Apache Velocity. Nors ir naudojant interpretuojamus šablonus, jis nedaug atsiliko nuo JSP technologijų. Apache Velocity šablonai yra gerokai suprantamesni nei JSP failai su įterptu Java programos kodu, dėl to juos lengviau rašyti. Taip pat šia technologija generuotus puslapius lengvai galima įterpti į JSP puslapį, išsaugoti ar kešuoti. WebMacro šablonai atsilieka nuo Velocity tiek sparta, tiek puslapių suprantamumu, tiek palaikymu. Aš nerekomenduoju juos vartoti kuriant naujas sistemas.

Daug žada XSLT technologija. Kol kas ji labai jauna, standartai nėra nusistovėję, mažas greitis. Tačiau išsprendus spartos problemas HTML generavimui naudojant greitas kitomis kalbomis rašytas XSLT realizacijas arba transformaciją atliekant ant kliento kompiuterio modernios naršyklės pagalba, ši technologija būtų dar patrauklesnė. Puslapio duomenų pateikimas XML pavidalu leidžia tuos duomenis vaizduoti ne tik HTML puslapio pavidalu, bet ir naudoti duomenų apsikeitimui tarp skirtingų sistemų bei generuoti DOC ar PDF formato failus.

I – 40

Page 43: ISSN 1392 – 124X INFORMACINËS TECHNOLOGIJOS IR · PDF file · 2003-01-25Kiekvienai naujai sukurtai gijai pagal ... 3 LCTYPE konstantos neturi nieko bendra su POSIX lokalės kategorijos

HTML puslapių generavimo priemonių Java programavimo kalboje analizė

I – 41

Literatūros sąrašas [1] Sun Microsystems The Source for Java Technology http://java.sun.com [2] Sun Microsystems JavaServer Pages Technology http://java.sun.com/products/jsp [3] Sun Microsystems Java Servlet Technology http://java.sun.com/products/servlet/index.html [4] WebMacro WebMacro http://www.webmacro.org [5] Apache Software Foundation Apache Velocity http://jakarta.apache.org/velocity/index.html [6] W3C Consortium XSL Transformations (XSLT) http://www.w3.org/TR/xslt [7] DataPower XSLTMark http://www.datapower.com/xml_community/xsltmark.html [8] Apache Software Foundation The Jakarta Site - Apache Tomcat http://jakarta.apache.org/tomcat/index.html [9] Caucho Technology, Inc. Resin Core http://www.caucho.com/resin/index.xtp

Analysis of HTML generation technologies

One of the main problems designing systems communicating with user via WWW is generation of HTML pages. These systems must generate HTML pages that have good looks and functionality- visualisation of data extracted from database or data entry forms. The design of web pages must be easy to change, so it is common practice to separate it from page logic. A lot of technologies have been created to aid the separation of code and web page design- JavaServer Pages (JSP), template systems Apache Velocity, WebMacro, XML transformation using XSLT and many others. Every of these technologies has its own merits and drawbacks. In this paper I analyse and compare the performance, ease of use, features of these technologies.