WP-palvelun Blogi

Kirjoituksia suomalaisilta WordPress-asiantuntijoilta.

Uusi apukomento Seravon Vagrantissa helpottaa WordPress-lisäosien kääntämistä: wp-makepot

Seravon Vagrant on WordPress-sivustojen kehittäjille suunnattu apuväline, joka mahdollistaa Seravon tuotantoympäristöä mahdollisimman paljon muistuttavan ympäristön ajamisen omalla koneella virtuaalikoneessa. Tämän etu on se, että jos kehittäjä käyttää tuotannon kanssa mahdollisimman identtistä kehitysympäristöä, niin tuotantoon viedessä tulee vähemmän yllätyksiä. Kehitys- ja tuotantoympäristöt ovat mahdollisimman identtisiä, eli niissä on muun muassa samat versiot ohjelmistoista kuten PHP, Nginx, MariaDB, Redis jne, sekä niissä samat asetukset.

Vagrant itsessään on yleinen ohjelmisto kehitysympäristöjen luomiseen ja ajamiseen, se on monille tuttu ja Seravon Vagrant noudattaa kehittäjille ennestään tuttuja yleisiä Vagrantin käyttöperiaatteita. Lisätietoja löytyy Seravon WordPress-sivustojen kehittäjille suunnatuissa ohjeissa sivustolla seravo.com/docs/.

Vagrant-komennot kehittäjille

Seravon Vagrantin idea ei lopu siihen, että se helpottaa kehityksestä testiin ja tuotantoon vientiä. Se sisältää myös lukuisan joukon kehittäjien yleisiä apuvälineitä (esim. Xdebug ja Mailcatcher) sekä Seravon itse kehittämiä apuvälineitä, jotka ovat kaikki wp-alkuisia komentoja:

wp-makepot
wp-pomo-compile
wp-pull-production-db
wp-pull-staging-db
wp-ssh-production
wp-test
wp-vagrant-dump-db
wp-vagrant-import-db
wp-watch-logs

 

Teemojen ja lisäosien kääntäminen helpottuu

Näistä uusimmat ovat wp-makepot sekä wp-pomo-compile, jotka helpottavat WordPressin teemojen ja lisäosien käännettävyyden ja käännösten kehittämistä. WordPressissä koodaaja mahdollistaa käyttöliittymän kääntämisen eri kielille käyttämällä WordPressin gettext-funktioita. Esimerkiksi PHP-koodiin ei pitäisi koskaan kirjoittaa echo 'Hello world!' vaan mielummin _e('Hello world!').

Kun teema tai lisäosa on valmis, ja ensimmäinen versio käyttöliittymästä tehty (yleensä englanniksi) tehdään varsinainen kääntäminen eri kielille eri vaiheessa. Ensin pitää luoda pot-tiedosto, jossa on listattuna yhdessä paikkaa kaikki käännettävissä olevat tekstit. Sitten pot-tiedostosta luodaan po-tiedosto kullekin kielelle. Suomentaja tekee siis fi.po-tiedoston. Lopulta kaikki tekstimuodossa olevat po-tiedostot pitää kääntää konekieliseksi eli binääriksi, jolloin niistä tulee mo-tiedostoja. Suomenkielinen käyttöliittymä näkyy käyttäjälle, jos tiedosto fi.mo on olemassa (ja WordPress löytää sen ja lataa sen).

Pot-tiedostojen tuottamiseksi teimme komennon wp-makepot. Se käyttää ”konepellin alla” WordPressin kehittäjien omaa makepot-työkalua, eli se toimii varmasti oikein ja WordPressin parhaiden käytäntöjen mukaan. Sitä ajettaessa pitää kertoa tuotetaanko käännöstiedosto WordPress-teemasta vai lisäosasta, sekä missä hakemistossa koodi sijaitsee, ja minne pot tiedosto halutaan tallentaa:

vagrant@wordpress:/data/wordpress/htdocs/wp-content/plugins/woocommerce-pakettikauppa$ wp-makepot 
Generate POT file from the files in DIRECTORY [OUTPUT]
Available projects: generic, wp-frontend, wp-admin, wp-network-admin, wp-tz, wp-plugin, wp-theme, glotpress, rosetta, wporg-bb-forums, wporg-themes, wporg-plugins, wporg-forums, wordcamporg

vagrant@wordpress:/data/wordpress/htdocs/wp-content/plugins/woocommerce-pakettikauppa$ wp-makepot wp-plugin . languages/wc-pakettikauppa.pot

Uusien po-tiedostojen luomiseen ja vanhojen po-tiedostojen päivittämiseen päivittyneistä pot-tiedostoista suosittelemme käyttämään graafista Poedit-ohjelmaa.

Jos käytetään Poedit-ohjelmaa, automatisoi se monta asiaa käännöstyössä, kuten vanhojen käännösten poistamisen po-tiedostoista sekä po-tiedostojen tallennusvaiheessa luo binäärimuotoiset mo-tiedostot.

Jos haluaa erikseen varmistaa, että kaikista po-tiedostoista on luotu tuore binäärimuotoinen mo-tiedosto, voi käyttää komentoa wp-pomo-compile. Sille voi antaa parametriksi tietyn hakemistopolun, tai jos ei anna, niin se oletuksena etsii kaikki po-tiedostot hakemistosta /data/wordpress/htdocs/wp-content/:

$ wp-pomo-compile 
No path given as argument. Using default path.
Scanning for .po files in /data/wordpress/htdocs/wp-content/
Compiling /data/wordpress/htdocs/wp-content/plugins/woocommerce-pakettikauppa/languages/wc-pakettikauppa-fi.po ...
Compiling /data/wordpress/htdocs/wp-content/plugins/wp-native-dashboard/i18n/wp-native-dashboard-de_DE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/sv_SE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/admin-sv_SE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/plugins/akismet-fi.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/plugins/bbpress-sv_SE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/plugins/woocommerce-fi.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/plugins/woocommerce-sv_SE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/plugins/bbpress-fi.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/plugins/wordpress-importer-fi.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/plugins/akismet-sv_SE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/plugins/wordpress-importer-sv_SE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/continents-cities-sv_SE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/fi.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/admin-fi.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/admin-network-sv_SE.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/continents-cities-fi.po ...
Compiling /data/wordpress/htdocs/wp-content/languages/admin-network-fi.po ...
Compiling /data/wordpress/htdocs/wp-content/mu-plugins/seravo-plugin/languages/seravo-fi.po ...
Done!

Seravo edistää avointa koodia

Linux-taustaisena yrityksenä Seravo on sitoutunut avoimen lähdekoodin hyödyntämiseen sekä myös osallistuu sen kehittämiseen. Varsinkin koodaajat ymmärtävät kuinka paljon valtaa koodiin piileytyy, ja siksi ohjelmoijat osaavat arvostaa sitä, että Seravon teknologia perustuu Linuxiin ja vastaaviin avoimen lähdekoodin ohjelmistohin. Seravo myös itse tuottaa parannuksia käyttämiinsä ohjelmistoihin sekä kokonaan uusia ohjelmistoja yleiseen käyttöön. Seravo Vagrantin lähdekoodi löytyy Seravon Github-tilin alta. Virheitä voi raportoida ja uusia ominaisuuksia ehdottaa julkisen ominaisuus-/virhetietokannan kautta.

Avoimen lähdekoodin kehittäminen ja julkaiseminen ei ole hyväntekeväisyyttä, vaan investointi, joka pitkällä aikavälillä tuottaa teknisesti parhaan mahdollisen ratkaisun. Samasta syystä tiedemiehetkin ovat julkaisseet tutkimuksensa avoimesti viimeisen 300 vuoden ajan. Ohjelmistojen tapauksessa kollektiivinen laadun evoluutio korostuu, koska ohjelmistoja on niin helppo ottaa käyttöön ja ohjelmistokehitykseen voi ottaa osaa paljon pienemmällä kynnyksellä kuin mitä muun alan tieteellinen työ yleensä vaatii.

Suosittelemme teknisimpiä asiakkaitamme tutustumaan Seravon ohjelmistotarjontaan ja ottamaan aktiivisesti osaa kehitykseen, joko raportoimalla vikoja, ehdottamalla uusia ominaisuuksia sekä äänestämällä jo suunniteltujen ominaisuuksien toteuttamista. Muutamat asiakkaat ja yhteistyökumppanit ovat myös tehneet suoraan paikkauksia (engl. patch) Seravon ohjelmistoihin, joista olemme erityisen kiitollisia, ja jotka tuottavat nopeiten suurimman hyödyn kaikille osapuolille.

Kehitysehdotuksia otamme vastaan myös tällä viikolla järjestettävässä Kehityskeskiviikko-asiakastilaisuudessa!

 


Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *