✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

WordPress-teeman opetusohjelma aloittelijoille – Osa 8: Käännös

4

Tällä oppitunnilla opimme kuinka kääntäminen (tai muuten tunnetaan nimellä i18n) WordPressissä toimii ja kuinka tehdä tarvittavat muutokset malleissamme. Opimme myös kuinka PoEdit määritetään oikein, jotta voimme luoda teemallemme käännöstiedoston, joka on valmis käännettäväksi eri kielille.

Miksi vaivautua käännöstuen lisäämiseen?

Kaikkien teemojen, ainakin ne, jotka ovat julkisia muiden kuin kehittäjän käyttöön, tulisi olla käännettävässä. Tätä kutsutaan kansainvälistymiseksi (lyhyesti i18n), ja sen avulla ihmiset voivat kääntää teemaasi lisäämiäsi tekstejä toiselle kielelle.

Se toimii siten, että sinä teeman tekijänä tai laajennuskehittäjänä käärit kaikki tekstisi (kuten "Lue lisää", "Ei viestejä") tiettyihin toimintoihin. Nämä toiminnot tekevät siitä, että WordPress pystyy poimimaan ja syöttämään ne. käännös, jos se on olemassa. Voit lisätä teemaasi (tai laajennukseen) tietyn tiedostotyypin tiedostoja kullekin käännetylle kielelle tai varmistaa, että muut ihmiset voivat luoda oman käännöksensä omalla kielellään.

Tämä on erittäin hyödyllistä ihmisille, jotka haluavat käyttää WordPressiä ja teemaasi (tai laajennusta) eri kielellä kuin alkuperäisellä kielellä (joka on yleensä englanti). Mutta sitä voidaan käyttää myös tiettyjen tekstien muuttamiseen jollakin muulla samalla kielellä.

Jos olet kiinnostunut aiheesta, WordPress Codexilla on pitkä ja hyvä dokumentaatioopas i18n:stä kehittäjille.

i18n:n käyttöönotto teemassamme

Olemme jo tehneet ensimmäisen osan tämän teema-opetussarjan edellisessä vaiheessa, johon lisäsimme load_theme_textdomainteemamme asetustoiminnon. Jos unohdat, lisäsimme tämän:

load_theme_textdomain('wptutorial', get_stylesheet_directory(). '/lang');

Ensimmäinen argumentti on kahva, tämä on ainutlaatuinen merkkijono, jonka avulla voit ryhmitellä kaikki teemaasi kuuluvat tekstit. Toistat tämän kahvan aina, kun teet tekstistä käännettävän. Toinen argumentti kertoo WordPressille, missä käännöstiedostot ovat. Määritimme ne sijaitsemaan teemahakemistomme alikansiossa ‘ lang‘.

Älä huoli, jos tätä kansiota ei ole olemassa tai se ei sisällä tiedostoja – mikään ei kaatu. Jos WordPress ei löydä kansiota tai oikeita käännöstiedostoja, se palaa oletuksena takaisin teemassa oleviin teksteihin.

Seuraava askel on käydä läpi koko koodimme ja löytää kaikki tekstitulosteet, joiden pitäisi olla käännettävät. On hyvä käytäntö varmistaa, että katamme ehdottomasti kaikki tekstit. Mikään ei ole ärsyttävämpää kuin käyttää teemaa tai laajennusta, jossa kirjoittaja on koodannut tekstit, jotka tekevät kääntämisen tai muuttamisen mahdottomaksi millään tavalla.

Kuinka saada tekstit käännettäväksi

Kaikilla teksteillä laitamme ne johonkin WordPressin gettext-funktioista, jotka yleisimmin ovat _e()tai __(). Ensimmäinen on alaviiva, jossa on "e", jota käytetään, kun haluat toistaa tekstiä samanaikaisesti. Toinen on kaksi alaviivaa ja sitä käytetään, kun et halua toistaa sitä, vaan tallentaa sen tai käyttää sitä muuttujassa.

WordPressissä on enemmän gettext-toimintoja, jotka palvelevat tarkempia tarkoituksia, esimerkiksi esc_html__(), _n()ja _x()paljon muuta. Emme kuitenkaan mene yksityiskohtiin tässä opetusohjelmassa.

Gettext-funktioissa on kaksi parametria; ensin itse teksti ja toiseksi kahva, jonka määritit kohdassa load_theme_textdomain. Tässä tapauksessa se on ‘ wptutorial‘.

Jos sinulla on esimerkiksi jotain tämän kaltaista:

echo 'Read more';

Sinun on korvattava se seuraavalla:

_e('Read more', 'wptutorial');

Ja samalla tavalla muuttujaan tallentamiseen;

$myvariable = 'Read more';

Se on kirjoitettava näin:

$myvariable = __('Read more', 'wptutorial');

Nyt meidän on löydettävä kaikki tekstit malleistamme! Jos olet seurannut tätä opetusohjelmaa T-kirjaimeen, se ei ole montaa. Meillä on jotkin merkkijonot sisään index.phpja osa sisään single.php.

Käännöstuen lisääminen teemaamme

Aloitetaan index.phpja etsitään "Ei viestejä, anteeksi" -viesti, jonka lisäsimme, jos silmukka ei sisältänyt viestejä. Käärimme tämän tekstin sisään, _e()koska haluamme silti toistaa sen. Joten tämän saamme:

Koska käytit, _e()sinun ei pitäisi nähdä muutosta, kun painat päivittää etusivulla tai arkistossa. Mutta konepellin alla tämä teksti on nyt käännettävä!

Sama teksti on meillä single.phpja page.php. Päivitä nämä samalla tavalla kuin teimme vuonna index.php. Lisäsimme joitain tekstejä sisään single.php, joten tältä se näyttää, kun kaikki tekstit on käännettävä:

Tästä eteenpäin kaikki tekstit, jotka lisäämme teemaomme, varmistamme, että ne kääritään sisään __()tai _e().

Käännöstiedostot

On kaksi tapaa tarjota käännöstiedostoja teemallesi;

  • Anna .pot-tiedosto
  • tai anna pari .poja .motiedostot.

.pot-tiedostoa suositellaan teemalle, jonka myyt tai annat muille käyttäjille, koska tällä tiedostolla on erittäin helppo luoda käännöstiedosto uudelle kielelle. Näiden tiedostojen luominen ei kuitenkaan ole helppoa (tai ilmaista). Jos olet perehtynyt WP-CLI:hen (komentorivi WordPress) tai Grunt, voit seurata WordPressin dokumentaation ohjeita täältä. Jos ei, toinen vaihtoehto voi olla sinulle.

Tiedostot .poja .motyöskennellä yhdessä. WordPress vaatii .motekstien kääntämiseen, mutta tämä tiedosto ei ole ihmisen luettavissa. Siksi meillä on .potiedosto, joka on meille luettavissa. Oikealla ohjelmistolla se luo .motiedoston aina, kun teet muutoksia.

.poTiedostojen ja -tiedoston haittana .moon, että jokaiselle kielelle on luotava yksi pari, ja kun olet kääntänyt sen jollekin kielelle, ei ole helppoa tapaa tyhjentää kaikkia käännöksiä toisen uuden kielen tekemiseksi.

Tarvitset ohjelman muokkaamiseen .potja .potiedostoihin. Yleisin on PoEdit. PoEdit on ilmainen ja toimii sekä iOS:ssä että Windowsissa. Mutta jotkut lisäominaisuudet (kuten .pot-tiedoston luominen) vaativat valitettavasti maksullisen version. Käytämme ilmaista versiota .potiedoston tekemiseen teemallemme.

Lataa ja asenna PoEdit, jotta voit seurata opetusohjelman loppua.

.po-tiedoston luominen teemallemme PoEditin avulla

Englanninkielisen käännöstiedoston tekemisessä ei yleensä ole mitään järkeä, kun kaikki teemamme tekstit ovat joka tapauksessa englantia, mutta tätä opetusohjelmaa varten teen englanninkielisen käännöstiedoston.

1 Avaa PoEdit ja napsauta Tiedosto > Uusi…

2 Sinua pyydetään valitsemaan kieli. Valitse haluamasi kieli, esimerkiksi englanti.

3 Paina Tallenna (Ctrl+S). Etsi teemakansiosi ja siirry /lang/alikansioon. (Jos et luonut sitä viimeisessä vaiheessa, luo se nyt). Tiedostosi nimi on tärkeä. Teemoja varten se tulee nimetä vain kielikoodisi. Amerikan englannin kielelle se olisi en_US, norjalle se on nb_NO. Googlettamalla se tai katso tämä yleiskatsaus löytääksesi kielikoodisi. Nimetään se en_US.po.

4 Valitse valikosta Katalogi > Ominaisuudet…

5 Ensimmäiselle välilehdelle voit kirjoittaa joitakin tietoja, kuten projektin (teeman) nimen, tai vaihtaa kieltä – mutta se ei ole välttämätöntä. Suosittelen, että pidät merkkisarjan UTF-8:ssa, koska kirjoitamme tämän WordPressille.

WordPress-teeman opetusohjelma aloittelijoille – Osa 8: Käännös

6 Napsauta Lähteiden polut -välilehteä. Tässä sinun on määritettävä, mistä kansioista tiedoston tulee etsiä käännettävää tekstiä. Polut ovat suhteellisia, ja koska olemme jo tallentaneet sen teemamme alikansioon, tiedämme, että sen täytyy mennä yksi hakemisto ylöspäin. Paina +-painiketta Polut-ruudun alla ja valitse Lisää kansioita. Valitse teemahakemistosi. Tämän pitäisi lisätä polkuelementti "." (siirry yksi kansio ylöspäin). Tarkista, että "Peruspolku" viittaa juuriteeman hakemistoon.

WordPress-teeman opetusohjelma aloittelijoille – Osa 8: Käännös

7 Napsauta seuraavaa "Lähteet avainsanat" -välilehteä. Tässä sinun on kerrottava PoEditille, mitä toimintoja olet käyttänyt käännettävälle tekstille (esimerkiksi __, _e, esc_html_eja niin edelleen). Napsauta +-painiketta lisätäksesi kunkin funktion ja kirjoita ne ilman "()". On sinun päätettävissäsi, haluatko kattaa kaikki perustasi ja lisätä kaikki WordPressin gettext-toiminnot, mutta tässä opetusohjelmassa tiedämme, että olemme käyttäneet vain kahta. Joten lisäämme kaksi elementtiä; __()ja _e(). Lisää funktiot ilman sulkuja.

WordPress-teeman opetusohjelma aloittelijoille – Osa 8: Käännös

8 Paina OK.

9 Jäljelle jää vain käskeä PoEditiä etsimään annetut polut funktioille käyttämällä __()ja _e()(tai mitä tahansa antamaasi). Voit tehdä tämän painamalla "Päivitä koodista" -painiketta. (Windows-versiossa on teksti painikkeessa, mutta iOS-versiossa ei – joten iOS-versiossa sinun on painettava painiketta, joka on yleensä työkalupalkin viimeinen; tiedostokuvake, jonka päällä on "uudelleen"-kuvake. Napsauta "Päivitä koodista" -painiketta ja sinun pitäisi nähdä kaikki tekstit lueteltuna käännösliittymän kanssa:

WordPress-teeman opetusohjelma aloittelijoille – Osa 8: Käännös

Kiva!

Luodut käännöstiedostot

Nyt voit käyttää PoEditiä kääntääksesi jokaisen merkkijonon, mutta emme tee sitä täällä, koska englannin kielen kääntäminen englanniksi on turhaa. Muista painaa Tallenna, jotta voit päivittää ja luoda .motiedoston, ja joka kerta kun lisäät uuden tekstin teemaasi, sinun on painettava "Päivitä koodista" -painiketta uudelleen. Tämän jälkeen mallien uudet muutokset tulevat näkyviin.

Jos tarkistat /langteemahakemistokansion alikansion, sinun pitäisi nähdä kaksi tiedostoa; juuri .potekemämme .motiedosto ja samanniminen tiedosto, jonka olemme luoneet tallentamalla PoEditiin.

Voit tehdä kopion en_US.potiedostosta ja nimetä sen uudelleen toiseksi kielikoodiksi. Muista kuitenkin, että PoEdit ei tarjoa yksinkertaista tapaa tyhjentää kaikki käännetyt merkkijonot; sinun pitäisi tyhjentää yksitellen. Tästä syystä tämä on perseestä käyttäjille, jotka haluavat kääntää teemasi toiselle kielelle. Joten jos sinulla on mahdollisuus tehdä .pottiedosto, sinun tulee tehdä se.

WordPress etsii käännöstiedostoa järjestelmänvalvojan valikossa Asetukset > Sivuston kieli määritetyn kielen mukaan. Jos lisäsit muun kielen kuin englannin, voit testata sitä vaihtamalla sivuston kieltä ja katsoa, ​​ilmestyykö käännös!

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja