Kansainvälistäminen (i18n) WordPressissä: miten rakennat monikielisen teemanKun 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).

Tiivistelmä
Miksi i18n on tärkeä WordPress-teemassa?

Ilman kansainvälistämistä teema on lukittu yhteen kieleen. Tämä aiheuttaa ongelmia, kun:...

Perusperiaate: älä kovakoodaa tekstejä

Yksi tärkeimmistä säännöistä WordPress-teemassa on tämä: älä kirjoita näkyviä tekstejä suoraan koodiin....

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....

Käännöskelpoiset funktiot

WordPress tarjoaa valmiit funktiot tekstien kääntämiseen:...

Teeman “load textdomain” -vaihe

Jotta käännökset toimivat, teeman täytyy ladata käännöstiedostot....

PO ja MO -tiedostot

WordPressin käännökset perustuvat kahteen tiedostotyyppiin:...

Gutenberg ja i18n

Gutenberg-lohkoissa kansainvälistäminen on erityisen tärkeää, koska lohkot sisältävät:...

Monikielinen teema vs monikielinen lisäosa

On tärkeää ymmärtää ero:...

Yleisimmät virheet i18n-toteutuksessa

Nämä virheet johtavat siihen, että osa sivustosta jää aina yhdelle kielelle....

Hyvät käytännöt monikieliseen teemaan

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....

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....

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:

  1. Teema skannataan käännettävien tekstien löytämiseksi
  2. PO-tiedosto käännetään
  3. MO-tiedosto generoidaan
  4. 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ä.