App-Greple-xlate
view release on metacpan or search on metacpan
i18n/src/xlate.gpt5-ET.pod view on Meta::CPAN
=encoding utf-8
=head1 NAME
App::Greple::xlate - tõlke tugimoodul greple jaoks
=head1 SYNOPSIS
greple -Mxlate --xlate-engine gpt5 --xlate pattern target-file
greple -Mxlate --xlate-engine deepl --xlate pattern target-file
=head1 VERSION
Version 2.02
=head1 DESCRIPTION
B<Greple> B<xlate> moodul leiab soovitud tekstiplokid ja asendab need tõlgitud tekstiga. Peamine mootor on GPT-5.6 Terra (F<llm/gpt5.pm>), mis kutsub käsku L<llm|https://llm.datasette.io/>; samuti on kaasas DeepL (F<deepl.pm>) ja pärandmootorid, m...
Tõlked salvestatakse vahemällu failipõhiselt, nii et käsu uuesti käivitamine ei maksa muutmata teksti puhul midagi. Kui dokumenti redigeeritakse, saadetakse API-le uuesti ainult muudetud lõigud; kontekstiteadlik mootor saab ka ümbritsevad tõl...
Kui soovite tõlkida tavalisi tekstiplokke dokumendis, mis on kirjutatud Perli pod-stiilis, kasutage käsku B<greple> koos C<--xlate-engine gpt5> ja mooduliga C<perl> järgmiselt:
greple -Mxlate --xlate-engine gpt5 -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm
Selles käsus tähendab mustrijada C<^([\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 B<--all> kasutatakse kogu teksti kuvamiseks.
=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/select-area.png">
</p>
Seejärel lisage valik C<--xlate>, et tõlkida valitud ala. Seejärel leiab see soovitud jaotised ja asendab need tõlkemootori väljundiga.
Vaikimisi prinditakse originaal ja tõlgitud tekst âkonfliktimärgiâ vormingus, mis on ühilduv L<git(1)>-ga. Kasutades vormingut C<ifdef>, saate soovitud osa hõlpsasti kätte käsuga L<unifdef(1)>. Väljundvormingut saab määrata valikuga B<--...
=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/format-conflict.png">
</p>
Kui soovite tõlkida kogu teksti, kasutage valikut B<--match-all>. See on otsetee mustri C<(?s).+> määramiseks, mis vastab kogu tekstile.
Konfliktimärgi vormingu andmeid saab vaadata kõrvuti stiilis käsuga L<sdif|App::sdif> koos valikuga C<-V>. Kuna üksikute stringide kaupa võrdlemisel pole mõtet, on soovitatav valik C<--no-cdif>. Kui te ei pea teksti värvima, määrake C<--no-t...
sdif -V --no-filename --no-tc --no-cdif data_shishin.deepl-EN-US.cm
=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/sdif-cm-view.png">
</p>
=head1 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:
=over 2
=item *
Eemaldage iga rea algusest ja lõpust tühikud.
=item *
Kui rida lõpeb täislaiuses kirjavahemärgiga, liidetakse järgmise reaga.
=item *
Kui rida lõpeb täislaiuses märgiga ja järgmine rida algab täislaiuses märgiga, liidetakse read.
=item *
Kui kas rea lõpp või algus ei ole täislaiuses märk, ühendage need, lisades tühiku.
=back
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 tekst...
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äit...
=head1 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...
--xlate-setopt maskfile=MASKPATTERN
See tõlgendab faili iga rida C<MASKPATTERN> kui regulaaravaldis, tõlgib sellega vastavad stringid ja taastab algse oleku pärast töötlemist. Ridu, mis algavad C<#>, eiratakse.
Keerukat mustrit saab kirjutada mitmele reale, kasutades tagurpidi kaldkriipsuga paojärjestatud reavahetust.
Kuidas tekst maskeerimise käigus muundatakse, on nähtav valikuga B<--xlate-mask>.
Maski kohatäited on korrektselt moodustatud isesulguvad XML-sildid, näiteks C<< <m id="1" /> >>. JSON-põhised LLM-mootorid saavad sildid oma sisendmassiivides. DeepLi puhul paojärjestatakse märgendsilte sisaldav päring ja suletakse ajutisse juu...
Maskeerimine kaitseb märgistust tõlkimise eest. Tundlike stringide peitmiseks tõlketeenuse enda eest vt L</ANONYMIZATION AND TEMPLATES>; mõlemat saab kasutada koos.
See liides on eksperimentaalne ja võib tulevikus muutuda.
=head1 ANONYMIZATION AND TEMPLATES
Tundlikud stringid saab peita enne nende saatmist tõlke-API-sse ja väljundis taastada. Saadaval on kolm anonüümimisreeglite allikat: sõnastikufail (B<--xlate-anonymize>), dokumendis endas olevad reasisesed märgid (B<--xlate-anonymize-mark>) ja ...
Vormidokumentide (kvartaliaruanded ja muu sarnane) puhul määratlege osalised kohe alguses ja viidake neile põhitekstis:
---
å ±åè
: å±±ç°å¤ªé
çºæ³¨ä¼ç¤¾: ã¢ã¯ã¡æ ªå¼ä¼ç¤¾
---
æ¬ä»¶ã«ã¤ã㦠{{ å ±åè
}} ã調æ»ãè¡ã£ãã
Tõlkige mall iga keele jaoks üks kord käsuga C<--xlate-template> (ja C<--xlate-frontmatter>, kui väärtused hoitakse failis), seejärel renderdage iga juhtum B<pandoc-embedz> eraldiseisvas režiimis -- välises konfiguratsioonis C<global:> all ol...
greple -Mxlate --xlate --xlate-engine=gpt5 --xlate-to=EN-US \
--xlate-template= --xlate-format=xtxt \
--match-paragraph --all --need=0 \
report-template.md > report-template.EN.md
pandoc-embedz --standalone report-template.EN.md \
-c case-123.yaml -o report-123.EN.md < /dev/null
Reasiseste märgendite puhul võimaldab makrodefinitsiooni konfiguratsiooni andmine samal tõlgitud mallil renderduda kas pärisnimedega või redigeeritud versioonina:
# macros.yaml # macros-redacted.yaml
preamble: | preamble: |
{% macro person(name) %}{{ name }}{% endmacro %}
{% macro person(name) %}(é¢ä¿è
){% endmacro %}
Välistage embedz-plokid tõlkimisest, kui dokument neid sisaldab:
--exclude '^```embedz\n(?s:.*?)^```\n'
=head1 OPTIONS
=over 7
=item B<--xlate>
=item B<--xlate-color>
=item B<--xlate-fold>
=item B<--xlate-fold-width>=I<n> (Default: 70)
Käivitab tõlkeprotsessi iga vaste piirkonna jaoks.
Ilma selle valikuta käitub B<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 L<App::Greple::update> kasutamist.
Valik B<--xlate> kutsub välja valiku B<--xlate-color> koos valikuga B<--color=never>.
Valikuga B<--xlate-fold> murtakse teisendatud tekst etteantud laiusele. Vaikelaius on 70 ja seda saab määrata valikuga B<--xlate-fold-width>. Neli veergu on reserveeritud jooksva sisestuse jaoks, seega mahub igale reale maksimaalselt 74 märki.
=item B<--xlate-engine>=I<engine>
Määrab kasutatava tõlkemootori.
Praegu on saadaval järgmised mootorid
=over 2
=item * B<gpt5>: gpt-5.6-terra (via the C<llm> command)
i18n/src/xlate.gpt5-ET.pod view on Meta::CPAN
</div>
Koolonite arv on vaikimisi 7. Kui määrate koolonite jada nagu C<:::::>, kasutatakse seda 7 kooloni asemel.
=item B<ifdef>
Algne ja teisendatud tekst prinditakse vormingus L<cpp(1)> C<#ifdef>.
#ifdef ORIGINAL
original text
#endif
#ifdef JA
translated Japanese text
#endif
Ainult jaapanikeelse teksti saate kätte käsuga B<unifdef>:
unifdef -UORIGINAL -DJA foo.ja.pm
=item B<space>
=item B<space+>
Algne ja teisendatud tekst prinditakse, eraldatuna ühe tühja reaga. C<space+> korral väljastatakse teisendatud teksti järel ka reavahetus.
=item B<xtxt>
Kui vorming on C<xtxt> (tõlgitud tekst) või tundmatu, prinditakse ainult tõlgitud tekst.
=back
=item B<--xlate-maxlen>=I<chars> (Default: 0)
Määra maksimaalne teksti pikkus, mis korraga API-le saadetakse. Vaikeväärtus 0 tähendab mootori enda piirangut: DeepL tasuta konto teenuse puhul on see 128K API jaoks (B<--xlate>) ja 5000 lõikepuhvri liidese jaoks (B<--xlate-labor>). Kui kasuta...
=item B<--xlate-maxline>=I<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 C<--xlate-maxlen> suhtes.
=item B<--xlate-prompt>=I<text>
Määrake tõlkemootorile saadetav kohandatud viip. See valik on saadaval LLM-mootorite (C<gpt3>, C<gpt4o>, C<gpt5>) jaoks, kuid mitte DeepL-i jaoks. Saate tõlkekäitumist kohandada, andes tehisintellekti mudelile konkreetsed juhised. Kui viip sisal...
=item B<--xlate-context>=I<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.
=item B<--xlate-context-window>=I<n>
(Context-aware engines only, e.g. C<gpt5> on the llm backend)
Ãmbritsevate tõlgitud plokkide arv, mis antakse muudetud plokkide uuesti tõlkimisel viitekontekstina (vaikimisi 2). Kontekst sisaldab ka muudetud piirkonda ümbritsevat toorest lähteksti (pealkirjad, loendistruktuur, pildiallkirjad) ning võimalu...
=item B<--xlate-cache-seed>=I<file>
Lähtesta uue dokumendi vahemälu teise dokumendi vahemälufailist. Kasulik perioodiliste aruannete puhul: külva uue väljaande vahemälu eelmise väljaande omaga, et muutmata lõike ei tõlgitaks uuesti ja muudetud lõigud säilitaksid eelmise väl...
=item B<--xlate-anonymize>=I<file>
Anonümiseeri tundlikud stringid enne nende saatmist tõlke-API-le ja taasta need väljundis. Sõnastikufail annab iga üksuse kohta ühe kirje: JSON-is (kanoniline, masinaga genereeritav)
[ { "category": "person", "text": "å±±ç°å¤ªé" },
{ "category": "company", "regex": "ã¢ã¯ã¡(æ ªå¼ä¼ç¤¾)?" } ]
või lihtsas reaformaadis (C<category pattern>, C</.../> regexi jaoks). Iga üksus asendatakse kategooriasildiga, näiteks C<< <person id="1" /> >>; sama string saab alati sama sildi, nii et mudel saab jälgida, kes on kes. Tundmatuid JSON-välju eir...
Sõnastiku saab genereerida välise tööriistaga -- näiteks kohalik mudel, mis ekstraheerib tundlikke olemeid:
llm -m <local-model> \
-s 'Extract sensitive entities as a JSON array of objects
with "category" and "text" fields.' \
< report.md > report.anon.json
greple -Mxlate --xlate-anonymize=report.anon.json ...
Failis olev UTF-8 BOM on lubatud. Front matter'i reaformaadis võivad väärtustel olla lõpus kommentaarid ainult eraldi real, mitte väärtuse järel.
=item B<--xlate-anonymize-mark>[=I<regex>]
Kogu anonümiseerimiskirjed dokumendi enda sisestest märgetest. Märgi esimene esinemine kujul C<{{ person("å±±ç°å¤ªé") }}> ja iga selle stringi esinemine kogu dokumendis anonümiseeritakse. Märge ise jääb lähtekoodi ja tõlkesse, nii et doku...
Pange tähele, et sellise valikulise väärtusega valiku korral võetaks järgnev failiargument väärtuseks: kirjutage C<--xlate-anonymize-mark=> (lõpus oleva C<=>-ga), kui kasutate vaikimisi märgistust.
Alternatiivseid märgistusi saab konfigureerida, näiteks C<< --xlate-anonymize-mark='@@(?<category>[a-z][a-z0-9_]*):(?<text>[^\n]+?)@@' >> C<@@person:NAME@@>-stiilis märgete jaoks, või HTML-kommentaari vormi, mis jääb renderdatud Markdownis näh...
=item B<--xlate-template>[=I<regex>]
Käsitle malliväljendeid (vaikimisi: Jinja2 C<{{ ... }}>, C<{% ... %}>, C<{# ... #}>) läbipaistmatute kohatäitjatena: juhenda mudelit neid muutmata kopeerima ja kontrolli iga ploki kohta, et vastus sisaldaks täpselt samu väljendeid, igaüht sama...
Pange tähele, et sellise valikulise väärtusega valiku korral võetaks järgnev failargument väärtusena: kasutage vaikemärgistuse korral C<--xlate-template=> (lõpus oleva C<=>-ga).
=item B<--xlate-frontmatter>
Käsitle alguses olevat C<---> ... C<---> plokki YAML-i esiosana: jäta see tõlkimisest ja 2. faasi kontekstilõikudest välja ning lisa selle lamedad C<key: value> väärtused anonüümimisreeglitesse (kategooria C<var>) turvavõrguna. Mitme sisend...
Jäta alati tühi rida pärast sulgevat C<--->. Lõigustiilis vastemustriga moodustab otse põhitekstiga kokku jooksev esiosa ühe üle piiri ulatuva ploki, mida välistamine ei suuda maha suruda (sellisel juhul prinditakse hoiatus); väärtused anon...
=item B<--xlate-glossary>=I<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.
=item B<--xlate-dryrun>
Ãra kutsu tõlke-API-t; selle asemel näita edenemiskuva kaudu iga payload täpselt sellisena, nagu see edastataks (pärast anonüümimist ja maskimist). Kasulik kontrollimaks, mis masinast väljub, ning käivituse maksumuse hindamiseks.
=item B<-->[B<no->]B<xlate-progress> (Default: True)
Vaata tõlketulemust reaalajas STDERR-väljundis. C<From> payload kuvatakse edastatud kujul, pärast anonüümimist ja maskimist.
=item B<--xlate-review>
Ãks-ühele muudetud ploki puhul näita vana ja uue lähteallika väikseimat järjestikust muudetud vahemikku, millele järgneb vastav vahemik vanas ja uues tõlkes. Aruanne kirjutatakse STDERR-i, see ei tee täiendavaid API-kutseid ning jäetakse vÃ...
=item B<--xlate-stripe>
Kasuta moodulit L<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 B<--xlate-stripe-light> või B<--xlate-stripe-dark>.
=item B<--xlate-mask>
Tee maskimine ja kuva teisendatud tekst taastamata kujul.
=item B<--match-all>
Sea kogu faili tekst sihtalaks.
=item B<--lineify-cm>
=item B<--lineify-colon>
Vormingute C<cm> ja C<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...
Praeguses teostuses, kui ühest reast tõlgitakse mitu osa, väljastatakse need sõltumatute ridadena.
=back
=head1 CACHE OPTIONS
Moodul B<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 C<auto> korral hoitakse puhvriandmeid ainult siis, kui sihtfaili j...
Kasuta B<--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.
=over 7
=item --xlate-cache=I<strategy>
=over 4
( run in 1.162 second using v1.01-cache-2.11-cpan-b16cb0d3907 )