Gå til hovedinnhold

External Command tool

Verktøyet External Command sender teksten i hver blokk gjennom et eksternt kommandolinjeverktøy og bruker programmets standardutdata som ny tekst. Det lar en pipeline gjenbruke et eksisterende CLI-filter – en tilpasset normaliserer, en stavelsesretter, en translitterator – uten å skrive et eget verktøy.

Tekst kan sendes til kommandoen via standardinndata eller settes inn i argumentlisten via plassholderne ${source} og ${target}. En kommando er påkrevd, og en målspråkkode er påkrevd når verktøyet brukes på målteksten. Hver kjøring har en tidsgrense; avslutningskoden registreres på blokken, og en verdi ulik null lar teksten være uendret og registrerer feilen.

Dette verktøyet kjører kode som oppskriften velger, og er derfor sperret. Det tilhører exec-klassen: et prosjekt som navngir det i en flyt, kjører kommandoer med dine rettigheter og ditt miljø, og en oppskrift er bundet av å gå inn i en katalog. kapi spør derfor én gang per prosjekt, før noe annet skjer med det, og husker svaret; en uovervåket kjøring uten noen å spørre avslår i stedet for å anta. KAPI_TRUST_EXEC=1 gir tillatelse der pipeline-forfatteren bestemmer det, ikke i repositoriet som behandles. Den samme klassifiseringen holder dette verktøyet borte fra agentflaten, fra motor-API-et og fra enhver oppskrift som ankommer i en .kpz-fil. Se E-06.

IDexternal-command
SourceBuilt-in
CategoryText processing
Cardinalitymonolingual
Tagsconfigurable

Parameters

ParameterTypeDefaultDescription
applySourcebooleanfalseBehandle kildetekst
applyTargetbooleantrueBehandle måltekst
argsstring[]Kommandoargumenter; bruk ${source} og ${target} som plassholdere
commandstringKommandoen som skal kjøres
sendAsStdinbooleantrueSend tekst via stdin i stedet for kommandobargumenter
targetLocalestringMållokal for behandling
timeoutinteger30Tidsavbrudd i sekunder

Configure it live

Configuration
Loading form…

Examples

Send måltekst gjennom en formateringsmotor

Kjør et eksternt program på målet og send tekst på stdin.

command: my-formatter
applyTarget: true
targetLocale: fr

Send tekst som et argument

Sett inn teksten i argumentlisten i stedet for stdin.

command: transform
args: ["--text", "${source}"]
applySource: true
sendAsStdin: false

Processing notes

  • Opererer kun på oversettbare blokker; ikke-oversettbare blokker passerer gjennom uendret.

  • Etterfølgende linjeskift fjernes fra det innhentede resultatet.

Limitations

  • En ikke-null avslutnignskode lar teksten være uendret og registrerer avslutnignskoden og feilmeldingen som blokkegenskaper.

  • Kommandoen kjøres én gang per blokk per omfang (kilde og/eller mål), noe som kan være tregt for store dokumenter.

← Back to the Tool Reference