Kun WordPress-sivusto halutaan viedä kansainväliseen käyttöön, pelkkä sisällön kääntäminen ei riitä. Teeman täytyy olla alusta asti rakennettu niin, että kaikki tekstit, merkkijonot ja käyttöliittymäelementit voidaan kääntää ilman koodin muokkaamista. Tätä varten WordPressissä käytetään kansainvälistämistä (internationalization, i18n) ja lokalisointia (localization, l10n).
Ilman kansainvälistämistä teema on lukittu yhteen kieleen. Tämä aiheuttaa ongelmia, kun:...
Yksi tärkeimmistä säännöistä WordPress-teemassa on tämä: älä kirjoita näkyviä tekstejä suoraan koodiin....
Jokainen WordPress-teema tarvitsee oman text domainin. Se on tunniste, jonka avulla WordPress tietää, mihin teemaan käännökset kuuluvat....
WordPress tarjoaa valmiit funktiot tekstien kääntämiseen:...
Jotta käännökset toimivat, teeman täytyy ladata käännöstiedostot....
WordPressin käännökset perustuvat kahteen tiedostotyyppiin:...
Gutenberg-lohkoissa kansainvälistäminen on erityisen tärkeää, koska lohkot sisältävät:...
On tärkeää ymmärtää ero:...
Nämä virheet johtavat siihen, että osa sivustosta jää aina yhdelle kielelle....
WordPressin kansainvälistäminen ei ole pelkkä lisäominaisuus, vaan osa hyvää teemasuunittelua. Kun i18n toteutetaan oikein, teema muuttuu aidosti monikieliseksi ja skaalautuvaksi ratkaisuksi ilman koodin duplikointia....
WordPressin kansainvälistäminen ei ole pelkkä lisäominaisuus, vaan osa hyvää teemasuunittelua. Kun i18n toteutetaan oikein, teema muuttuu aidosti monikieliseksi ja skaalautuvaksi ratkaisuksi ilman koodin duplikointia....
i18n tarkoittaa sitä, että teema “valmistellaan käännöksille”, ja l10n tarkoittaa itse käännösten toteuttamista eri kielille. Kun nämä tehdään oikein, sama teema voi palvella useita kieliä ja markkinoita ilman erillisiä versioita.
Miksi i18n on tärkeä WordPress-teemassa?
Ilman kansainvälistämistä teema on lukittu yhteen kieleen. Tämä aiheuttaa ongelmia, kun:
- sivusto laajennetaan uusille markkinoille
- asiakas tarvitsee monikielisen sivuston
- SEO halutaan optimoida eri kielille
- sisältöä hallitaan useilla kielillä
Hyvin rakennettu i18n tekee teemasta:
- uudelleenkäytettävän
- skaalautuvan
- helposti lokalisoitavan
Perusperiaate: älä kovakoodaa tekstejä
Yksi tärkeimmistä säännöistä WordPress-teemassa on tämä: älä kirjoita näkyviä tekstejä suoraan koodiin.
Sen sijaan kaikki käyttäjälle näkyvä teksti tulee “kääntämiskelpoisten funktioiden” kautta. Näin WordPress voi korvata tekstin eri kielillä.
Esimerkiksi:
- “Read more”
- “Search”
- “Contact us”
Kaikkien näiden tulee olla käännettävissä.
Text domain – käännösten perusta
Jokainen WordPress-teema tarvitsee oman text domainin. Se on tunniste, jonka avulla WordPress tietää, mihin teemaan käännökset kuuluvat.
Text domain määritellään teemassa ja sitä käytetään kaikissa käännöskutsuissa.
Ilman sitä WordPress ei osaa yhdistää käännöksiä oikeaan teemaan.
Käännöskelpoiset funktiot
WordPress tarjoaa valmiit funktiot tekstien kääntämiseen:
- yksinkertaisille teksteille
- kontekstisidonnaisille teksteille
- dynaamisille arvoille
Näiden avulla kaikki käyttöliittymätekstit voidaan tehdä monikielisiksi.
Teeman “load textdomain” -vaihe
Jotta käännökset toimivat, teeman täytyy ladata käännöstiedostot.
Tämä tarkoittaa käytännössä:
- WordPress etsii oikean kielitiedoston
- lataa sen automaattisesti
- korvaa teeman tekstit käyttäjän kielellä
Ilman tätä vaihetta käännökset eivät aktivoidu.
PO ja MO -tiedostot
WordPressin käännökset perustuvat kahteen tiedostotyyppiin:
- PO-tiedosto: muokattava käännöstiedosto
- MO-tiedosto: koneellisesti luettava versio
Tyypillinen työnkulku:
- Teema skannataan käännettävien tekstien löytämiseksi
- PO-tiedosto käännetään
- MO-tiedosto generoidaan
- WordPress käyttää MO-tiedostoa ajon aikana
Gutenberg ja i18n
Gutenberg-lohkoissa kansainvälistäminen on erityisen tärkeää, koska lohkot sisältävät:
- otsikoita
- kuvauksia
- editoritekstejä
- asetuksia
Kaikki nämä täytyy tehdä käännettäviksi, jotta sama block toimii eri kielillä ilman erillistä logiikkaa.
Monikielinen teema vs monikielinen lisäosa
On tärkeää ymmärtää ero:
- i18n tekee teemasta käännettävän
- monikielinen plugin (esim. WPML tai Polylang) hallitsee kieliversioita
i18n ei siis itsessään tee sivustosta monikielistä, vaan mahdollistaa sen.
Yleisimmät virheet i18n-toteutuksessa
- Tekstejä jätetään kovakoodatuiksi
- Text domain puuttuu tai on väärä
- Käännöstiedostoja ei ladata oikein
- JavaScript-tekstit jätetään kääntämättä
- Gutenberg-lohkoja ei huomioida
Nämä virheet johtavat siihen, että osa sivustosta jää aina yhdelle kielelle.
Hyvät käytännöt monikieliseen teemaan
- Käännä kaikki näkyvä teksti
- Käytä yhtenäistä text domainia
- Suunnittele i18n jo teeman alussa, ei lopussa
- Huomioi myös JavaScript ja blockit
- Testaa usealla kielellä
Yhteenveto
WordPressin kansainvälistäminen ei ole pelkkä lisäominaisuus, vaan osa hyvää teemasuunittelua. Kun i18n toteutetaan oikein, teema muuttuu aidosti monikieliseksi ja skaalautuvaksi ratkaisuksi ilman koodin duplikointia.
Hyvin rakennettu i18n:
- mahdollistaa monikieliset sivustot
- parantaa SEO:ta eri markkinoilla
- tekee teemasta pitkäikäisen
Lopputulos on teema, joka toimii yhtä hyvin paikallisessa kuin kansainvälisessä käytössä.

