App-Greple-xlate
view release on metacpan or search on metacpan
i18n/src/xlate.gpt5-RO.pod view on Meta::CPAN
pandoc-embedz --standalone report-template.EN.md \
-c case-123.yaml -o report-123.EN.md < /dev/null
Pentru marcaje inline, furnizarea unei configuraÈii de definiÈie a macrocomenzilor face ca acelaÈi Èablon tradus sÄ redea fie numele reale, fie o versiune redactatÄ:
# macros.yaml # macros-redacted.yaml
preamble: | preamble: |
{% macro person(name) %}{{ name }}{% endmacro %}
{% macro person(name) %}(é¢ä¿è
){% endmacro %}
ExcludeÈi blocurile embedz de la traducere atunci când un document le conÈine:
--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)
PorneÈte procesul de traducere pentru fiecare zonÄ potrivitÄ.
FÄrÄ aceastÄ opÈiune, B<greple> se comportÄ ca o comandÄ de cÄutare normalÄ. Astfel puteÈi verifica ce parte a fiÈierului va face obiectul traducerii înainte de a porni munca efectivÄ.
Rezultatul comenzii merge la ieÈirea standard, deci redirecÈionaÈi cÄtre fiÈier dacÄ este necesar sau luaÈi în considerare folosirea modulului L<App::Greple::update>.
OpÈiunea B<--xlate> apeleazÄ opÈiunea B<--xlate-color> cu opÈiunea B<--color=never>.
Cu opÈiunea B<--xlate-fold>, textul convertit este împÄrÈit la lÄÈimea specificatÄ. LÄÈimea implicitÄ este 70 Èi poate fi setatÄ prin opÈiunea B<--xlate-fold-width>. Patru coloane sunt rezervate pentru operaÈia run-in, astfel încât fi...
=item B<--xlate-engine>=I<engine>
SpecificÄ motorul de traducere care va fi utilizat.
Ãn acest moment, sunt disponibile urmÄtoarele motoare
=over 2
=item * B<gpt5>: gpt-5.6-terra (via the C<llm> command)
=item * B<deepl>: DeepL API (via the C<deepl> command)
=item * B<gpt3>: gpt-3.5-turbo (legacy, via the C<gpty> command)
=item * B<gpt4o>: gpt-4o-mini (legacy, via the C<gpty> command)
=back
Modulele de motor sunt cÄutate mai întâi în spaÈiile de nume backend (C<llm>, apoi C<gpty>), apoi direct sub C<App::Greple::xlate>. Astfel, C<gpt5> încarcÄ C<App::Greple::xlate::llm::gpt5>, care apeleazÄ comanda C<llm>, în timp ce C<gpt4o> r...
=item B<--xlate-labor>
=item B<--xlabor>
Ãn loc sÄ apelaÈi motorul de traducere, se aÈteaptÄ sÄ lucraÈi manual. DupÄ pregÄtirea textului de tradus, acesta este copiat în clipboard. Se aÈteaptÄ sÄ Ã®l lipiÈi în formular, sÄ copiaÈi rezultatul în clipboard Èi sÄ apÄsaÈi ...
=item B<--xlate-to> (Default: C<EN-US>)
SpecificaÈi limba ÈintÄ. Motoarele LLM acceptÄ orice nume de limbÄ sau cod pe care modelul îl înÈelege; acesta este interpolat în promptul de traducere. PuteÈi obÈine limbile disponibile cu comanda C<deepl languages> când folosiÈi motoru...
=item B<--xlate-from> (Default: C<ORIGINAL>)
EtichetÄ utilizatÄ pentru textul original în formatele de ieÈire C<conflict>, C<colon> Èi C<ifdef>. Cu motorul B<DeepL>, o valoare diferitÄ de cea implicitÄ este transmisÄ Èi ca limbÄ sursÄ.
=item B<--xlate-format>=I<format> (Default: C<conflict>)
SpecificaÈi formatul de ieÈire pentru textul original Èi tradus.
UrmÄtoarele formate, altele decât C<xtxt>, presupun cÄ partea de tradus este o colecÈie de linii. De fapt, este posibil sÄ traduceÈi doar o porÈiune a unei linii, dar specificarea unui format diferit de C<xtxt> nu va produce rezultate semnific...
=over 4
=item B<conflict>, B<cm>
Textul original Èi cel convertit sunt tipÄrite în formatul marcatorilor de conflict L<git(1)>.
<<<<<<< ORIGINAL
original text
=======
translated Japanese text
>>>>>>> JA
PuteÈi recupera fiÈierul original cu urmÄtoarea comandÄ L<sed(1)>.
sed -e '/^<<<<<<< /d' -e '/^=======$/,/^>>>>>>> /d'
=item B<colon>, I<:::::::>
Textul original Èi cel tradus sunt afiÈate într-un stil de container personalizat pentru markdown.
::::::: ORIGINAL
original text
:::::::
::::::: JA
translated Japanese text
:::::::
Textul de mai sus va fi tradus în urmÄtorul format HTML.
<div class="ORIGINAL">
original text
</div>
<div class="JA">
translated Japanese text
</div>
NumÄrul de douÄ puncte este 7 în mod implicit. DacÄ specificaÈi o secvenÈÄ de douÄ puncte precum C<:::::>, aceasta este folositÄ Ã®n locul celor 7 douÄ puncte.
=item B<ifdef>
Textul original Èi cel convertit sunt tipÄrite în formatul L<cpp(1)> C<#ifdef>.
#ifdef ORIGINAL
original text
#endif
#ifdef JA
translated Japanese text
#endif
PuteÈi prelua doar textul japonez cu comanda B<unifdef>:
unifdef -UORIGINAL -DJA foo.ja.pm
=item B<space>
=item B<space+>
Textul original Èi cel convertit sunt tipÄrite separate de o linie goalÄ. Pentru C<space+>, se afiÈeazÄ Èi un rând nou dupÄ textul convertit.
=item B<xtxt>
DacÄ formatul este C<xtxt> (text tradus) sau necunoscut, se tipÄreÈte doar textul tradus.
=back
=item B<--xlate-maxlen>=I<chars> (Default: 0)
SpecificaÈi lungimea maximÄ a textului care va fi trimis la API dintr-o singurÄ datÄ. Valoarea implicitÄ 0 înseamnÄ limita proprie a motorului: pentru serviciul contului DeepL gratuit, aceasta este 128K pentru API (B<--xlate>) Èi 5000 pentru ...
=item B<--xlate-maxline>=I<n> (Default: 0)
SpecificaÈi numÄrul maxim de linii de text care vor fi trimise la API dintr-o singurÄ datÄ.
SetaÈi aceastÄ valoare la 1 dacÄ doriÈi sÄ traduceÈi câte o linie pe rând. AceastÄ opÈiune are prioritate faÈÄ de opÈiunea C<--xlate-maxlen>.
=item B<--xlate-prompt>=I<text>
SpecificaÈi un prompt personalizat care sÄ fie trimis motorului de traducere. AceastÄ opÈiune este disponibilÄ pentru motoarele LLM (C<gpt3>, C<gpt4o>, C<gpt5>), dar nu pentru DeepL. PuteÈi personaliza comportamentul traducerii furnizând instr...
=item B<--xlate-context>=I<text>
SpecificaÈi informaÈii contextuale suplimentare care sÄ fie trimise motorului de traducere. AceastÄ opÈiune poate fi utilizatÄ de mai multe ori pentru a furniza multiple Èiruri de context. InformaÈiile de context ajutÄ motorul de traducere s...
=item B<--xlate-context-window>=I<n>
(Context-aware engines only, e.g. C<gpt5> on the llm backend)
NumÄrul de blocuri traduse înconjurÄtoare transmise ca context de referinÈÄ la retraducerea blocurilor modificate (implicit 2). Contextul include Èi textul sursÄ brut din jurul regiunii modificate (titluri, structura listelor, legende) Èi, cÃ...
=item B<--xlate-cache-seed>=I<file>
IniÈializaÈi cache-ul unui document nou din fiÈierul cache al altui document. Util pentru rapoarte periodice: iniÈializaÈi cache-ul noului numÄr cu cel al numÄrului anterior, astfel încât paragrafele neschimbate sÄ nu fie retraduse Èi para...
=item B<--xlate-anonymize>=I<file>
AnonimizaÈi Èirurile sensibile înainte ca acestea sÄ fie trimise cÄtre API-ul de traducere Èi restauraÈi-le în ieÈire. FiÈierul dicÈionar oferÄ câte o intrare pentru fiecare element: în JSON (canonic, generabil de maÈinÄ)
[ { "category": "person", "text": "å±±ç°å¤ªé" },
{ "category": "company", "regex": "ã¢ã¯ã¡(æ ªå¼ä¼ç¤¾)?" } ]
sau într-un format simplu pe linii (C<category pattern>, C</.../> pentru regex). Fiecare element este înlocuit cu o etichetÄ de categorie precum C<< <person id="1" /> >>; acelaÈi Èir primeÈte întotdeauna aceeaÈi etichetÄ, astfel încât mode...
Un dicÈionar poate fi generat de un instrument extern -- de exemplu un model local care extrage entitÄÈi sensibile:
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 ...
Un BOM UTF-8 în fiÈier este tolerat. Valorile din formatul de linie front matter pot avea un comentariu final numai pe propria lor linie, nu dupÄ valoare.
=item B<--xlate-anonymize-mark>[=I<regex>]
ColectaÈi intrÄri de anonimizare din marcaje inline în documentul însuÈi. MarcaÈi prima apariÈie ca C<{{ person("å±±ç°å¤ªé") }}> Èi fiecare apariÈie a Èirului în întregul document este anonimizatÄ. Marcajul însuÈi rÄmâne în sursÄ...
ReÈineÈi cÄ, pentru o opÈiune cu valoare opÈionalÄ ca aceasta, un argument de fiÈier urmÄtor ar fi luat drept valoare: scrieÈi C<--xlate-anonymize-mark=> (cu un C<=> final) când folosiÈi notaÈia implicitÄ.
NotaÈii alternative pot fi configurate, de exemplu C<< --xlate-anonymize-mark='@@(?<category>[a-z][a-z0-9_]*):(?<text>[^\n]+?)@@' >> pentru marcaje în stil C<@@person:NAME@@>, sau o formÄ de comentariu HTML care rÄmâne invizibilÄ Ã®n Markdown r...
=item B<--xlate-template>[=I<regex>]
TrataÈi expresiile de Èablon (implicit: Jinja2 C<{{ ... }}>, C<{% ... %}>, C<{# ... #}>) ca substituenÈi opaci: instruiÈi modelul sÄ le copieze neschimbate Èi verificaÈi, pentru fiecare bloc, cÄ rÄspunsul conÈine exact aceleaÈi expresii, f...
ReÈineÈi cÄ, în cazul unei opÈiuni cu valoare opÈionalÄ ca aceasta, un argument de fiÈier care urmeazÄ ar fi luat drept valoare: scrieÈi C<--xlate-template=> (cu un C<=> la sfârÈit) când utilizaÈi notaÈia implicitÄ.
=item B<--xlate-frontmatter>
TrataÈi un bloc iniÈial C<---> ... C<---> ca front matter YAML: excludeÈi-l de la traducere Èi din feliile de context din faza 2 Èi adÄugaÈi valorile sale plate C<key: value> la regulile de anonimizare (categoria C<var>) ca plasÄ de siguranÈ...
( run in 3.146 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )