Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🚀 .Po-failide hulgitõlge Lokalise'is brauseri konsooli kaudu

🚀 .Po-failide hulgitõlge Lokalise'is brauseri konsooli kaudu

Kui WordPressi teema või plugin tarnitakse ilma venekeelse tõlketa ja .po fail sisaldab tuhat või enam stringi, muutub igaühe käsitsi tõlkimine Poeditis mitmepäevaseks tööks. Paljude klientide jaoks on masintõlge täiesti vastuvõetav: Google Translate annab liidesestringide puhul korralikke tulemusi ja vaid paarikümmet kohta on vaja käsitsi viimistleda.

Probleem on selles, et Lokalise, võimas tõlkehaldusplatvorm, ei paku tavaseadistuses nuppu „tõlgi kõik korraga". Google Translate'i automaattõlke nuppu tuleb vajutada iga üksiku stringi puhul eraldi. Just sellest piirangust me mööda hiilimegi: brauseri konsoolis käivitatav väike skript simuleerib selle nupu vajutamist kogu stringide nimekirja ulatuses. Meetodit on testitud projektidega, mis sisaldavad 200 kuni üle 3000 stringi.

💡 Kiirülevaade:

  • Valmista Poeditis POT-mallist ingliskeelsete kohatõlgete abil PO-fail.
  • Loo Lokalises projekt, laadi üles lähtefail ja lisa sihtkeel.
  • Kopeeri võtmed sihtkeelde ja käivita skript brauseri konsoolis.
  • Arvesta AJAX-laislaadimisega: käivita skripti nii mitu korda, kui Lokalise uusi stringipakette laadib.

Mis on Lokalise ja miks seda.po-failide tõlkimiseks kasutada

Lokalise on tõlkehaldussüsteem (TMS), mis toetab .po/.pot faile otse. Platvorm integreerub Google Translate'i, DeepLi ja omaenda AI-mootoriga, võimaldades ühe klõpsuga saada masintõlke mis tahes stringile. Konks on selles, et ühest klõpsust projekti kohta ei piisa: automaattõlke nuppu tuleb vajutada iga stringi puhul eraldi.

Väikeste, 50 kuni 100 stringiga failide puhul on see talutav. Kuid päris plugina või teema .pot sisaldab harva vähem kui 500 stringi ja suured tooted (WooCommerce, leheehitajatega teemad) ületavad kergesti 2000. Selles artiklis kirjeldatud jQuery skript on kirjutatud just sellisteks juhtudeks: see „klõpsab" tõlkenuppu iga ekraanil hetkel nähtava stringi jaoks.

1. Samm: loo Poeditis.pot-failist.po-fail

Enne Lokalisega töötamist vajad .pot mallist genereeritud ingliskeelset .po faili. Laadi alla ja paigalda Poedit, tasuta tõlkeredaktor Windowsile, macOS-ile ja Linuxile.

Ava teema või plugina .pot fail Poeditis ja klõpsa nuppu „Loo uus tõlge":

Uue tõlke loomise nupp Poediti rakenduses

Avanevas dialoogis vali inglise keel; sellest saab Lokalise lähtekeel:

Inglise keele valimine tõlkekeeleks Poediti dialoogis

Klõpsa „Salvesta nimega" ja salvesta fail .po laiendiga. Stringide tegelik sisu ei ole selles etapis oluline; me ei tõlgi Poeditis midagi ja kõik stringid jäävad kohatäidetena inglise keelde.

PO-faili salvestamine Salvesta kui nupu kaudu Poeditis

Nüüd on sul .po fail originaalsete ingliskeelsete stringidega. Liigume edasi Lokalise enda juurde.

2. Samm: loo Lokalises tõlkeprojekt

Registreeru aadressil lokalise.com; tasuta prooviperioodist piisab ühekordseks tõlkeks. Pärast sisselogimist klõpsa ekraani keskel „Projekti lisamine":

Projekti lisamise nupp Lokalise avakuval

Täida väljad: projekti nimi (mis iganes meeldib, näiteks „Teema X tõlge") ja vali baaskeeleks inglise keel. Lokalise kasutab seda lähtekeeleks teistesse keeltesse automaattõlkimisel. Klõpsa „Loo".

Uue projekti vorm Lokalises põhikoha keele valikuga

3. Samm: laadi üles ettevalmistatud.po-fail

Värskelt loodud projektis klõpsa faili üleslaadimiseks rohelist ülesnoolega nuppu:

Roheline faili üleslaadimise nupp Lokalise projektis

Avaneb üleslaadimise dialoog. Lohista .po fail sinna või klõpsa alale, et valida fail Windows Exploreri kaudu:

PO-faili üleslaadimise dialoog lohista ja lase toega Lokalise liideses

Kriitiline: määra faili keeleks English. Kui faili keel ei ühti projekti põhikeelega, ei ilmu Google Translate'i automaattõlke nupp, sest platvorm ei suuda lähtekeelt tuvastada.

Klõpsa „Import the files":

Impordi failid nupp inglise keelega valitud enne importimist

Kui import on lõppenud, klõpsa „Go to project", et siseneda stringide loendiga tööruumi.

4. Samm: lisa sihttõlke keel

Klõpsa keelepaneelil plussikooni, et lisada keel, millesse soovid tõlkida:

Nupp uue tõlkekeele lisamiseks Lokalise projektis

Vali rippmenüüst keel. Vene keele puhul vali Russian:

Vene keele valimine rippmenüüst Lokalises

5. Samm: kopeeri võtmed sihtkeelde

Praegu on sul inglisekeelsete stringide veerg, kuid vene keele veerg on tühi. Pead sinna kopeerima võtmed (originaalstringid); automaattõlget rakendatakse neile.

Vali kõik stringid (Ctrl+A), klõpsa ilmuval tegevusnupul ja vali „Copy keys to translations…". Dialoogis vali Russian ja klõpsa „Copy":

Dialoog tõlkevõtmete kopeerimiseks vene keelde vene keele valikuga

Vene keele veerg sisaldab nüüd ingliskeelseid asendusstringe, mis saavad automaattõlke.

6. Samm: hulgiautomaattõlge brauseri konsooli kaudu

Ava arendaja konsool: Ctrl+Shift+I (Windows/Linux) või Cmd+Option+I (macOS). Allpool on nupp, mille klõpsamist meie skript simuleerib. Praeguses Lokalise liideses näeb see välja nagu Google'i ikoon:

Uuendatud Google'i masintõlke nupp Lokalise liideses

Siin on skript, mis „klõpsab" seda nuppu kõigi nähtavate stringide jaoks:

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});

Kopeeri kood, kleebi see konsooli ja vajuta Enter. Stringe hakatakse ükshaaval tõlkima.

Oluline märkus: Lokalise kasutab AJAX-i laiska laadimist ja kuvab stringe partiidena. Pärast seda, kui skript on nähtavad stringid töödelnud, keri lehte allapoole, et laadida uued, veel tõlkimata stringid. Kleebi skript uuesti konsooli ja vajuta Enter. Korda, kuni kõik stringid on tõlgitud.

Vana liidese versiooni jaoks (kui automaattõlke nupp näeb teistsugune välja) kasuta seda varianti:

Google'i automaattõlke nupu vana versioon Lokalise liideses
1/* Simulated click on the Google translate button (old interface) */
2jQuery(document).ready(function ($) {
3 $('a.key-function-button.machine-all').trigger('click');
4});

Kui kõik stringid on tõlgitud, keri projekt kindlasti lõpuni ja kontrolli visuaalselt, et iga string tõlkeveerus on täidetud. Vahele jäänud stringid kas ei laadinud (keri uuesti) või automaattõlge ebaõnnestus nende puhul (klõpsa nuppu käsitsi).

Hulgitõlke tulemus Lokalise projektis brauseri konsooli kaudu

Valminud tõlke saab alla laadida projektiliideses oleva Laadi alla nupu kaudu. Saate .po faili, mis on valmis üleslaadimiseks WordPressi.

Allpool on lühike video, mis näitab täielikku töövoogu .po failidega Lokalise'is alates üleslaadimisest kuni ekspordini:

⁉️🤔 Korduma kippuvad küsimused

Skript ei tõlgi stringe. Milles viga?

Esiteks kontrolli, et lähtefaili keel impordi ajal ühtiks projekti põhikeelega. Kui projekt on seatud inglise keelele, aga fail laaditi üles vene keelena, siis Google'i tõlke nuppu ei ilmu. Teiseks ava konsool (F12) ja kontrolli vigu. Kui jQuery on määramata, on Lokalise oma struktuuri muutnud ja skriptis olevaid selektoreid tuleb uuendada. Kolmandaks veendu, et kopeerisid võtmed sihtkeelde (5. samm); vastasel juhul pole midagi tõlkida.

Kas ma saan tõlkida DeepL-iga Google'i tõlke asemel?

Jah, kui DeepL on sinu projektis lubatud. Põhimõte on sama: automaattõlke nupp muutub, kuid saad skripti kohandada teise CSS-selektori jaoks. Leia DeepL-i nupu element inspektori abil (Ctrl+Shift+C), kopeeri selle klass või atribuut ja asenda see selektoris $('button-selector').trigger('click').

Mitu stringi ühe skripti käivitamisega tõlgitakse?

Täpselt nii palju, kui parasjagu ekraanil kuvatakse. Lokalise laeb stringe partiidena (tavaliselt 50 kuni 100), seega pärast iga kerimist pead skripti uuesti käivitama. 2000 stringiga projekti puhul arvesta 5 kuni 7 käivitamisega.

Kas koodi kleepimine konsooli kellegi teise saidil on ohutu?

Skript teeb täpselt üht asja: klõpsab programselt nuppu, mida muidu käsitsi vajutaksid. Andmeid ei saadeta kuhugi; kood töötab ainult sinu brauseris ja ainult avatud Lokalise lehel. Siiski on hea rusikareegel alati kood läbi lugeda enne selle konsooli kleepimist, eriti kui see ei pärine ametlikust dokumentatsioonist.

Mis siis, kui mõned stringid jäävad pärast tõlkimist inglise keelde?

Tõenäoliselt ei kerinud sa lehte lõpuni ja jätsid mõne AJAX-laadimise vahele. Keri projekt päris lõppu, oota, kuni kõik stringipartiid on täielikult laaditud, ja käivita skript uuesti. Kui üksikud stringid pole ikka tõlgitud, klõpsa nende puhul automaattõlke nuppu käsitsi (see võib juhtuda, kui Google'i tõlke API tagastas konkreetse fraasi puhul vea).

Kui konsoolitõlge edestab sisseehitatud automatiseerimist

Konsoolimeetod ei asenda täisväärtuslikku TMS-i töövoogu. Kui tegeled lokaliseerimisega professionaalselt, pakub Lokalise sisseehitatud pakktöötlust (eeltõlge), integratsioone CAT-tööriistadega ja kontekstiteadlikku AI-tõlget. Kuid tüüpilise ülesande puhul, nagu ühe WordPressi teema tõlkimine ja edasi liikumine, annab konsoolilähenemine tulemuse 5 kuni 10 minutiga, ilma et peaksid platvormi dokumentatsiooni süvitsi uurima.

Kogu protsess alates Poediti paigaldamisest kuni lõpliku .po failini mahub kolme sammu sisse: valmista fail ette, laadi see Lokalise'i, käivita skript. Kui maht ületab 500 stringi, küündib ajavõit võrreldes iga stringi nupu käsitsi vajutamisega kümnetesse minutitesse. 2000+ stringi puhul on see vahe nagu „kohvi kõrvale valmis" ja „võttis pool päeva".