WordPress i lokalizacija

Kada sam odlučio da krenem sa blogom, ispitao sam 4 rešenja za Linux/Apache/Php.

WordPress je bez daljnjeg daleko ispred tih rešenja: izuzetno laka konfiguracija, udoban i efikasan interfejs i minimalni zahtevi:

  • PHP version 4.1 ili noviji (PHP 5 se još ne preporučuje)
  • MySQL version 3.23.23 ili noviji

Ono što je bitno, WP podržava i lokalizaciju; recimo, izmenom fajla wp-includes/locale.php možete podesiti nazive meseci i dana u nedelji. No, šta da radimo sa Četvrtkom 🙂 (jedini pomenuti ima naša slova u nazivu)?

Akcija zavisi od vaše oduke: koji kodni raspored želite na stranicama? Kod nas su uobičajeni osmobitni standardi Windows 1250 (ne preporučujem, iako je lakše pripremati stranice u ovom rasporedu na Windows platformi) i ISO 8859-2 (daleko bolji izbor).

No, više nema razloga da ne koristite neki potpuniji standard, koji vam neće vezivati ruke, ni vama ni vašim posetiocima koji ostave eventualni komentar 🙂 – Unicode.

Unicode definiše tačan raspored karaktera, ali ne i njihovu prezentaciju (zapis) u odgovarajućem mediju. Za to su i dalje odgovorne kodne strane; za Unicode, prirodan izbor je UTF8, Unicode Transformation Format-8, način da Unicode karaktere predstavimo preko 8 bita (ako vas ovo zanima detaljnije, predlažem odličan članak Marka Dejvisa)

Ok, odlučili ste se za UTF8. Potrebne su dve stvari:

1. da pregledaču (browseru) posetioca vašeg sajta "kažete" da je strana zapisana u UTF8 kodnoj strani:

U okviru <head> … </head> sekcije strane, dodajte ovaj meta tag:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

2. da sadržaj na strani zaista i bude zapisan u UTF8 formatu

Stavka dva zna da bude problem; prvo, "prava" UTF8 datoteka ima na početku tri bajta ili UTF8 signature (xEF xBB xBF) koje znaju da zbune neke tekst editore. Drugo, ako je to datoteka izvornog koda (.php / .asp strana), server može da pravi problema oko tako zapisane strane.

Da se vratimo na primer kojim smo počeli: locale.php; tu je četvrtak zapisan kao:

$weekday[4] = __(‘Četvrtak’);

No, kako zapisati Č? Tip fajla ne može da bude UTF8 jer se php uguši sa ovakvim fajlom a ni jedna od osmobitnih kodnih strana ne vrši posao. Srećom, neko je i na to mislio 🙂 Iskoristio sam HTML kodiranje (&#) bilo kog karaktera; tako gornji red postaje:

$weekday[4] = __(‘&#268;etvrtak’);

zapisan na stari način (osmobitni karakteri) a prikazan kako treba (pogledajte kalendar desno). Prihvatam da ovakav način zapisa izgleda rogobatno, ali rešava mnogo više problema no što ih uvodi.

Zaključak: ako radite u datotekama izvornog koda, koristite gornji način; ako direktno editujete neku statičku HTML stranicu, koristite editor koji to podržava, kao što je recimo Scite. Evo tabele najinteresantnijih karaktera za naše podneblje:

&#262;  Ć   &#263;  ć   &#268;  Č   &#269;  č
&#272;  Đ   &#273;  đ   &#352;  Š   &#353;  š
&#381;  Ž   &#382;  ž   &#128;  €   &#174;  ®

a kompletnija tabela je ovde: http://www.tony-franks.co.uk/UTF-8.htm

3 thoughts on “WordPress i lokalizacija”

  1. 1) UTF znači UCS Transfer Format (UCS je Unicode Character Set)
    2) ta tri bajta (što nazivaš “UTF potpis”), odnosno BOM (Byte Order Mark) karakter nije obavezan, i preporuka je ne koristiti ga (baš zbog sledeće stavke)
    3) PHP odlično radi sa UTFom (kada je bez BOM karaktera)
    4) nađi pošten editor koji dobro podržava unikod/utf (to podrazumeva da može i da se uključi/isključi ubacivanje BOM karaktera na početak fajla)

    btw, srećno sa novim blogčetom.. 😉

  2. Ovaj, pa tako sam i napisao:

    1) – UTF8, Unicode Transformation Format-8 ili jedan od načina zapisa Unicode karaktera
    2) BOM ili “UTF signature” su obično sinonimi za istu stvar
    3) To sam i rekao – PHP ima problema ako .php fajl počinje sa BOM
    4) Scite je upravo moj izbor za editor; zadovoljava sve moje profesionalne zahteve

    Tnx za blog 😉

Leave a Reply to Dejan Vesic Cancel reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.