There is an ongoing outage on the primary CPAN mirror. It is possible to work around the issue by using MetaCPAN as a mirror.

NAME

App::Greple::xlate - tõlke tugimoodul greple jaoks

SYNOPSIS

greple -Mxlate::deepl --xlate pattern target-file

greple -Mxlate::gpt4 --xlate pattern target-file

greple -Mxlate::gpt5 --xlate pattern target-file

greple -Mxlate --xlate-engine gpt5 --xlate pattern target-file

VERSION

Version 0.9914

DESCRIPTION

Greple xlate moodul leiab soovitud tekstiplokid ja asendab need tõlgitud tekstiga. Praegu on taustmootorina rakendatud DeepL (deepl.pm), ChatGPT 4.1 (gpt4.pm) ja GPT-5 (gpt5.pm) moodul.

Kui soovite tõlkida tavalisi tekstiplokke dokumendis, mis on kirjutatud Perli pod-stiilis, kasutage käsku greple koos xlate::deepl ja perl mooduliga järgmiselt:

greple -Mxlate::deepl -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm

Selles käsus tähendab mustrijada ^([\w\pP].*\n)+ järjestikuseid ridu, mis algavad tähtnumbrilise ja kirjavahemärgi märgiga. See käsk näitab tõlkimiseks valitud ala esiletõstetuna. Valikut --all kasutatakse kogu teksti kuvamiseks.

Seejärel lisage valik --xlate, et tõlkida valitud ala. Seejärel leiab see soovitud jaotised ja asendab need käsu deepl väljundiga.

Vaikimisi prinditakse originaal ja tõlgitud tekst „konfliktimärgi” vormingus, mis on ühilduv git(1)-ga. Kasutades vormingut ifdef, saate soovitud osa hõlpsasti kätte käsuga unifdef(1). Väljundvormingut saab määrata valikuga --xlate-format.

Kui soovite tõlkida kogu teksti, kasutage valikut --match-all. See on otsetee mustri (?s).+ määramiseks, mis vastab kogu tekstile.

Konfliktimärgi vormingu andmeid saab vaadata kõrvuti stiilis käsuga sdif koos valikuga -V. Kuna üksikute stringide kaupa võrdlemisel pole mõtet, on soovitatav valik --no-cdif. Kui te ei pea teksti värvima, määrake --no-textcolor (või --no-tc).

sdif -V --no-filename --no-tc --no-cdif data_shishin.deepl-EN-US.cm

NORMALIZATION

Töötlemine toimub määratud ühikutes, kuid mitme järjestikuse tühjade ridadeta tekstiridade korral ühendatakse need koos üheks reaks. See toiming tehakse järgmiselt:

  • Eemaldage iga rea algusest ja lõpust tühikud.

  • Kui rida lõpeb täislaiuses kirjavahemärgiga, liidetakse järgmise reaga.

  • Kui rida lõpeb täislaiuses märgiga ja järgmine rida algab täislaiuses märgiga, liidetakse read.

  • Kui kas rea lõpp või algus ei ole täislaiuses märk, ühendage need, lisades tühiku.

Puhvriandmeid hallatakse normaliseeritud teksti alusel, seega isegi kui tehakse muudatusi, mis ei mõjuta normaliseerimise tulemust, jäävad puhverdatud tõlkeandmed kehtima.

See normaliseerimisprotsess tehakse ainult esimesele (0.) ja paarisnumbrilistele mustritele. Seega, kui on määratud kaks mustrit järgmiselt, töödeldakse esimesele mustrile vastav tekst pärast normaliseerimist ning teisele mustrile vastava teksti puhul normaliseerimist ei tehta.

greple -Mxlate -E normalized -E not-normalized

Seetõttu kasutage esimest mustrit teksti jaoks, mida tuleb töödelda mitme rea ühendamisega üheks reaks, ja teist mustrit eelformindatud teksti jaoks. Kui esimesele mustrile ei vasta ühtegi teksti, kasutage mustrit, mis millelegi ei vasta, näiteks (?!).

MASKING

Mõnikord on tekstis osasid, mida te ei soovi tõlkida. Näiteks sildid markdown-failides. DeepL soovitab sellistel juhtudel tõlkimisest välja jäetav osa teisendada XML-siltideks, lasta see läbi tõlke ja taastada pärast tõlkimise lõppu. Selle toetamiseks on võimalik määrata osad, mis tuleb tõlkimise eest maskeerida.

--xlate-setopt maskfile=MASKPATTERN

See tõlgendab faili `MASKPATTERN` iga rida regulaaravaldiseina, tõlgib sellega sobivad stringid ja taastab need pärast töötlemist. Ridu, mis algavad #, eiratakse.

Keerukat mustrit saab kirjutada mitmele reale, kasutades taandejärgset reavahetust tagurpidi kaldkriipsuga.

Kuidas tekst maskeerimise käigus muundatakse, on nähtav valikuga --xlate-mask.

See liides on eksperimentaalne ja võib tulevikus muutuda.

OPTIONS

--xlate
--xlate-color
--xlate-fold
--xlate-fold-width=n (Default: 70)

Käivitab tõlkeprotsessi iga vaste piirkonna jaoks.

Ilma selle valikuta käitub greple nagu tavaline otsingukäsk. Nii saate enne tegeliku töö käivitamist kontrollida, milline faili osa läheb tõlkimisele.

Käsu tulemus läheb standardsesse väljundisse, seega suunake vajadusel faili või kaaluge mooduli App::Greple::update kasutamist.

Valik --xlate kutsub välja valiku --xlate-color koos valikuga --color=never.

Valikuga --xlate-fold murtakse teisendatud tekst etteantud laiusele. Vaikelaius on 70 ja seda saab määrata valikuga --xlate-fold-width. Neli veergu on reserveeritud jooksva sisestuse jaoks, seega mahub igale reale maksimaalselt 74 märki.

--xlate-engine=engine

Määrab kasutatava tõlkemootori. Kui täpsustate mootori mooduli otse, näiteks -Mxlate::deepl, ei pea te seda valikut kasutama.

Praegu on saadaval järgmised mootorid

  • deepl: DeepL API

  • gpt3: gpt-3.5-turbo

  • gpt4: gpt-4.1

  • gpt4o: gpt-4o-mini

    gpt-4o liides on ebastabiilne ja praegu ei saa selle korrektset toimimist garanteerida.

  • gpt5: gpt-5

--xlate-labor
--xlabor

Tõlkemootori kutsumise asemel eeldatakse, et teete töö ise. Pärast tõlgitava teksti ettevalmistamist kopeeritakse need lõikepuhvrisse. Eeldatakse, et kleebite need vormi, kopeerite tulemuse lõikepuhvrisse ja vajutate Enter.

--xlate-to (Default: EN-US)

Määrake sihtkeel. Saadavalolevaid keeli saate deepl languages käsuga, kui kasutate mootorit DeepL.

--xlate-format=format (Default: conflict)

Määrake originaal- ja tõlketeksti väljundvorming.

Järgnevad vormingud peale xtxt eeldavad, et tõlgitav osa on ridade kogum. Tegelikult on võimalik tõlkida ainult osa reast, kuid muu kui xtxt vormingu määramine ei anna mõtestatud tulemust.

conflict, cm

Algne ja teisendatud tekst prinditakse git(1) konfliktimarkerite vormingus.

<<<<<<< ORIGINAL
original text
=======
translated Japanese text
>>>>>>> JA

Algse faili saate taastada järgmise käsuga sed(1).

sed -e '/^<<<<<<< /d' -e '/^=======$/,/^>>>>>>> /d'
colon, :::::::

Algne ja tõlgitud tekst väljastatakse markdown’i kohandatud konteineri stiilis.

::::::: ORIGINAL
original text
:::::::
::::::: JA
translated Japanese text
:::::::

Ülaltoodud tekst teisendatakse HTML-is järgnevaks.

<div class="ORIGINAL">
original text
</div>
<div class="JA">
translated Japanese text
</div>

Koolonite arv on vaikimisi 7. Kui määrate koolonite jada nagu :::::, kasutatakse seda 7 kooloni asemel.

ifdef

Algne ja teisendatud tekst prinditakse vormingus cpp(1) #ifdef.

#ifdef ORIGINAL
original text
#endif
#ifdef JA
translated Japanese text
#endif

Ainult jaapanikeelse teksti saate kätte käsuga unifdef:

unifdef -UORIGINAL -DJA foo.ja.pm
space
space+

Algne ja teisendatud tekst prinditakse, eraldatuna ühe tühja reaga. space+ korral väljastatakse teisendatud teksti järel ka reavahetus.

xtxt

Kui vorming on xtxt (tõlgitud tekst) või tundmatu, prinditakse ainult tõlgitud tekst.

--xlate-maxlen=chars (Default: 0)

Määra maksimaalne teksti pikkus, mis korraga API-le saadetakse. Vaikeväärtus on määratud DeepL tasuta konto teenuse järgi: 128K API jaoks (--xlate) ja 5000 lõikepuhvri liidese jaoks (--xlate-labor). Kui kasutad Pro-teenust, võid neid väärtusi muuta.

--xlate-maxline=n (Default: 0)

Määra maksimaalne ridade arv, mis korraga API-le saadetakse.

Sea see väärtus 1, kui soovid tõlkida ühe rea kaupa. See valik on ülimuslik valiku --xlate-maxlen suhtes.

--xlate-prompt=text

Määra kohandatud viip, mis saadetakse tõlkemootorile. See valik on saadaval ainult ChatGPT mootorite (gpt3, gpt4, gpt4o) kasutamisel. Saad kohandada tõlke käitumist, andes mudelile konkreetsed juhised. Kui viip sisaldab %s, asendatakse see sihtkeele nimega.

--xlate-context=text

Määra täiendav kontekstiinfo, mis saadetakse tõlkemootorile. Seda valikut saab kasutada mitu korda, et edastada mitu kontekstistringi. Kontekst aitab tõlkemootoril tausta mõista ja anda täpsemaid tõlkeid.

--xlate-glossary=glossary

Määra sõnastiku ID, mida tõlkimisel kasutada. See valik on saadaval ainult DeepL mootori kasutamisel. Sõnastiku ID tuleb hankida oma DeepL kontolt ning see tagab kindlate terminite ühtlase tõlke.

--[no-]xlate-progress (Default: True)

Vaata tõlketulemust reaalajas STDERR-väljundis.

--xlate-stripe

Kasuta moodulit App::Greple::stripe, et näidata sobitatud osa sebramustriga. See on kasulik, kui sobitatud osad paiknevad vahetult üksteise järel.

Värvipalett lülitub vastavalt terminali taustavärvile. Kui soovid seda selgesõnaliselt määrata, võid kasutada --xlate-stripe-light või --xlate-stripe-dark.

--xlate-mask

Tee maskimine ja kuva teisendatud tekst taastamata kujul.

--match-all

Sea kogu faili tekst sihtalaks.

--lineify-cm
--lineify-colon

Vormingute cm ja colon puhul jagatakse väljund ridade kaupa ja vormindatakse vastavalt. Seetõttu ei saa oodatud tulemust, kui tõlgitakse ainult osa reast. Need filtrid parandavad väljundi, mis on rikutud rea osalise tõlkimise tõttu, viies selle normaalse reahaaval väljundi kujule.

Praeguses teostuses, kui ühest reast tõlgitakse mitu osa, väljastatakse need sõltumatute ridadena.

CACHE OPTIONS

Moodul xlate saab talletada iga faili tõlke puhverdatud teksti ja lugeda selle enne täitmist, et vältida päringute esitamise ülekulu serverile. Vaikimisi puhverdamisstrateegia auto korral hoitakse puhvriandmeid ainult siis, kui sihtfaili jaoks on olemas puhverfail.

Kasuta --xlate-cache=clear, et algatada puhvri haldus või puhastada kogu olemasolev puhvriandmestik. Kui see valik on korra käivitatud, luuakse uus puhverfail, kui seda ei ole, ja seda hallatakse edaspidi automaatselt.

--xlate-cache=strategy
auto (Default)

Säilita puhverfail, kui see eksisteerib.

create

Loo tühi puhverfail ja välju.

always, yes, 1

Säilita vahemälu igal juhul, kui siht on tavaline fail.

clear

Tühjenda esmalt vahemälu andmed.

never, no, 0

Ära kasuta vahemälufaili isegi siis, kui see olemas on.

accumulate

Vaikimisi eemaldatakse kasutamata andmed vahemälufailist. Kui sa ei soovi neid eemaldada ja tahad faili alles jätta, kasuta accumulate.

--xlate-update

See valik sunnib vahemälufaili uuendama isegi siis, kui see pole vajalik.

COMMAND LINE INTERFACE

Seda moodulit saab hõlpsasti kasutada käsurealt, kasutades levitusega kaasas olevat käsku xlate. Vaata kasutusjuhiseid man-lehelt xlate.

Käsk xlate töötab kooskõlas Dockeri keskkonnaga, seega isegi kui sul pole midagi lokaalselt paigaldatud, saad seda kasutada seni, kuni Docker on saadaval. Kasuta valikut -D või -C.

Samuti, kuna on pakutud mitmesuguste dokumendistiilide makefile’e, on tõlkimine teistesse keeltesse võimalik ilma erisäteteta. Kasuta valikut -M.

Võid kombineerida ka Docker ja make valikud, et käitada make Dockeri keskkonnas.

Käivitamine kujul xlate -C avab shelli, kus jooksev töökoopia git-repositoorium on ühendatud.

Loe üksikasju jaapani artiklist jaotisest "SEE ALSO".

EMACS

Laadi repositooriumis olev xlate.el fail, et kasutada Emacsis käsku xlate. Funktsioon xlate-region tõlgib etteantud piirkonna. Vaikimisi keel on EN-US ning keelt saab määrata seda prefiksargumendiga kutsudes.

ENVIRONMENT

DEEPL_AUTH_KEY

Sea oma DeepL teenuse autentimisvõti.

OPENAI_API_KEY

OpenAI autentimisvõti.

INSTALL

CPANMINUS

$ cpanm App::Greple::xlate

TOOLS

Pead paigaldama käsurea tööriistad DeepL-i ja ChatGPT jaoks.

https://github.com/DeepLcom/deepl-python

https://github.com/tecolicom/App-gpty

SEE ALSO

App::Greple::xlate

App::Greple::xlate::deepl

App::Greple::xlate::gpt4

App::Greple::xlate::gpt5

ARTICLES

AUTHOR

Kazumasa Utashiro

LICENSE

Copyright © 2023-2025 Kazumasa Utashiro.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.