Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

🚀 .Po-tiedostojen massakäännös Lokalisessa selainkonsolin kautta

🚀 .Po-tiedostojen massakäännös Lokalisessa selainkonsolin kautta

Kun WordPress-teema tai -lisäosa toimitetaan ilman suomenkielistä käännöstä ja .po-tiedosto sisältää tuhat tai enemmän merkkijonoa, jokaisen kääntäminen käsin Poeditilla muuttuu monen päivän urakaksi. Monelle asiakkaalle konekäännös on täysin hyväksyttävä: Google Translate tuottaa kelvollisia tuloksia käyttöliittymämerkkijonoille, ja vain pari-kolmekymmentä kohtaa vaatii manuaalista viimeistelyä.

Ongelmana on, että Lokalise, tehokas käännöshallinta-alusta, ei tarjoa valmista "käännä kaikki kerralla" -painiketta. Google Translate -automaattikäännöspainiketta on klikattava erikseen jokaisen yksittäisen merkkijonon kohdalla. Juuri tämän rajoituksen kierrämme: pieni selaimen konsolissa ajettava skripti simuloi painikkeen klikkaamista koko merkkijonolistalle. Menetelmä on testattu projekteilla, jotka vaihtelevat 200:sta yli 3000 merkkijonoon.

💡 Pikakatsaus:

  • Valmistele PO-tiedosto POT-pohjasta Poeditissa käyttäen englanninkielisiä paikkamerkkikäännöksiä.
  • Luo projekti Lokalisessa, lataa lähdetiedosto ja lisää kohdekieli.
  • Kopioi avaimet kohdekieleen ja aja skripti selaimen konsolissa.
  • Huomioi AJAX-laiskalataus: aja skripti niin monta kertaa kuin Lokalise lataa uusia merkkijonoeriä.

Mikä Lokalise on ja miksi käyttää sitä.po-tiedostojen kääntämiseen

Lokalise on käännöshallintajärjestelmä (TMS), joka tukee .po/.pot-tiedostoja suoraan. Alusta integroituu Google Translateen, DeepLiin ja omaan tekoälymoottoriinsa, joten saat konekäännöksen mille tahansa merkkijonolle yhdellä klikkauksella. Mutta yksi klikkaus per projekti ei riitä: automaattikäännöspainiketta on painettava jokaisen merkkijonon kohdalla erikseen.

Pienille, 50-100 merkkijonon tiedostoille tämä on vielä siedettävää. Mutta oikea .pot-tiedosto lisäosasta tai teemasta sisältää harvoin alle 500 merkkijonoa, ja suuret tuotteet (WooCommerce, teemat sivurakentajilla) ylittävät helposti 2000. Tämän artikkelin jQuery-skripti on kirjoitettu juuri näitä tapauksia varten: se "klikkaa" käännöspainiketta jokaiselle näytöllä näkyvälle merkkijonolle.

Vaihe 1: luo.po-tiedosto.pot-tiedostosta Poeditissa

Ennen kuin työskentelet Lokalisessa, tarvitset englanninkielisen .po-tiedoston, joka on luotu .pot-pohjasta. Lataa ja asenna Poedit, ilmainen käännöseditori Windowsille, macOS:lle ja Linuxille.

Avaa teeman tai lisäosan .pot-tiedosto Poeditissa ja klikkaa "Luo uusi käännös" -painiketta:

Luo uusi käännös -painike Poedit-sovelluksessa

Valitse avautuvassa valintaikkunassa englanti; siitä tulee Lokalisessa lähdekieli:

Englannin valitseminen käännöskieleksi Poedit-valintaikkunassa

Klikkaa "Tallenna nimellä" ja tallenna tiedosto .po-päätteellä. Merkkijonojen varsinaisella sisällöllä ei ole tässä vaiheessa väliä; emme käännä mitään Poeditissa, ja kaikki merkkijonot jäävät englanniksi paikkamerkeiksi.

PO-tiedoston tallentaminen Tallenna nimellä -painikkeella Poeditissa

Sinulla on nyt .po-tiedosto, jossa on alkuperäiset englanninkieliset merkkijonot. Siirrytään itse Lokaliseen.

Vaihe 2: luo käännösprojekti Lokalisessa

Rekisteröidy osoitteessa lokalise.com; ilmainen kokeilujakso riittää kertaluontoiseen käännökseen. Kirjautumisen jälkeen klikkaa "Projektin lisääminen" näytön keskellä:

Lisää projekti -painike Lokalisen aloitusnäytöllä

Täytä kentät: projektin nimi (mikä tahansa, esimerkiksi "Teema X käännös") ja valitse peruskieleksi englanti. Lokalise käyttää sitä lähteenä automaattikäännöksille muihin kieliin. Klikkaa "Luo".

Uuden projektin lomake Lokalisessa peruskielen valinnalla

Vaihe 3: lataa valmisteltu.po-tiedosto

Vastaluodussa projektissa klikkaa vihreää ylöspäin osoittavaa nuolipainiketta ladataksesi tiedoston:

Vihreä tiedostonlatauspainike Lokalise-projektissa

Latausvalintaikkuna avautuu. Vedä ja pudota .po-tiedosto siihen tai klikkaa aluetta valitaksesi tiedoston resurssienhallinnasta:

PO-tiedoston latausikkuna raahaa ja pudota -tuella Lokalisen käyttöliittymässä

Tärkeää: aseta tiedoston kieleksi englanti. Jos tiedoston kieli ei vastaa projektin peruskieltä, Google Kääntäjän automaattinen käännöspainike ei tule näkyviin, koska alusta ei pysty määrittämään lähdekieltä.

Klikkaa "Tuo tiedostot":

Tuo tiedostot -painike englannin kielen ollessa valittuna ennen tuontia

Kun tuonti on valmis, klikkaa "Siirry projektiin" päästäksesi työtilaan, jossa on merkkijonolista.

Vaihe 4: lisää käännöksen kohdekieli

Klikkaa kielipaneelin plus-kuvaketta lisätäksesi kielen, jolle haluat kääntää:

Painike uuden käännöskielen lisäämiseksi Lokalise-projektissa

Valitse kieli pudotusvalikosta. Venäjälle valitse venäjä:

Venäjän valitseminen pudotusvalikosta Lokalisessa

Vaihe 5: kopioi avaimet kohdekieleen

Tällä hetkellä sinulla on sarake englanninkielisiä merkkijonoja, mutta venäjänkielinen sarake on tyhjä. Sinun täytyy kopioida avaimet (alkuperäiset merkkijonot) sinne; automaattinen käännös kohdistetaan niihin.

Valitse kaikki merkkijonot (Ctrl+A), klikkaa ilmestyvää toimintopainiketta ja valitse "Kopioi avaimet käännöksiin…". Valitse valintaikkunassa venäjä ja klikkaa "Kopioi":

Valintaikkuna käännösavainten kopioimiseksi venäjäksi venäjän ollessa valittuna

Venäjänkielinen sarake sisältää nyt englanninkielisiä paikkamerkkijonoja, joihin voidaan kohdistaa automaattinen käännös.

Vaihe 6: massakäännä automaattisesti selaimen konsolin kautta

Avaa kehittäjäkonsoli: Ctrl+Shift+I (Windows/Linux) tai Cmd+Option+I (macOS). Alla on painike, jonka klikkaamista skriptimme simuloi. Nykyisessä Lokalisen käyttöliittymässä se näyttää Google-kuvakkeelta:

Päivitetty Googlen konekäännöspainike Lokalisen käyttöliittymässä

Tässä on skripti, joka "klikkaa" tätä painiketta kaikille näkyville merkkijonoille:

1/* Bulk Google Translate auto-translation in Lokalise */
2jQuery(document).ready(function ($) {
3 $('span.key-function-button.machine-all.fontello-google-circle').trigger('click');
4});

Kopioi koodi, liitä se konsoliin ja paina Enter. Merkkijonot alkavat kääntyä yksi kerrallaan.

Tärkeä huomio: Lokalise käyttää AJAX-laiskalatausta ja näyttää merkkijonot erissä. Kun skripti on käsitellyt näkyvät merkkijonot, vieritä sivua alaspäin ladataksesi uusia, vielä kääntämättömiä merkkijonoja. Liitä skripti uudelleen konsoliin ja paina Enter. Toista, kunnes kaikki merkkijonot on käännetty.

Vanhalle käyttöliittymäversiolle (jos automaattisen käännöksen painike näyttää erilaiselta) käytä tätä muunnelmaa:

Googlen automaattikäännöspainikkeen vanha versio Lokalisen käyttöliittymässä
1/* Simulated click on the Google translate button (old interface) */
2jQuery(document).ready(function ($) {
3 $('a.key-function-button.machine-all').trigger('click');
4});

Kun kaikki merkkijonot on käännetty, muista selata projekti loppuun asti ja tarkistaa silmämääräisesti, että jokainen käännössarakkeen merkkijono on täytetty. Puuttuvat merkkijonot joko eivät latautuneet (vieritä uudelleen) tai automaattinen käännös epäonnistui niiden kohdalla (klikkaa painiketta manuaalisesti).

Massakäännöksen tulos Lokalise-projektissa selainkonsolin kautta

Valmis käännöksen voi ladata projektin käyttöliittymän Lataa-painikkeella. Saat .po-tiedoston, joka on valmis ladattavaksi WordPressiin.

Alla on lyhyt video, joka näyttää koko työnkulun .po-tiedostojen kanssa Lokalisessa, tuonnista vientiin:

⁉️🤔 Usein kysytyt kysymykset

Skripti ei käännä merkkijonoja. Mistä on kyse?

Varmista ensin, että tuonnin aikana lähdetiedoston kieli vastaa projektin peruskieltä. Jos projektin kieleksi on asetettu englanti, mutta tiedosto ladattiin venäjänkielisenä, Google Kääntäjä -painiketta ei tule näkyviin. Toiseksi, avaa konsoli (F12) ja tarkista virheet. Jos jQuery on määrittelemätön, Lokalise on muuttanut rakennettaan ja skriptin valitsimet on päivitettävä. Kolmanneksi, varmista, että kopioit avaimet kohdekieleen (vaihe 5); muuten ei ole mitään käännettävää.

Voinko kääntää DeepL:llä Google Kääntäjän sijaan?

Kyllä, jos DeepL on käytössä projektissasi. Periaate on sama: automaattisen käännöksen painike vaihtuu, mutta voit mukauttaa skriptin eri CSS-valitsimelle. Etsi DeepL-painikkeen elementti inspectorilla (Ctrl+Shift+C), kopioi sen luokka tai attribuutti ja korvaa se valitsimeen $('button-selector').trigger('click').

Kuinka monta merkkijonoa käännetään yhdellä skriptin ajokerralla?

Täsmälleen niin monta kuin näytöllä on kulloinkin näkyvissä. Lokalise lataa merkkijonoja erissä (tyypillisesti 50-100), joten jokaisen vierityksen jälkeen skripti on ajettava uudelleen. Projektissa, jossa on 2000 merkkijonoa, voit odottaa 5-7 ajokertaa.

Onko turvallista liittää koodia konsoliin jonkun toisen sivustolla?

Skripti tekee täsmälleen yhden asian: klikkaa ohjelmallisesti painiketta, jota muuten klikkaisit käsin. Mitään tietoja ei lähetetä minnekään; koodi suoritetaan vain selaimessasi ja vain avoimella Lokalise-sivulla. Silti hyvä nyrkkisääntö on lukea koodi aina ennen sen liittämistä konsoliin, varsinkin jos se ei ole peräisin virallisesta dokumentaatiosta.

Entä jos jotkin merkkijonot jäävät englanniksi käännöksen jälkeen?

Todennäköisesti et vierittänyt sivua aivan alas asti ja yksi AJAX-latauksista jäi huomaamatta. Vieritä projekti aivan pohjaan, odota, että kaikki merkkijonoerät latautuvat kokonaan, ja aja skripti uudelleen. Jos yksittäisiä merkkijonoja ei vieläkään ole käännetty, klikkaa niiden automaattisen käännöksen painiketta käsin (näin voi käydä, jos Google Kääntäjän rajapinta palautti virheen tietylle fraasille).

Kun konsolikääntäminen päihittää sisäänrakennetun automaation

Konsolimenetelmä ei korvaa täysimittaista TMS-työnkulkua. Jos teet lokalisointia ammattimaisesti, Lokalise tarjoaa sisäänrakennetun massaesikääntämisen, integraatiot CAT-työkaluihin ja kontekstitietoisen tekoälykääntämisen. Mutta tyypilliseen tehtävään, kuten yhden WordPress-teeman kääntämiseen ja eteenpäin siirtymiseen, konsolilähestymistapa tuottaa tulokset 5-10 minuutissa ilman syvällistä perehtymistä alustan dokumentaatioon.

Koko prosessi Poeditin asentamisesta valmiiseen .po-tiedostoon mahtuu kolmeen vaiheeseen: valmistele tiedosto, lataa se Lokaliseen, aja skripti. Jos merkkijonoja on yli 500, ajansäästö verrattuna jokaisen merkkijonon manuaaliseen klikkailuun on kymmeniä minuutteja. Yli 2000 merkkijonon kohdalla ero on siinä, onko homma "hoidettu kahvitauolla" vai "veikö puoli päivää".