App-Greple-xlate

 view release on metacpan or  search on metacpan

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

# NAME

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

# SYNOPSIS

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

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

# VERSION

Version 2.02

# DESCRIPTION

**Greple** **xlate** mooduliga leidke soovitud tekstilõigud ja asendage need tõlgitud tekstiga. Peamine mootor on GPT-5.6 Terra (`llm/gpt5.pm`), mis kasutab käsku [llm](https://llm.datasette.io/); lisaks on kaasatud ka DeepL (`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 **greple** koos moodulitega `--xlate-engine gpt5` ja `perl` järgmiselt:

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

Selles käsus tähendab musterjada `^([\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 **--all** kasutatakse kogu teksti koostamiseks.

<div>
    <p>
    <img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/select-area.png">
    </p>
</div>

Seejärel lisage valitud ala tõlkimiseks valik `--xlate`. Seejärel leiab süsteem soovitud lõigud ja asendab need tõlkemootori väljundiga.

Vaikimisi trükitakse algne ja tõlgitud tekst [git(1)](http://man.he.net/man1/git)-ga ühilduvas "konfliktimärkide" formaadis. Kasutades `ifdef` formaati, saab soovitud osa hõlpsasti kätte käsuga [unifdef(1)](http://man.he.net/man1/unifdef). Vä...

<div>
    <p>
    <img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/format-conflict.png">
    </p>
</div>

Kui soovite tõlkida kogu teksti, kasutage valikut **--match-all**. See on otsetee, et määrata muster `(?s).+`, mis vastab kogu tekstile.

Konfliktimärkide formaadis andmeid saab vaadata kõrvuti, kasutades käsku [sdif](https://metacpan.org/pod/App%3A%3Asdif) koos valikuga `-V`. Kuna stringide kaupa pole mõtet võrrelda, on soovitatav kasutada `--no-cdif` valikut. Kui teil ei ole vaj...

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

<div>
    <p>
    <img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/sdif-cm-view.png">
    </p>
</div>

# 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:

- Eemaldatakse valge tühik iga rea alguses ja lõpus.
- Kui rida lõpeb täies laiuses kirjavahemärgiga, ühendage see järgmise reaga.
- Kui rida lõpeb täies laiuses märgiga ja järgmine rida algab täies laiuses märgiga, ühendatakse read.
- Kui rea lõpp või algus ei ole täies laiuses märk, ühendage need, lisades tühiku.

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,...

# 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 `MASKPATTERN` iga rida regulaarse väljendina, tõlgib sellega sobivad stringid ja taastab pärast töötlemist. Ridadega, mis algavad `#`, ei arvestata.

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

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

Mask-asendusmärgid on korrektselt vormistatud isesulguvad XML-märgid, nagu näiteks `<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 sule...

Maskimine kaitseb märgistust tõlkimise eest. Tundlike stringide varjamiseks tõlketeenuse enda eest vaadake ["ANONYMIZATION AND TEMPLATES"](#anonymization-and-templates); mõlemat saab kasutada koos.

See liides on eksperimentaalne ja võib tulevikus muutuda.

# 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 (**--xlate-anonymize**), dokumendis endas olevad sisseehitatud märgid (**--xlate-anonymi...

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

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

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

    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'

# OPTIONS

- **--xlate**
- **--xlate-color**
- **--xlate-fold**
- **--xlate-fold-width**=_n_ (Default: 70)

    Käivitage tõlkimisprotsess iga sobitatud ala jaoks.

    Ilma selle valikuta käitub **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 [App::Greple::update](https://metacpan.org/pod/App%3A%3AGreple%3A%3Aupdate) kasutamist.

    Valik **--xlate** kutsub **--xlate-color** valiku **--color=never** valikul.

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

- **--xlate-engine**=_engine_

    Määrab kasutatava tõlkemootori.

    Praegu on saadaval järgmised mootorid

    - **gpt5**: gpt-5.6-terra (via the `llm` command)
    - **deepl**: DeepL API (via the `deepl` command)
    - **gpt3**: gpt-3.5-turbo (legacy, via the `gpty` command)
    - **gpt4o**: gpt-4o-mini (legacy, via the `gpty` command)

    Mootorimooduleid otsitakse esmalt tagapõhja nimeruumi alt (`llm`, seejärel `gpty`), seejärel otse `App::Greple::xlate` all. Seega laadib `gpt5` sisse `App::Greple::xlate::llm::gpt5`, mis kutsub välja käsu `llm`, samas kui `gpt4o` kasutab tag...

- **--xlate-labor**

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

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

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

    - **ifdef**

        Algne ja teisendatud tekst trükitakse [cpp(1)](http://man.he.net/man1/cpp) `#ifdef` formaadis.

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

        Saate ainult jaapani teksti taastada käsuga **unifdef**:

            unifdef -UORIGINAL -DJA foo.ja.pm

    - **space**
    - **space+**

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

    - **xtxt**

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

- **--xlate-maxlen**=_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 (**--xlate**) 128K ja lõikelauale (**--xlate-labor**) 5000. Kui kasutate Pro-tee...

- **--xlate-maxline**=_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 `--xlate-maxlen`.

- **--xlate-prompt**=_text_

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

- **--xlate-context**=_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.

- **--xlate-context-window**=_n_

    (Context-aware engines only, e.g. `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)...

- **--xlate-cache-seed**=_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 muu...

- **--xlate-anonymize**=_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 (`category pattern`,  regulaaravaldise `/.../`jaoks). Iga element asendatakse kategooriamärgiga, näiteks `<person id="1" />`; sama string saab alati sama märgi, nii et mudel saab jälgida, kes on kes. Tundmatuid JSON-...

    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.

- **--xlate-anonymize-mark**\[=_regex_\]

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

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

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

- **--xlate-template**\[=_regex_\]

    Käsitle malliväljendeid (vaikimisi: Jinja2 `{{ ... }}`, `{% ... %}`, `{# ... #}`) 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 `--xlate-template=` (koos lõpus oleva `=`-ga), kui kasutate vaikimisi märgistust.

- **--xlate-frontmatter**

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

    Jäta alati tühirida sulgevate `---` 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äärtuse...

- **--xlate-glossary**=_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.

- **--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 maksum...

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

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

- **--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 ...

- **--xlate-stripe**

    Kasutage [App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe) 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 **--xlate-stripe-light** või **--xlate-stripe-dark**.

- **--xlate-mask**

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

- **--match-all**

    Määrake kogu faili tekst sihtkohaks.



( run in 0.699 second using v1.01-cache-2.11-cpan-800906f7e73 )