Daugiakalbystė ir Joomla 1.7
Pirmadienis, 21 Lapkritis 2011 23:19
Parašė Martis
Peržiūrų: 692
Šis straipsnis skirtas Joomla 1.7
Joomla 1.5 neturėjo daugiakalbystės (svetainės turinio atvaizdavimas keliomis kalbomis) funkcijos. Tam reikėjo naudoti komponentą Joom!Fish. Joomlai 1.7 irgi yra sukurtas komponentas FaLang, kuris atlieka tokią pačią funkciją kaip ir Joom!Fish. Tačiau, naudojant Joomla 1.7, priversti svetainę kalbėti keliomis kalbomis, nebūtina naudoti trečių šalių komponentų – tam pilnai pakaks pačioje Joomloje įdiegtų funkcijų. Ši funkcija atsirado Joomla 1.6 versijoje, ir su kiekviena nauja versija yra vis tobulinama. Taigi, norint pilnai išnaudoti visas daugiakalbystės funkcijas, reikia atnaujinti Joomla iki paskutinės 1.7.3 versijos.
Išsamias instrukcijas (anglų kalba) kaip nustatyti daugiakalbystę Joomloje, galima rasti oficialiame Joomla dokumentacijos puslapyje arba OSTtraining svetainėje, kurioje gausu pamokų įvairiomis Joomla temomis. Todėl ir žemiau esanti instrukcija parašyta remiantis aukščiau minėtais tinklalapiais.
1. Kalbų paketų įdiegimas
Pirmas žingsnis, kurį reikia padaryti - įdiegti reikalingus kalbų paketus. Tarkim, reikia kad svetainės turinys būtų atvaizduojamas trimis kalbomis – lietuvių, anglų ir rusų. Anglų kalbos paketas pagal nutylėjimą įeina į Joomla sudėtį, todėl tereikia įdiegti lietuvių ir rusų kalbos paketus. Lietuvių kalbą nusistatome pagrindine administracijos ir svetainės kalba:
2. Turinio kalbų sukūrimas
Sekantis žingsnis – turinio kalbų sukūrimas. Skirtuke Išplėtimai->Kalbų tvarkyklė->Turinys sukuriame trūkstamas lietuvių ir rusų kalbas (anglų kalba nustatyta pagal nutylėjimą).
- URL kalbos kodas ir paveikslėlio priesaga turi atitikti turinio kalbos kodą (lietuvių kalbai – lt, rusų – ru, prancūzų – fr ir t.t)
- Kalbos žymė turi turi susidėti iš trijų dalių: kalbos kodo mažosiomis raidėmis, brūkšnelio ir kalbos kodo didžiosiomis raidėmis (be tarpų). Pavyzdžiui, lietuvių kalbai lt-LT, rusų ru-RU, prancūzų fr-FR ir t.t.
- Nauja funkcija, atsiradusi Joomla 1.7.3 versijoje. Čia galima įrašyti svetainės pavadinimą konkrečiai kalbai. Neįvedus nieko, bus rodomas globaliose nuostatose nustatytas svetainės pavadinimas.
Tokiu pačiu principu nustatome ir rusų kalbą:
Atlikus visus nustatymus, gausime tokį vaizdą:
3. Pervadiname ir išjungiame pagrindinį meniu modulį
Kadangi Joomloj gali būti tik vienas meniu punktas nustatytas kaip pagrindinis, todėl, jei Joomla buvo įdiegta „švariai“, pervadiname (nebūtinas veiksmas, vykdomas tik dėl aiškumo) meniu punktą, nustatytą kaip pagrindinį (Meniu->Meniu tvarkyklė). Jei svetainė yra papildyta turiniu, tai galima sukurti naują atskirą meniu bei meniu punktą, kuris turi būti priskirtas visoms kalboms ir jį padaryti kaip pagrindinį. Dabar telieka išjungti modulį, kuris susietas su šiuo meniu:
4. Kategorijų sukūrimas
Kiekvienai turinio kalbai reikia sukurti bent po vieną kategoriją bei priskirti ją atitinkamai kalbai. Tų kategorijų kiekis gali būti neribojamas, bet būtinai turi būti nors viena kategorija vienai turinio kalbai. Šiuo atveju sukuriame tris kategorija bei po dvi pokategores visoms trims turinio kalboms, o kategoriją, sukurtą pagal nutylėjimą, paliksime visoms kalboms.
Atlikus tokius veiksmus kelis kartus, gausime tokį vaizdą:
5. Straipsnių sukūrimas
Sukūrus kategorijas, reikia užpildyti svetainę turiniu, todėl sukuriame kelis straipsnius skirtingomis kalbomis, bei priskiriame juos atitinkamoms kategorijoms bei kalboms (straipsnį lietuvių kalba priskiriame lietuvių kalbos kategorijai bei kalbai, rusų – rusų kalbos kategorijai bei kalbai ir t.t).
Tokius pačius veiksmus pakartojame kelis kartus ir gauname tokį maždaug vaizdą:
6. Meniu bei meniu punktų sukūrimas kiekvienai kalbai
Sukūrus kategorijas, bei straipsnius, reikia sukurti meniu kiekvienai turinio kalbai bei meniu punktus, susietus su kiekviena turinio kalba. Sukuriame meniu (Meniu->Meniu tvarkyklė):
Sekantis žingsnis – meniu punktų sukūrimas. Kuriant meniu punktus, reikia atkreipti dėmesį, kad tik vienas meniu punktas gali būti nustatytas pagrindiniu vienai turinio kalbai. Taip pat meniu punktas turi būti priskirtas konkrečiai kalbai:
Analogiškus veiksmus atliekame ir su kitais meniu punktais, susietais su kitomis kalbomis. Kad būtų aiškiau, sukuriame ir po antrą meniu punktą kiekvienai kalbai, tik šį kartą parinktį numatytasis puslapis nustatome į ne. Ta pati sąlyga galioja ir kitiems meniu punktams:
Atlikus visus veiksmus kelis kartus, gausime tokį rezultatą:
Jei visi veiksmai bus atlikti teisingai ir kiekvienai kalbai bus nustatytas tik vienas pagrindinis meniu punktas, tada prie meniu punktų turi atsirasti vėliavėlės, atitinkančios kalbą, bei prie turinio kalbos punkto pradžia užrašas ne turi pasikeisti į taip:
Jei grįžtume prie antro žingsnio, tai galima pastebėti, kad ten ši parinktis yra nustatyta į ne.
7. Modulių sukūrimas
Sekantis žingsnis – modulių sukūrimas kiekvienam meniu. Principas išlieka toks pats kaip ir kategorijų, straipsnių ar meniu punktų kūrime: kiekvienam skirtingos kalbos moduliui nustatome tai kalbai sukurtą meniu bei aišku pasirenkame tą kalbą, kuriai ir sukurtas meniu:
Pavyzdžio atveju gauname tris meniu punktus:
8. Šablono priskyrimas
Jei svetainės turinys atvaizduojamas keliomis kalbomis, todėl tokiu atveju reikalingi ir logotipai ar kitokios šablono dalys, kurios turėtų būti atvaizduojamos skirtingai nuo pasirinktos kalbos. Priskyrimai atliekami lygiai tokiu pačiu principu kaip ir modulių kūrimas: kiekvienai atskirai kalbai nustatome šabloną, bei nurodome kokiai jis kalbai bus priskirtas:
Šablonai gali būti ir vienodi, ir visiškai skirtingi. Dabar tarkim naudosim du skirtingus šablonus:
Reikia nepamiršti, kad vienas šablonas turi būti nustatytas pagrindiniu visoms kalboms (paveikslėlyje pažymėtas žvaigždute) .
9. Kalbų perjungimo modulio (-ių) sukūrimas
Šiuo atveju galimi du variantai: arba sukurti vieną kalbų perjungimo modulį visoms kalboms, arba kiekvienai kalbai po atskirą modulį. Abiejų variantų funkcionalumas beveik lygiai toks pats, tik antras variantas labiau tinkamas tada, kai norima svetainės lankytojams parodyti kokią kalbą jie pasirinko.
1. Variantas. Sukuriame kalbų perjungimo modulį (Išplėtimai->Modulių tvarkyklė->Naujas->Kalbų perjungėjas) ir priskiriame jį visoms kalboms:2. Variantas. Šis atvejis reikalauja sukurti jau kelis kalbų perjungimo modulius ir priskirti juos atitinkamoms kalboms. Taip pat kiekvieną tokį modulį reikia nustatyti taip, kad jis būtų rodomas tik pasirinkus atitinkamą kalbą. Nustatome taip modulį rusų kalbai:
Ir priskiriame, kad jis būtų rodomas tik tada, kai rodomas meniu rusų kalba:
Atitinkamus veiksmus atliekame ir lietuvių kalbai:
Jei po šio žingsnio pažvelgtumėme į svetainę, tai pamatytumėme, kad rodomi visi sukurti moduliai:
O kad atskirai kalbai būtų rodomas jai sukurtas modulis, tereikia įgalinti įskiepį kalbų filtras.
10. Įskiepis kalbų filtras
Taigi, einame į Išplėtimai->Įskiepių tvarkyklė ir susirandame įskiepį kalbų filtras:Įskiepis turi keturis nustatymus, kurių reikšmes galima sužinoti užvedus pelės žymeklį ant kiekvienos parinkties. Tačiau rekomenduoju parinktį meniu ryšiai nustatyti į taip, nes šis nustatymas bus reikalingas norint susieti vienodus straipsnius skirtingomis kalbomis (11 žingsnis). Įgalinus šį įskiepį ir pažvelgus į svetainę, viskas dabar atvaizduojama teisingai, kiekvienas kalbos meniu rodomas tik pasirinkus jo kalbą:
11. Ryšiai
Viskas nustatyta, viskas veikia, bet tarkim skaitom kokį nors straipsnį viena kalba ir jei pakeičiame kalbą į kitą, tai automatiškai puslapis bus nukreiptas į pradinį kalbos puslapį. Bet tarkim yra trys vienodi straipsniai skirtingomis kalbomis ir reikia, kad pasirinkus kitą kalbą, būtų rodomas tas straipsnis atitinkama kalba. Kad tai įgyvendinti, reikalinga, kad įskiepio kalbų filtras parinktis meniu ryšiai būtų nustatyta į taip. Tada einame į meniu tvarkyklę ir bet kurios kalbos meniu punkte nustatome ryšius kitoms kalboms (užtenka nustatyti tik viename meniu):
Kai ryšiai bus nustatyti, susijusius meniu punktus galima bus pamatyti meniu tvarkyklėje:
12. Administracijos daugiakalbystės būsenos modulis
Šis modulis atsirado tik Joomla 1.7.1 versijoje ir yra skirtas tik peržiūrėti daugiakalbystės būseną. O nuo versijos 1.7.3 šis modulis gali parodyti ir kai kurias klaidas, atsirandančias, jei kas nors būna nustatyta neteisingai. Einame į Išplėtimai->Modulių tvarkyklė ir pasirenkame, kad būtų rodomi administracijos moduliai. Įgaliname daugiakalbystės būsenos ir administracijos viršuje atsiras naujas punktas daugiakalbystės būsena:Taigi, atlikus 12 paprastų žingsnių, galima priversti svetainę „kalbėti“ keliomis kalbomis. Beje, verta paminėti, kad 9 žingsnyje, kai daromi keli kalbų perjungimo moduliai, yra nepatogu naudotis standartinėmis Joomla funkcijomis, nes kiekvieną kartą, sukuriant naujus meniu punktus reikės rankiniu būdu pridėdinėti tuos punktus kiekvienam moduliui (kad kalbų perjungimo modulis būtų rodomas tada, kai pasirinkti tie punktai). Tokiu atveju geriau naudoti tikrai gerą komponentą Advanced Module Manager. Naudojantis juo, tereikės modulį priskirti atitinkamai kalbai, ir pridėjus naujus meniu punktus, jis bus automatiškai visada rodomas. Be šios funkcijos (ir daugelio kitų), šis modulis leidžia prie kiekvieno modulio rodyti spalvą (svetainės atvaizdavimui tai jokios įtakos neturi), kas yra labai patogu, kai yra priskirta daug modulių atskiroms kalboms (tiesiog parenkame skirtingas spalvas skirtingoms kalboms).
Sėkmės eksperimentuojant
Joomla123.lt is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.
The Joomla!® name is used under a limited license from Open Source Matters in the United States and other countries.


