Tämä blogi käyttää WordPress -julkaisujärjestelmää (versio 3.1.2) ja sen useita eri laajennusosia, jotka on annettu yleiseen julkiseen käyttöön vapaan lähdekoodin ohjelmalisenssillä ja täysin ilmaiseksi. Kaiken tämän mahdollistaa laaja ja aktiivinen käyttäjä- ja kehittäjäyhteisö, joka ylläpitää ja kehittää ohjelmistoja harrastuksenaan tai ammatikseen. Me täällä Varmuusvarasto.fi:ssä haluamme kantaa oman pienen osamme yhteiseen kekoon, ja samalla maksaa kiitollisuudenvelkaamme.
Yksi käyttämistämme lisäosista on HL Twitter (versio 2011.5.5). Sen avulla blogissa voi näyttää Twitter-viestejä, eli meidän tapauksessamme @varmuusvarasto-Twitter-tilin viestejä oikean reunan sivupalkissa.
HL Twitter -lisäosa toimii erinomaisesti, mutta siitä ei ole tarjolla suomenkielistä versiota. Alla tietoja siitä, kuinka me toteutimme kotoistamisen. Tapa ei varmasti ole ainoa. Esimerkit on julkaistu siinä toivossa, että niistä on hyötyä muille.
Viimeistään tässä kohtaa tämä blogimerkintä muuttuu varsin teknisluonteiseksi, ja siitä voi olla vaikeaa saada irti mitään hyödyllistä, jos ei ole aiemmin päässyt/päätynyt kikkailemaan WordPress-ohjelmiston kanssa.
Muutokset
Lähtötietoina mainittakoon, että käytämme Twenty Ten -teemaa ja sen Sawojajar -lapsiteemaan.
Ensiksi kopioidaan HL Twitter -lisäosan hl_twitter_widget.php -tiedosto Twenty Ten -teeman hakemistoon. Kopioidussa tiedostossa muutetaan alkuperäinen hl_time_ago() -funktiokutsu (rivi 99) käyttämään omaa funktiotamme hl_time_ago_fi_FI() ja muutetaan ago-sana sitten-sanaksi. Kts. alla oleva esimerkki. Samalla voi tehdä muitakin muutoksia, kuten siirtää lisäosan tyylimääritykset teeman CSS-tiedostoon, ja lisätä rel=”nofollow” -attribuutin lisäosan tuottamiin linkkeihin.
<span class="meta">
<a rel="nofollow" href="http://twitter.com/<?php echo hl_e($tweet->screen_name); ?>/status/<?php echo hl_e($tweet->twitter_tweet_id); ?>">
<?php echo hl_time_ago_fi_FI($tweet->created); ?> sitten
</a>
</span>Seuraavaksi lisäsimme alla olevat funktiot Sawojajar -lapsiteeman hakemistoon luomaamme functions.php -tiedostoon. Näillä kotoistetuilla funktioilla siis korvataan lisäosan vastaavat alkuperäiset englanninkieliset funktiot.
function hl_time_ago_fi_FI($timestamp, $now=false) { if(!$now) $now = date_i18n('U'); $then = (is_integer($timestamp))?$timestamp:strtotime($timestamp); $seconds = abs($now-$then); if($seconds<60) return $seconds.' '.hl_plural_fi_FI($seconds,'sekunti'); $minutes = round($seconds/60); if($minutes<60) return $minutes.' '.hl_plural_fi_FI($minutes,'minuutti'); $hours = round($seconds/3600); if($hours<24) return $hours.' '.hl_plural_fi_FI($hours,'tunti'); $days = round($seconds/86400); if ($days < 7) { if ($days == 1) { return '1 päivä'; } else { return $days.' päivää'; } } $weeks = round($seconds/604800); if($weeks<=4) return $weeks.' '.hl_plural_fi_FI($weeks,'viikko'); $months = round($seconds/2613600); if ($months <= 12) { if ($months == 1) { return '1 kuukausi'; } else { return $months.' kuukautta'; } } $years = round($seconds/31557600); if ($years == 1) { return '1 vuosi'; } else { return $years.' vuotta'; } } function hl_plural_fi_FI($num, $single, $plural=false) { $num = intval($num); if($num==1) return $single; if($plural) return $plural; return $single.'a'; }
Muutoksia ei siis tehdä HL Twitter -lisäosan omiin tiedostoihin. Näin lisäosan tulevat päivitykset eivät jyrää tekemiemme muutosten yli.