
🚀 .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":

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

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.

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":

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

3. Samm: laadi üles ettevalmistatud.po-fail
Värskelt loodud projektis klõpsa faili üleslaadimiseks rohelist ülesnoolega nuppu:

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

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":

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:

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

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":

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:

Siin on skript, mis „klõpsab" seda nuppu kõigi nähtavate stringide jaoks:
1 /* Bulk Google Translate auto-translation in Lokalise */ 2 jQuery(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:

1 /* Simulated click on the Google translate button (old interface) */ 2 jQuery(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).

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



