Teksti puheeksi WPML-sivustoilla: Mikä oikeasti toimii

9 min luku 19 min kuuntelu
Teksti puheeksi WPML-sivustoilla: Mikä oikeasti toimii

Jos sinulla on WPML-sivusto ja haluat jokaiselle käännökselle oman kerronnan oikealla äänellä, valitsemasi lisäosan on tehtävä kolme asiaa oikein: luettava käännetty julkaisu, luotava erillinen äänitiedosto per kieli ja tunnistettava nykyinen kieli AJAX-kutsujen sisällä. Useimmat TTS-lisäosat epäonnistuvat jossakin näistä. Teksti puheeksi - TTSWP on rakennettu selviämään kaikista kolmesta.

Tämä julkaisu on käytännön vastine Weglot-oppaaseemme. Tekninen näkökulma on päinvastainen, joten aloitetaan selittämällä miksi.

WPML tallentaa käännökset oikeina julkaisuina. Weglot ei.

WPML ja Weglot ratkaisevat monikielisen WordPressin hyvin eri tavoin, ja tuo ero määrää sen, mitä TTS-lisäosan täytyy tehdä.

WPML luo jokaisesta käännöksestä erillisen julkaisutietueen. Artikkelin englanninkielinen versio sijaitsee taulussa wp_posts yhdellä ID:llä. Espanjankielinen versio on samassa taulussa eri ID:llä. WPML yhdistää ne icl_translations-taulun kautta. Käännetty teksti on oikeaa tekstiä tietokannassa, jonka ihminen tai WPML:n konekäännösputki on muokannut.

Weglot toimii päinvastoin. Tietokanta sisältää vain alkuperäisen. Käännökset tuotetaan ajon aikana ja lisätään HTML-lähtöön ennen kuin sivu saapuu selaimeen. Lisäosa, joka lukee get_post():sta Weglot-sivustolla, näkee aina vain lähdekielen.

TTS-toiminnon kannalta tämä muuttaa kaiken. WPML:ssä julkaisun sisällön lukeminen tietokannasta on oikea tapa. Käännetty teksti on jo siellä. Ongelmat liittyvät siihen, minkä julkaisun lisäosa lukee, minkä kielen se uskoo olevan käytössä ja tallentaako se yhden vai useamman äänitiedoston.

Kaavio, joka vertaa WPML:n erillisten julkaisujen tallennusmallia Weglotin ajonaikaiseen käännökseen ja kummankin mallin vaikutuksia TTS-äänitiedostoihin
WPML pitää jokaisen käännöksen omana julkaisunaan tietokannassa. Weglot kääntää ajon aikana. Nämä kaksi mallia edellyttävät erilaisia TTS-strategioita.

Neljä yleistä virhettä WPML TTS -lisäosissa

Testasimme useita kokoonpanoja monikielisellä WPML-testisivustolla. Samat neljä ongelmaa toistuivat. Jos nykyisessä lisäosassasi on jokin näistä, kävijöidesi kuulema ääni ei vastaa sitä, mitä luulit julkaisseesi.

1. Väärän kielen ääni AJAX-kielenilmaisuvirheen takia

Tämä on hiljainen tappaja. Useimmat TTS-soittimet hakevat äänitiedoston tai stream-URL:n admin-ajax- tai REST-pyynnöllä sivun latautumisen jälkeen. Tuon pyynnön sisällä WordPress on menettänyt etupään URL-kontekstin. Lisäosa kysyy WPML:ltä "millä kielellä ollaan?" ja saa väärän vastauksen.

Yleisin syy on vanha ICL_LANGUAGE_CODE-vakio. Se määritetään kerran pyynnön alussa ja heijastaa kieltä, jonka WPML tunnisti käynnistyksen yhteydessä. Espanjankieliseltä sivulta käynnistetyn AJAX-kutsun aikana tuo vakio palauttaa usein oletuskielen eikä espanjaa. TTS-lisäosa luo sitten englanninkielisen äänen espanjankieliselle artikkelille tai hakee välimuistista englanninkielisen tiedoston ja toistaa sen espanjalaisen soittimen alla.

Oikea tapa on käyttää WPML:n ajonaikaisia suodattimia. wpml_current_language-suodatin palauttaa aktiivisen kielen sillä hetkellä kun sitä kysytään. wpml_post_language_details-hook palauttaa kielen, johon tietty julkaisu kuuluu, mikä on vielä turvallisempaa, koska se sitoo äänen julkaisun ID:hen eikä pyynnön tilaan.

Näin tunnistat ongelman lukijana: avaa käännetty artikkeli, paina toistoa ja kuuntele äänen ensimmäinen sekunti. Jos kuulet englanninkielisen äänen muunkielisellä sivulla, lisäosasi käyttää väärää kielenilmaisureittiä.

2. Yksi äänitiedosto jaettu kaikkien käännösten kesken

Jotkin lisäosat luovat äänen alkuperäisen julkaisun julkaisemisen yhteydessä ja liittävät saman tiedoston jokaiseen käännökseen. Se on nopeaa ja halpaa. Se on myös väärin. Espanjankielinen lukija kuulee englanninkielisen kerronnan tai keinotekoisen aksentin, joka ei vastaa lukemaansa sivua.

Koska WPML-käännökset ovat erillisiä julkaisuja omilla ID:illään, oikea toimintatapa on luoda uusi äänitiedosto jokaista käännettyä julkaisua varten. Jokainen tiedosto tallennetaan omaan julkaisun ID:hen sidottuna ja tarjoillaan vain kyseiselle käännökselle. TTSWP noudattaa tätä mallia ja käyttää julkaisun ID:tä, ei alkuperäistä ID:tä, välimuistiavaimena.

3. Sama ääni lukee kaikkia kieliä

Englanninkielisellä äänellä luettu ranskankielinen artikkeli kuulostaa väärältä, vaikka sanat olisivatkin oikein. ElevenLabs-äänissä on aksentti ja prosodia koulutusaineistostaan. Amerikanenglantia varten koulutettu ääni lukee ranskaa amerikanaksentilla, ellei sille ole valittu kohdekieltä vastaavaa ääntä.

TTSWP:n avulla voit yhdistää yhden ElevenLabs-äänen kuhunkin WPML-kieleen. Espanjankielinen käännös saa espanjaa varten koulutetun äänen, saksankielinen käännös saksalaisen äänen ja niin edelleen. Katso tarkemmat ohjeet kieli–ääni-yhdistämisdokumentaatiosta.

4. Schema, joka ei ilmoita äänen kieltä

Tämä on AEO-yksityiskohta, jonka useimmat lisäosat sivuuttavat. AudioObject-rakenteisessa datassa pitäisi olla inLanguage-ominaisuus. Sen arvon pitäisi olla IETF BCP 47 -tunniste (es, de, nb-NO), joka vastaa sivun hreflang-arvoa.

Vastaava inLanguage-arvo antaa hakukoneille ja AI-työkaluille selkeän, koneluettavan signaalin siitä, millä kielellä ääni on. Se vahvistaa sivulla jo olevaa hreflang-signaalia. Kun schema puuttuu tai kaikki käännökset jakavat saman englanninkielisen arvon, tuo signaali katoaa eikä kielitietoinen järjestelmä pysty erottamaan versioita toisistaan. Käsittelemme AI-moottoreiden suhdetta äänimateriaaliin AEO ja ääni -oppaassamme.

Oikean ElevenLabs-mallin valitseminen WPML-kattavuutta varten

ElevenLabs tarjoaa useita malleja, eivätkä ne kaikki tue samoja kieliä. Jos WPML tarjoilee kieltä, jota valitsemasi ElevenLabs-malli ei tue, et pysty kertoamaan kyseistä käännöstä siististi.

Nykyinen kattavuus vuodesta 2026 alkaen:

  • Multilingual v2 tukee 29 kieltä, muun muassa englantia, espanjaa, ranskaa, saksaa, italiaa, portugalia, hollantia, puolaa, ruotsia, tanskaa, suomea, turkkia, arabiaa, hindiä, japania, koreaa ja kiinaa.
  • Flash v2.5 tukee 32 kieltä, kaikki v2:n kielet sekä lisäksi unkari, norja ja vietnam, noin 75 ms:n malliviiveellä.
  • Eleven v3 tukee 74 kieltä ja on kattavin kaikista malleista. Sillä on yksi rajoitus, joka ylittää sen lisäominaisuudet: se ei ole suunniteltu reaaliaikaiseen käyttöön. ElevenLabs toteaa tämän suoraan. Malli on suurempi ja käyttää laadukkaampaa äänikoodekia, joten generointi vie enemmän aikaa. Reaaliaikaisiin tai keskustelukäyttötapauksiin ElevenLabs suosittelee Flash v2.5:tä.

WPML-sivustolle, jolla on norjankielinen käännös, Multilingual v2 ei riitä. Flash v2.5 riittää. Sivustolle, joka tarvitsee kieltä, jota vain v3 tukee, hyväksytään korkeampi generointiviive kattavuuden vastineeksi. TTSWP reitittää jokaisen kielen valitsemallesi äänelle, joten voit yhdistellä malleja tarpeen mukaan.

Näin testaat, käsitteleekö TTS-lisäosasi oikeasti WPML:n

Koodin lukeminen ei ole tarpeen. Viisi minuuttia selaimessa kertoo, mitä tapahtuu.

  1. Vaihda kieltä. Avaa alkuperäinen artikkeli ja vaihda sitten käännökseen WPML-kielenvaihtajan avulla. Varmista, että URL muuttuu (esimerkiksi /fi/:ksi) ja julkaisun slug on käännetty slug.
  2. Paina toistoa ja kuuntele. Äänen pitäisi vastata sivun kieltä. Englanninkielinen ääni espanjankielisellä sivulla tarkoittaa, että lisäosa epäonnistui ensimmäisessä kohdassa.
  3. Tutki ääni-URL:ia. Napsauta soitinta hiiren kakkospainikkeella ja kopioi äänilähde. Vertaa sitä alkuperäisen artikkelin ääni-URL:iin. Jos molemmat URL:t ovat identtiset eri kielillä, lisäosa jakaa yhden tiedoston.
  4. Tarkastele sivun lähdekoodia ja etsi AudioObject. Etsi inLanguage-kenttä. Sen pitäisi vastata sivun kielikoodia. Jos kenttä puuttuu tai on aina en, schema on väärässä.
  5. Tarkista hreflang. Äänen inLanguage-arvon pitäisi vastata sivun hreflang-arvoa. Ristiriitaisuudet hämmentävät AI-hakua ja rikkovat kielikohtaisen viittauksen.

Tee tämä tarkistuslista ennen kuin ostat mitään. Se toimii minkä tahansa TTS-lisäosan kanssa, ei vain TTSWP:n.

Miltä oikea WPML TTS -kokoonpano näyttää

Tässä ovat suosituksemme tuotanto-WPML-sivustolle. Jokainen kohta vastaa yllä olevaa virhemoodia.

OngelmaVäärä tapaOikea tapa
Kieli AJAX:issaICL_LANGUAGE_CODE-vakiowpml_current_language-suodatin tai wpml_post_language_details sidottuna julkaisun ID:hen
Äänen tallennusYksi tiedosto jaettu kaikkien käännösten keskenYksi tiedosto per käännetty julkaisun ID, tarjoiltu CDN:stä
Äänen valintaSama ääni kaikille kielilleYksi ElevenLabs-ääni yhdistettynä kuhunkin WPML-kieleen
Mallin valintaKiinteästi koodattu malli kaikille kielilleKielikohtainen valinta Multilingual v2:n, Flash v2.5:n tai Eleven v3:n välillä
SchemaPuuttuva tai vain englanninkielinen AudioObjectAudioObject, jonka inLanguage vastaa sivun hreflang-arvoa

TTSWP noudattaa oikeanpuoleista saraketta oletusarvoisesti. Lisäosa lukee käännetyn julkaisun suoraan, luo uuden äänitiedoston per julkaisun ID, toimittaa sen CloudFrontin kautta ja tuottaa kielikohtaisen AudioObject-scheman. WPML-integraatiodokumentaatio opastaa koko asennuksen läpi.

Yksi rehellinen rajoitus

Kielikohtainen ääni maksaa enemmän merkkejä kuin yksi jaettu tiedosto. Jos julkaiset 1 500 sanan artikkelin ja käännät sen viidelle kielelle, maksat viidestä generoinnista yhden sijaan. Se on oikeellisuuden hinta. Yhden tiedoston jakaminen olisi halvempaa, mutta ääni ei vastaisi sivua. Emme suosittele lukijakokemuksen uhraamisesta krediittisäästöjen vuoksi, ja sanomme niin myös krediittidokumentaatiossa.

Jos budjetti on tiukka, luo ääni vain niille kielille, jotka saavat oikeaa liikennettä. WPML:n kielitilastot ja analytiikkasi kertovat, mitkä käännökset kannattaa kerrota.

Usein kysytyt kysymykset

Tukeeko TTSWP WPML:ää suoraan asennuksen jälkeen?

Kyllä. Kun molemmat lisäosat ovat aktiivisina, TTSWP tunnistaa WPML:n, lukee käännetyn julkaisun sisällön kullekin kielelle ja tallentaa erillisen äänitiedoston per käännös. Määritä yksi ääni per kieli TTSWP:n asetuksissa ja julkaise käännökset normaalisti. Ääni generoidaan uudelleen käännöksen päivittyessä. Katso asennusohjeet WPML-integraatiosivulta.

Miksi nykyinen TTS-lisäosani lukee kaiken englanniksi käännetyillä sivuilla?

Todennäköisin syy on vanhentunut ICL_LANGUAGE_CODE-vakio AJAX-kutsun sisällä. AJAX:in aikana tuo vakio palauttaa usein sivuston oletuskielen aktiivisen kielen sijaan, joten lisäosa luo tai tarjoilee englanninkielistä ääntä muunkielisillä sivuilla. Ratkaisu on siirtyä wpml_current_language-suodattimeen tai lukea kieli suoraan julkaisun ID:stä.

Voinko käyttää eri ElevenLabs-ääniä per WPML-kieli?

Kyllä. TTSWP yhdistää yhden ElevenLabs-äänen kuhunkin WPML-kieleen. Espanjankieliset käännökset lukee espanjalainen ääni, saksankieliset saksalainen ääni ja niin edelleen. Voit myös valita eri mallit eri kielille, mikä on tärkeää silloin kun kohdekieli on vain Flash v2.5:n tai Eleven v3:n tukema eikä Multilingual v2:n.

Mitä kieliä ElevenLabs tukee WPML-sivustoille?

Multilingual v2 kattaa 29 kieltä, Flash v2.5 kattaa 32 kieltä (lisää norjan, unkarin ja vietnamin) ja Eleven v3 kattaa 74 kieltä. Valitse malli, jolla on laajin kattavuus viivebudjettisi puitteissa. Useimmat WPML-sivustot saavat hyviä tuloksia Multilingual v2:lla tai Flash v2.5:llä. Harvinaisempia kieliä tarvitsevat sivustot siirtävät kyseiset käännökset Eleven v3:een.

Tuottaako TTSWP kielikohtaisen scheman AI-hakua varten?

Kyllä. TTSWP tuottaa AudioObject-scheman jokaiselle käännetylle julkaisulle sisältäen inLanguage-arvon, joka vastaa sivun hreflang-arvoa. Tämä antaa hakukoneille ja AI-työkaluille selkeän signaalin siitä, mikä ääni kuuluu mille artikkelin kieliversiolle, sen sijaan että jokainen käännös olisi merkitty samalla tavalla.

Seuraava askel

Tee viisivaiheinen selaintesti sillä TTS-lisäosalla, joka sinulla on tällä hetkellä. Jos jokin vaihe epäonnistuu, se on virhemoodi, joka täytyy korjata ennen kuin lisäät uusia käännöksiä. Jos haluat kokoonpanon, joka selviää kaikista viidestä heti asennuksen jälkeen, asenna Teksti puheeksi - TTSWP WordPress.orgista, yhdistä se TTSWP:n taustajärjestelmään ja määritä yksi ääni per WPML-kieli. Lisäosa hoitaa loput.

Mitä on teksti puheeksi? Selkeä opas

Mitä on teksti puheeksi? Selkeä opas

Teksti puheeksi -teknologia muuttaa kirjoitetun sisällön puhutuiksi ääneksi. Lue, miten se toimii, miksi sillä on merkitystä ja miten lisäät sen WordPress-sivustollesi.

8 min luku Has audio