WP-CLI (SwiftLing Pro)

Dokumentacija / Za razvojne programere

SwiftLing Pro dodaje naredbu wp swiftling u WP-CLI, s istim funkcijama koje nudi njegov REST API (pogledajte REST API i AI agenti). Pokrenite je ondje gdje se izvršava WordPress: u skripti, tijekom implementacije ili putem SSH-a (wp --ssh=user@host/path swiftling …). wp help swiftling <command> opisuje svaku naredbu i opciju u vašoj instalaciji.

Naredbe koje čitaju ili mijenjaju prijevode izvršavaju se u ime korisnika: dodajte --user=admin. Mogu učiniti ono što taj korisnik smije učiniti u uređivaču prijevoda.

Naredbe

CommandWhat it does
wp swiftling statusThe original, the translation service and its characters this month, and how far each language has come across the pages and posts visitors open. --format=table|json|csv|yaml.
wp swiftling languagesThe languages, the original first. --format as above.
wp swiftling checkChecks pages on the server, so their texts are known.
wp swiftling translateTranslates with the translation service. See below.
wp swiftling to-translateWhat still needs translating in a language.
wp swiftling exportTexts with their originals, translations and states, as JSON, for a translator or another tool.
wp swiftling importThe translations of such a file, filled in, back into the site.
wp swiftling flush-cacheEmpties SwiftLing’s cache of maps and translations, and the pages of the cache plugins SwiftLing knows.
wp swiftling cleanRemoves what SwiftLing kept of posts no longer on the site.

Što prevodite: stavke

Stavka je ono što se otvara u uređivaču prijevoda:

SubjectExample
A post, page or productpost:12 (or just 12)
A template of a block themetemplate:twentytwentyfive//archive
A kind of page of a classic themeview:search
The terms of a listterms:category
A classic menumenu:3
A builder’s subject, such as an options page of Advanced Custom Fieldsas wp swiftling to-translate lists it

Nekoliko naredbi prihvaća stavke na dva načina: navedite ih (post:12 post:13) ili upotrijebite --all za sve stavke određene vrste.

OptionMeaning
--allEvery subject of a kind instead of the ones you name.
--kind=<kind>With --all: post (the default), template, terms, menu or all.
--type=<type>With --all and posts: only one post type, as page.

wp swiftling check prihvaća <subject>…, --all, --kind i --type.

Stanja

Svaki tekst na stranici ima jedno od sljedećih stanja:

StateMeaning
missingNot translated yet: visitors read the original.
machineA service translated it, nobody has read it yet.
reviewedSomeone checked it (or wrote it).
outdatedThe original changed since it was translated. The old translation stays, marked outdated, until someone reviews it.
officialThe translation of WordPress, the theme or a plugin. SwiftLing never sends these to a service.
partialOf a page: some texts are translated, some not.
duplicateOf a page: the language keeps the original on purpose (“Keep the original” in the editor).

Prevođenje

wp swiftling translate [<subject>…] --lang=<slug> [--all] [--kind=<kind>] [--type=<type>] [--again=<states>] [--recheck] [--yes] --user=admin
  • --lang je oznaka jezika, više njih odvojenih zarezima (de,fr,hr) ili all za sve jezike.
  • Koristi se usluga odabrana u Postavke › Usluga prevođenja, s pripadajućim ključem, a potrošnja se obračunava na vašem računu kod te usluge. Istodobno prevodi samo jedna usluga.
  • Svaka se stranica najprije provjerava na poslužitelju. Prijevodi koje je usluga izradila prije nego što se zaustavila (zbog odbijenog ključa ili potrošene kvote) ostaju sačuvani.
  • Uz --all prije početka se traži potvrda jer se troše znakovi. Dodajte --yes da preskočite pitanje, primjerice u skripti.

Popunjavanje tekstova bez prijevoda (zadano)

wp swiftling translate post:12 --lang=de --user=admin
wp swiftling translate --all --type=page --lang=de,fr --yes --user=admin
wp swiftling translate --all --lang=all --yes --user=admin

Šalju se samo tekstovi bez prijevoda. Tekst koji je netko napisao ili pregledao nikad se ne dira, a strojni prijevod ostaje kakav jest.

--all obuhvaća stranice na kojima još ima tekstova za prevesti prema posljednjoj provjeri: neprevedene, djelomično prevedene ili zastarjele. Stranica promijenjena nakon posljednje provjere može sadržavati nove tekstove za koje provjera još ne zna. Dodajte --recheck da ponovno provjerite svaku stranicu:

wp swiftling translate --all --lang=all --recheck --yes --user=admin

Tekstu čiji se izvornik promijenio zadržava se prethodni prijevod, označen kao outdated, kako bi ga netko pregledao u uređivaču. Zadano pokretanje ne zamjenjuje ga.

Ponovno prevođenje: --again

--again=<states> ponovno prevodi tekstove u navedenim stanjima umjesto popunjavanja tekstova bez prijevoda. <states> je machine, reviewed ili oboje odvojeno zarezom.

You writeWhat it translates again
--again=machineTexts a service translated before and nobody has reviewed. The new translation replaces the old one and is saved as machine. Reviewed texts stay.
--again=reviewedTexts someone checked or wrote by hand. They are replaced with a machine translation, so this overwrites manual work. Use it only when you mean it.
--again=machine,reviewedBoth: every text that has a translation of its own, except the official ones. This is “translate everything from scratch” for what is already translated.

Što trebate znati o opciji --again:

  • Ne popunjava tekstove bez prijevoda. Da biste preveli i ono što nikad nije bilo prevedeno, pokrenite naredbu i jednom bez --again (prije ili poslije).
  • Kopija starih prijevoda ne čuva se. Ako biste ih mogli poželjeti vratiti, najprije pokrenite wp swiftling export.
  • Tekstovi sa stanjem official (prijevodi WordPressa, tema i dodataka) i outdated nikad se ne šalju. Zastarjeli tekst treba pregledati.
  • Uz --all, opcija --again obuhvaća sve stavke osim onih koje zadržavaju izvornik. --recheck nije potreban.
  • Tekstovi koji sadrže samo adrese, kôd ili nemaju riječi nikad se ne šalju, bez obzira na to što zatražite.
  • Sve se i dalje šalje usluzi koju ste odabrali, pa se potrošnja obračunava na vašem računu. Broj znakova za ovaj mjesec provjerite naredbom wp swiftling status.
# translate the machine translations of one page into German again
wp swiftling translate post:12 --lang=de --again=machine --user=admin

# a whole site, every language: fill what is empty, then redo the machine translations
wp swiftling translate --all --lang=all --yes --user=admin
wp swiftling translate --all --lang=all --again=machine --yes --user=admin

# the templates (header, footer) again, including what someone reviewed. Back up first.
wp swiftling export --all --kind=template --lang=de --file=templates-de.json --user=admin
wp swiftling translate --all --kind=template --lang=de --again=machine,reviewed --yes --user=admin

Što je još potrebno prevesti

wp swiftling to-translate --lang=de [--kind=<kind>] [--type=<type>] [--state=<states>] [--format=<format>] --user=admin

Zadano se prikazuju stavke koje nisu prevedene, djelomično su prevedene, zastarjele su ili imaju samo strojni prijevod. --kind može biti post (zadano), template, terms ili menu. --state je popis vrijednosti missing, partial, outdated, machine, reviewed i duplicate, odvojenih zarezima. --format može biti table, json, csv, yaml ili count.

wp swiftling to-translate --lang=de --format=count --user=admin
wp swiftling to-translate --lang=de --kind=post --type=page --state=machine --user=admin

Stranica koja nikad nije provjerena još nema poznatih tekstova, pa je navedena kao missing.

Izvoz i uvoz

wp swiftling export [<subject>…] --lang=<slug> [--all] [--kind=<kind>] [--type=<type>] [--state=<states>] [--file=<file>] --user=admin
wp swiftling import <file> [--state=<state>] [--dry-run] --user=admin

export zapisuje JSON s izvornikom, prijevodom i stanjem svakog teksta. Svaka se stranica najprije provjerava na poslužitelju. --state uključuje samo tekstove u navedenim stanjima: missing, outdated, machine, reviewed, official. Bez --file ispisuje se na zaslon.

import čita takvu datoteku s unesenim prijevodima:

  • <file> je putanja ili - za standardni ulaz.
  • --state=reviewed (zadana vrijednost) ili --state=machine određuje stanje u kojem se prijevodi spremaju.
  • --dry-run provjerava, ali ništa ne sprema.
  • Najprije se provjerava stranica svakog subjekta i sav njezin sadržaj prije nego što se išta spremi. Prijevod izvornika koji se promijenio nakon izvoza odbija se za taj subjekt, kao i prijevod teksta iz koda koji traži vrijednost koju izvornik ne sadrži. Prazan prijevod u datoteci ostavlja tekst nepromijenjenim.
wp swiftling export --all --lang=de --state=missing --file=de.json --user=admin
wp swiftling import de.json --dry-run --user=admin
wp swiftling import de.json --user=admin

Provjera stranica

wp swiftling check post:12 --user=admin
wp swiftling check --all --kind=template --user=admin

Provjerava stranicu svakog subjekta na poslužitelju, kao što to čini uređivač prijevoda, kako bi njezini tekstovi bili poznati. Pri provjeri se ne pokreću skripte: tekst koji skripta stvori nakon učitavanja stranice ili koji je pohranjen u atributu data-* pa ga skripta ispisuje neće biti pronađen.

Održavanje brzine web-mjesta

Nakon opsežnog postupka wp swiftling flush-cache prazni SwiftLingovu predmemoriju i predmemoriju stranica dodataka koje SwiftLing poznaje. wp swiftling clean uklanja podatke koje je SwiftLing zadržao o objavama koje više nisu na web-mjestu.