App-Greple-xlate

 view release on metacpan or  search on metacpan

i18n/src/xlate.deepl-ET.pod  view on Meta::CPAN

=encoding utf-8

=head1 NAME

App::Greple::xlate - Greple tõlkimise tugimoodul

=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> mooduliga leidke soovitud tekstilõigud ja asendage need tõlgitud tekstiga. Peamine mootor on GPT-5.6 Terra (F<llm/gpt5.pm>), mis kasutab käsku L<llm|https://llm.datasette.io/>; lisaks on kaasatud ka DeepL (F<deepl.pm>) ja vanema...

Tõlked salvestatakse failipõhiselt vahemällu, seega ei maksa muutumatu teksti puhul käsu uuesti käivitamine midagi. Dokumendi redigeerimisel saadetakse API-le uuesti ainult muudetud lõigud; kontekstist lähtuv mootor saab ka ümbritsevad tõlke...

Kui soovite tõlkida tavalisi tekstilõike dokumendis, mis on kirjutatud Perli pod-stiilis, kasutage käsku B<greple> koos moodulitega C<--xlate-engine gpt5> ja C<perl> järgmiselt:

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

Selles käsus tähendab musterjada C<^([\w\pP].*\n)+> järjestikuseid ridu, mis algavad tähtnumbrilise ja kirjavahemärgiga. See käsk näitab tõlgitavat ala esile tõstetud kujul. Valikut B<--all> kasutatakse kogu teksti koostamiseks.

=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 valitud ala tõlkimiseks valik C<--xlate>. Seejärel leiab süsteem soovitud lõigud ja asendab need tõlkemootori väljundiga.

Vaikimisi trükitakse algne ja tõlgitud tekst L<git(1)>-ga ühilduvas "konfliktimärkide" formaadis. Kasutades C<ifdef> formaati, saab soovitud osa hõlpsasti kätte käsuga L<unifdef(1)>. Väljundi formaati saab määrata valikuga B<--xlate-format>...

=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, et määrata muster C<(?s).+>, mis vastab kogu tekstile.

Konfliktimärkide formaadis andmeid saab vaadata kõrvuti, kasutades käsku L<sdif|App::sdif> koos valikuga C<-V>. Kuna stringide kaupa pole mõtet võrrelda, on soovitatav kasutada C<--no-cdif> valikut. Kui teil ei ole vaja teksti värvida, määrak...

    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 kindlaksmääratud ühikutes, kuid mitme mittetäieliku tekstirea järjestuse korral teisendatakse need kokku üheks reaks. See operatsioon toimub järgmiselt:

=over 2

=item *

Eemaldatakse valge tühik iga rea alguses ja lõpus.

=item *

Kui rida lõpeb täies laiuses kirjavahemärgiga, ühendage see järgmise reaga.

=item *

Kui rida lõpeb täies laiuses märgiga ja järgmine rida algab täies laiuses märgiga, ühendatakse read.

=item *

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

=back

Vahemälu andmeid hallatakse normaliseeritud teksti alusel, nii et isegi kui tehakse muudatusi, mis ei mõjuta normaliseerimise tulemusi, on vahemälus olevad tõlkeandmed ikkagi tõhusad.

See normaliseerimisprotsess viiakse läbi ainult esimese (0.) ja paarisnumbrilise mustri puhul. Seega, kui kaks mustrit on määratud järgmiselt, töödeldakse pärast normaliseerimist esimesele mustrile vastavat teksti ja teisele mustrile vastavat ...

    greple -Mxlate -E normalized -E not-normalized

Seetõttu kasutage esimest mustrit teksti puhul, mida tuleb töödelda mitme rea ühendamise teel üheks reaks, ja teist mustrit eelnevalt vormindatud teksti puhul. Kui esimeses mustris ei ole sobivat teksti, kasutage mustrit, mis ei vasta millelegi,...

=head1 MASKING

Mõnikord on tekstiosasid, mida te ei soovi tõlkida. Näiteks markdown-failide sildid. DeepL soovitab sellistel juhtudel konverteerida välja jäetav tekstiosa XML-tähtedeks, tõlkida ja pärast tõlkimise lõpetamist taastada. Selle toetamiseks on...

    --xlate-setopt maskfile=MASKPATTERN

See tõlgendab faili C<MASKPATTERN> iga rida regulaarse väljendina, tõlgib sellega sobivad stringid ja taastab pärast töötlemist. Ridadega, mis algavad C<#>, ei arvestata.

Keerukaid mustreid saab kirjutada mitmele reale, kasutades tagasikaldkriipsuga eskapitud reavahetust.

Seda, kuidas tekst on maskeerimise abil muudetud, saab näha valiku B<--xlate-mask> abil.

Mask-asendusmärgid on korrektselt vormistatud isesulguvad XML-märgid, nagu näiteks C<< <m id="1" /> >>. JSON-põhised LLM-mootorid saavad need märgid oma sisendmassiivides. DeepL-i puhul esitatakse märgimärke sisaldav päring eskapitud kujul ja...

Maskimine kaitseb märgistust tõlkimise eest. Tundlike stringide varjamiseks tõlketeenuse enda eest vaadake 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 varjata enne nende saatmist tõlke-API-le ja taastada väljundis. Anonüümimise reeglite jaoks on saadaval kolm allikat: sõnastikufail (B<--xlate-anonymize>), dokumendis endas olevad sisseehitatud märgid (B<--xlate-anonymiz...

Vormidokumentide puhul (kvartaliaruanded jms) määrake osalised eelnevalt kindlaks ja viidake neile tekstis:

    ---
    報告者: 山田太郎
    発注会社: アクメ株式会社
    ---
    本件について {{ 報告者 }} が調査を行った。

Tõlkige mall üks kord iga keele kohta, kasutades C<--xlate-template> (ja C<--xlate-frontmatter>, kui väärtused säilitatakse failis), seejärel renderdage iga juhtum B<pandoc-embedz> eraldiseisvas režiimis – väärtused, mis asuvad välises ko...

    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

Sisestusmärkide puhul võimaldab makrodefinitsiooni konfiguratsiooni esitamine renderida samal tõlgitud mallil kas tegelikud nimed või redigeeritud versiooni:

    # macros.yaml           # macros-redacted.yaml
    preamble: |             preamble: |
      {% macro person(name) %}{{ name }}{% endmacro %}
                              {% macro person(name) %}(関係者){% endmacro %}

Jäta embedz-plokid tõlkimisest välja, 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äivitage tõlkimisprotsess iga sobitatud ala jaoks.

Ilma selle valikuta käitub B<greple> nagu tavaline otsingukäsklus. Seega saate enne tegeliku töö käivitamist kontrollida, millise faili osa kohta tehakse tõlge.

Käsu tulemus läheb standardväljundisse, nii et vajadusel suunake see faili ümber või kaaluge mooduli L<App::Greple::update> kasutamist.

Valik B<--xlate> kutsub B<--xlate-color> valiku B<--color=never> valikul.

Valikuga B<--xlate-fold> volditakse konverteeritud tekst määratud laiusega. Vaikimisi laius on 70 ja seda saab määrata valikuga B<--xlate-fold-width>. Neli veergu on reserveeritud sisselülitamiseks, nii et iga rida võib sisaldada maksimaalselt ...

=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.deepl-ET.pod  view on Meta::CPAN

    </div>

Koolonite arv on vaikimisi 7. Kui määrate koolonite järjestuse nagu C<:::::>, kasutatakse seda 7 kooloni asemel.

=item B<ifdef>

Algne ja teisendatud tekst trükitakse L<cpp(1)> C<#ifdef> formaadis.

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

Saate ainult jaapani teksti taastada käsuga B<unifdef>:

    unifdef -UORIGINAL -DJA foo.ja.pm

=item B<space>

=item B<space+>

Algne ja teisendatud tekst on trükitud ühe tühja reaga eraldatud. C<space+> puhul väljastab see ka uue rea pärast teisendatud teksti.

=item B<xtxt>

Kui formaat on C<xtxt> (tõlgitud tekst) või tundmatu, trükitakse ainult tõlgitud tekst.

=back

=item B<--xlate-maxlen>=I<chars> (Default: 0)

Määrake API-le korraga saadetava teksti maksimaalne pikkus. Vaikimisi väärtus 0 tähendab mootori enda piirangut: DeepLi tasuta kontoteenuse puhul on see API-le (B<--xlate>) 128K ja lõikelauale (B<--xlate-labor>) 5000. Kui kasutate Pro-teenust, ...

=item B<--xlate-maxline>=I<n> (Default: 0)

Määrake API-le korraga saadetava teksti maksimaalne ridade arv.

Määrake selle väärtuseks 1, kui soovite tõlkida ühe rea korraga. See valik on ülimuslik valikust C<--xlate-maxlen>.

=item B<--xlate-prompt>=I<text>

Määrake tõlkemootorile saadetav kohandatud käsk. See valik on saadaval LLM-mootorite (C<gpt3>, C<gpt4o>, C<gpt5>) puhul, kuid mitte DeepL-i puhul. Võite kohandada tõlkimiskäitumist, andes AI-mudelile konkreetseid juhiseid. Kui käsk sisaldab C...

=item B<--xlate-context>=I<text>

Määrake lisakonteksti teave, mis saadetakse tõlkemootorile. Seda valikut saab kasutada mitu korda, et anda mitu kontekstijada. Kontekstiandmed aitavad tõlkemootoril mõista tausta ja toota täpsemaid tõlkeid.

=item B<--xlate-context-window>=I<n>

(Context-aware engines only, e.g. C<gpt5> on the llm backend)
Muudetud plokkide uuesti tõlkimisel viitekontekstina edastatavate ümbritsevate tõlgitud plokkide arv (vaikimisi 2). Kontekst hõlmab ka muudetud piirkonna ümbruses olevat töötlemata allikateksti (pealkirjad, loendistruktuur, pildiallkirjad) nin...

=item B<--xlate-cache-seed>=I<file>

Initsialiseerige uue dokumendi vahemälu teise dokumendi vahemälufaili põhjal. Kasulik perioodiliste aruannete puhul: algandmetena kasutage uue väljaande vahemälus eelmise väljaande andmeid, nii et muutmata lõikeid ei tõlgita uuesti ja muudetu...

=item B<--xlate-anonymize>=I<file>

Anonüümistage tundlikud stringid enne nende saatmist tõlke-API-le ja taastage need väljundis. Sõnastikufailis on iga elemendi kohta üks kanne: JSON-vormingus (kanoniline, masinloetav)

    [ { "category": "person",  "text": "山田太郎" },
      { "category": "company", "regex": "アクメ(株式会社)?" } ]

või lihtsas reaformaadis (C<category pattern>,  regulaaravaldise C</.../>jaoks). Iga element asendatakse kategooriamärgiga, näiteks C<< <person id="1" /> >>; sama string saab alati sama märgi, nii et mudel saab jälgida, kes on kes. Tundmatuid JS...

Sõnastiku saab genereerida välise tööriistaga – näiteks tundlikke entiteete eraldava kohaliku mudeliga:

    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 olevat UTF-8 BOM-i aktsepteeritakse. Esilehe rea formaadis olevad väärtused võivad sisaldada lõpus kommentaari ainult oma eraldi real, mitte väärtuse järel.

=item B<--xlate-anonymize-mark>[=I<regex>]

Koguge anonüümimise kanded dokumendi enda sisseehitatud märkidest. Märgi esimene esinemine näiteks C<{{ person("山田太郎") }}> ja kogu dokumendis esinev string anonüümistatakse. Märge ise jääb nii allikasse kui ka tõlkesse, seega saab ...

Pange tähele, et sellise valikulise väärtusega valiku puhul võetakse järgnev failiargument väärtusena: kirjutage C<--xlate-anonymize-mark=> (koos lõpus oleva C<=>-ga), kui kasutate vaikimisi märgistust.

Võimalik on konfigureerida alternatiivseid märkimisviise, näiteks C<< --xlate-anonymize-mark='@@(?<category>[a-z][a-z0-9_]*):(?<text>[^\n]+?)@@' >> C<@@person:NAME@@>-stiilis märkide jaoks või HTML-kommentaari vorm, mis jääb renderdatud Markdo...

=item B<--xlate-template>[=I<regex>]

Käsitle malliväljendeid (vaikimisi: Jinja2 C<{{ ... }}>, C<{% ... %}>, C<{# ... #}>) läbipaistmatute asendusmärkidena: anna mudelile juhis need muutmata kujul kopeerida ja kontrolli iga ploki puhul, et vastus sisaldaks täpselt samu väljendeid, ...

Pange tähele, et sellise valikulise väärtusega valiku puhul võetakse järgnev failiargument väärtusena: kirjutage C<--xlate-template=> (koos lõpus oleva C<=>-ga), kui kasutate vaikimisi märgistust.

=item B<--xlate-frontmatter>

Käsitlege alguses olevat C<---> ... C<---> plokki kui YAML-i esiosa: jäta see tõlkest ja 2. faasi kontekstilõikudest välja ning lisa selle lihtsad C<key: value> väärtused anonüümimise reeglitesse (kategooria C<var>) turvavõrguna. Mitme sise...

Jäta alati tühirida sulgevate C<---> järel. Lõigu-stiilis sobitusmustri korral moodustab sissejuhatus, mis ulatub otse põhiteksti sisse, ühe üle ulatuva ploki, mida välistamine ei suuda maha suruda (sel juhul kuvatakse hoiatus); väärtused a...

=item B<--xlate-glossary>=I<glossary>

Määrake sõnastiku ID, mida kasutatakse tõlkimisel. See valik on saadaval ainult siis, kui kasutatakse DeepL mootorit. Sõnastiku ID tuleks saada teie DeepL kontolt ja see tagab konkreetsete terminite järjepideva tõlkimise.

=item B<--xlate-dryrun>

Ära kutsu tõlke-API-d; näita selle asemel edastusnäidiku kaudu iga andmepaketti täpselt nii, nagu see edastataks (pärast anonüümistamist ja maskeerimist). See on kasulik selle kontrollimiseks, mis masinast väljub, ning töökäigu maksumuse ...

=item B<-->[B<no->]B<xlate-progress> (Default: True)

Vaata tõlketulemust reaalajas STDERR-väljundis. Andmepakett C<From> kuvatakse edastatuna, pärast anonüümimist ja maskeerimist.

=item B<--xlate-review>

Ühe-ühele muudetud ploki puhul näidatakse vanas ja uues allikas väikseimat järjestikust muudetud lõiku, millele järgneb vastav lõik vanas ja uues tõlkes. Aruanne kirjutatakse STDERR-i, see ei tee täiendavaid API-kõnesid ning jäetakse väl...

=item B<--xlate-stripe>

Kasutage L<App::Greple::stripe> moodulit, et näidata sobitatud osa sebratriibu moodi. See on kasulik siis, kui sobitatud osad on omavahel ühendatud.

Värvipalett vahetatakse vastavalt terminali taustavärvile. Kui soovite seda selgesõnaliselt määrata, võite kasutada B<--xlate-stripe-light> või B<--xlate-stripe-dark>.

=item B<--xlate-mask>

Sooritage maskeerimisfunktsioon ja kuvage teisendatud tekst sellisena, nagu see on, ilma taastamiseta.

=item B<--match-all>

Määrake kogu faili tekst sihtkohaks.



( run in 1.922 second using v1.01-cache-2.11-cpan-aadc1410aed )