App-Greple-xlate
view release on metacpan or search on metacpan
i18n/src/xlate.deepl-ZH.pod view on Meta::CPAN
ä½ å¯ä»¥éè¿B<unifdef>å½ä»¤åªæ£ç´¢æ¥æææ¬ã
unifdef -UORIGINAL -DJA foo.ja.pm
=item B<space>
=item B<space+>
åå§ææ¬å转æ¢åçææ¬å¨æå°æ¶ä»¥åè¡ç©ºè¡éå¼ãå¯¹äº C<space+>ï¼å®è¿ä¼å¨è½¬æ¢åçææ¬åè¾åºä¸ä¸ªæ¢è¡ç¬¦ã
=item B<xtxt>
å¦ææ ¼å¼æ¯C<xtxt>ï¼ç¿»è¯ææ¬ï¼æä¸ç¥éï¼ååªæå°ç¿»è¯ææ¬ã
=back
=item B<--xlate-maxlen>=I<chars> (Default: 0)
æå®ä¸æ¬¡åéè³ API çææ¬æå¤§é¿åº¦ã é»è®¤å¼ 0 è¡¨ç¤ºå¼æèªèº«çéå¶ï¼å¯¹äº DeepL å
è´¹è´¦æ·æå¡ï¼APIï¼B<--xlate>ï¼çéå¶ä¸º 128Kï¼åªè´´æ¿æ¥å£ï¼B<--xlate-labor>ï¼çéå¶ä¸º 5000ã 妿æ¨ä½¿ç¨çæ¯ Pro ...
=item B<--xlate-maxline>=I<n> (Default: 0)
æå®ä¸æ¬¡åéå° API çæå¤§ææ¬è¡æ°ã
妿æ³ä¸æ¬¡ç¿»è¯ä¸è¡ï¼åå°è¯¥å¼è®¾ä¸º 1ã该é项ä¼å
äº C<--xlate-maxlen> é项ã
=item B<--xlate-prompt>=I<text>
æå®è¦åéç»ç¿»è¯å¼æçèªå®ä¹æç¤ºè¯ãæ¤é项éç¨äº LLM 弿ï¼C<gpt3>ãC<gpt4o>ãC<gpt5>ï¼ï¼ä½ä¸éç¨äº DeepLã æ¨å¯ä»¥éè¿å AI 模åæä¾å
·ä½æä»¤æ¥èªå®ä¹ç¿»è¯è¡ä¸ºã妿æç¤ºè¯ä¸å
å« C<%s>ï¼...
=item B<--xlate-context>=I<text>
æå®è¦åéç»ç¿»è¯å¼æçå
¶ä»ä¸ä¸æä¿¡æ¯ãæ¤é项å¯å¤æ¬¡ä½¿ç¨ï¼ä»¥æä¾å¤ä¸ªä¸ä¸æå符串ãä¸ä¸æä¿¡æ¯æå©äºç¿»è¯å¼æçè§£èæ¯å¹¶çææ´åç¡®çç¿»è¯ã
=item B<--xlate-context-window>=I<n>
(Context-aware engines only, e.g. C<gpt5> on the llm backend)
å¨éæ°ç¿»è¯å·²ä¿®æ¹çåæ¶ï¼ä½ä¸ºåèä¸ä¸æä¼ éçå¨å´å·²ç¿»è¯åçæ°éï¼é»è®¤å¼ä¸º 2ï¼ã该ä¸ä¸æè¿å
æ¬å·²ä¿®æ¹åºåå¨å´çåå§æºææ¬ï¼æ é¢ãåè¡¨ç»æã徿³¨ï¼ï¼ä»¥åï¼å¦æï¼ä»ç¼å䏿¢å¤...
=item B<--xlate-cache-seed>=I<file>
ä»å¦ä¸ä¸ªææ¡£çç¼åæä»¶åå§åæ°ææ¡£çç¼åãè¿å¯¹äºå®ææ¥åé常æç¨ï¼ä½¿ç¨ä¸ä¸ææ¥åçç¼åä½ä¸ºæ°ææ¥åç¼åçåå§å¼ï¼è¿æ ·æªæ´æ¹ç段è½å°±ä¸ä¼è¢«éæ°ç¿»è¯ï¼èç¼è¾è¿ç段è½åä¼ä¿ç...
=item B<--xlate-anonymize>=I<file>
å¨å°ææå符串åéè³ç¿»è¯ API ä¹å对å
¶è¿è¡å¿ååå¤çï¼å¹¶å¨è¾åºä¸æ¢å¤å
¶åå§å
容ãè¯å
¸æä»¶ä¸ºæ¯ä¸ªé¡¹ç®æä¾ä¸æ¡æ¡ç®ï¼ä»¥ JSON æ ¼å¼ï¼è§èçãå¯ç±æºå¨çæï¼
[ { "category": "person", "text": "å±±ç°å¤ªé" },
{ "category": "company", "regex": "ã¢ã¯ã¡(æ ªå¼ä¼ç¤¾)?" } ]
æä»¥ç®åè¡æ ¼å¼ï¼C<category pattern>ï¼C</.../> ç¨äºæ£å表达å¼ï¼ã æ¯ä¸ªé¡¹ç®é½è¢«æ¿æ¢ä¸ºç±»å«æ ç¾ï¼ä¾å¦ C<< <person id=1 /> >>ï¼ç¸åçå符串å§ç»è·å¾ç¸åçæ ç¾ï¼å æ¤æ¨¡åå¯ä»¥è¿½è¸ªâè°æ¯è°âãæª...
è¯å
¸å¯ç±å¤é¨å·¥å
·çæââä¾å¦ç¨äºæåææå®ä½çæ¬å°æ¨¡åï¼
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 ...
æä»¶ä¸å
许åå¨ UTF-8 BOMãå置信æ¯è¡æ ¼å¼çå¼ä»
å¯å¨åç¬ä¸è¡æ«å°¾å¸¦æå°¾æ³¨ï¼ä¸å¯ç´§è·å¨å¼ä¹åã
=item B<--xlate-anonymize-mark>[=I<regex>]
ä»ææ¡£æ¬èº«çå
èæ è®°ä¸æ¶éå¿ååæ¡ç®ã å°é¦æ¬¡åºç°çä½ç½®æ 记为 C<{{ person("å±±ç°å¤ªé") }}>ï¼è¯¥åç¬¦ä¸²å¨æ´ä¸ªææ¡£ä¸çææåºç°ä½ç½®åä¼è¢«å¿ååãæ è®°æ¬èº«ä¼ä¿ç卿ºææ¡£åè¯æä¸ï¼å æ...
请注æï¼å¯¹äºæ¤ç±»å¯éå¼çé项ï¼åç»çæä»¶åæ°å°è¢«è§ä¸ºè¯¥å¼ï¼å¨ä½¿ç¨é»è®¤è¡¨ç¤ºæ³æ¶ï¼åºå为 C<--xlate-anonymize-mark=>ï¼æ«å°¾è·ä¸ä¸ª C<=>ï¼ã
å¯ä»¥é
ç½®å
¶ä»è¡¨ç¤ºæ³ï¼ä¾å¦ C<< --xlate-anonymize-mark='@@(?<category>[a-z][a-z0-9_]*):(?<text>[^\n]+?)@@' >> ç¨äº C<@@person:NAME@@> 飿 ¼çæ è®°ï¼æè
ä¸ç§å¨æ¸²æåç Markdown ä¸ä¸å¯è§ç HTML 注éå½¢å¼ã æ è®°è§åæ...
=item B<--xlate-template>[=I<regex>]
å°æ¨¡æ¿è¡¨è¾¾å¼ï¼é»è®¤ï¼Jinja2 C<{{ ... }}>ãC<{% ... %}>ãC<{# ... #}>ï¼è§ä¸ºä¸éæå ä½ç¬¦ï¼æç¤ºæ¨¡åå°å
¶åæ ·å¤å¶ï¼å¹¶æåéªè¯ååºä¸æ¯å¦å
å«å®å
¨ç¸åç表达å¼ï¼ä¸æ¯ä¸ªè¡¨è¾¾å¼åºç°ç次æ°å®å
¨ä¸è´...
请注æï¼å¯¹äºæ¤ç±»å¯éå¼é项ï¼åç»çæä»¶åæ°å°è¢«è§ä¸ºè¯¥å¼ï¼å¨ä½¿ç¨é»è®¤è¡¨ç¤ºæ³æ¶ï¼åºå为 C<--xlate-template=>ï¼æ«å°¾è· C<=>ï¼ã
=item B<--xlate-frontmatter>
å°å¼å¤´ç C<---> ... C<---> åè§ä¸º YAML å置信æ¯ï¼å°å
¶æé¤å¨ç¿»è¯å第äºé¶æ®µä¸ä¸æåçä¹å¤ï¼å¹¶å°å
¶ä¸å¹³éºç C<key: value> 弿·»å å°å¿ååè§åï¼ç±»å« C<var>ï¼ä¸ä½ä¸ºå®å
¨ä¿éã å½åå¨å¤ä¸ªè¾å
¥æ...
å¨éåç C<---> ä¹åå§ç»çåºä¸è¡ç©ºè¡ãè¥éç¨æ®µè½é£æ ¼çå¹é
模å¼ï¼ç´æ¥ä¸æ£æç¸è¿çå置信æ¯å°å½¢æä¸ä¸ªè·¨æ®µåï¼è¯¥åæ æ³è¢«æé¤è§åæå¶ï¼æ¤æ¶ä¼è¾åºè¦åï¼ï¼ è¿äºå¼ä»ä¼è¢«å¿ååï¼ä...
=item B<--xlate-glossary>=I<glossary>
æå®ç¨äºç¿»è¯çè¯æ±è¡¨ IDã该é项ä»
å¨ä½¿ç¨ DeepL 弿æ¶å¯ç¨ãè¯æ±è¡¨ ID åºä»æ¨ç DeepL è´¦æ·è·åï¼å¯ç¡®ä¿ç¹å®æ¯è¯ç¿»è¯çä¸è´æ§ã
=item B<--xlate-dryrun>
请å¿è°ç¨ç¿»è¯ APIï¼èæ¯éè¿è¿åº¦æ¾ç¤ºï¼å°æ¯ä¸ªææè½½è·ï¼ç»è¿å¿åååé®è½å¤çåï¼ä»¥å®é
ä¼ è¾æ¶çåæ ·å±ç¤ºãè¿æå©äºæ£æ¥ç³»ç»è¾åºçå
容ï¼å¹¶ä¼°ç®æ¯æ¬¡è¿è¡çææ¬ã
=item B<-->[B<no->]B<xlate-progress> (Default: True)
å¯å¨ STDERR è¾åºä¸å®æ¶æ¥çç¿»è¯ç»æãC<From> ææè´è½½ä»¥ä¼ è¾æ¶ç形弿¾ç¤ºï¼å³ç»è¿å¿åååå±è½å¤çåçç¶æã
=item B<--xlate-stripe>
ä½¿ç¨ L<App::Greple::stripe> 模å以æé©¬çº¿æ¹å¼æ¾ç¤ºå¹é
é¨åãå½å¹é
é¨åèé èè¿æ¥æ¶ï¼è¿ç§æ¹å¼é常æç¨ã
è°è²æ¿ä¼æ ¹æ®ç»ç«¯çèæ¯é¢è²è¿è¡åæ¢ãå¦æè¦æç¡®æå®ï¼å¯ä»¥ä½¿ç¨ B<--xlate-stripe-light> æ B<--xlate-stripe-dark>ã
=item B<--xlate-mask>
æ§è¡å±è½åè½å¹¶æ¾ç¤ºè½¬æ¢åçææ¬ï¼æ éè¿åã
=item B<--match-all>
å°æä»¶çæ´ä¸ªææ¬è®¾ç½®ä¸ºç®æ åºåã
=item B<--lineify-cm>
=item B<--lineify-colon>
å¯¹äº C<cm> å C<colon> æ ¼å¼ï¼è¾åºæ¯éè¡åå²åæ ¼å¼åçãå æ¤ï¼å¦æåªç¿»è¯ä¸è¡çä¸é¨åï¼å°±æ æ³è·å¾é¢æçç»æãè¿äºè¿æ»¤å¨å¯ä»¥ä¿®å¤å°ä¸è¡çé¨åå
å®¹ç¿»è¯ææ£å¸¸çéè¡è¾åºèæåçè¾å...
å¨å½åçå®ç°ä¸ï¼å¦æä¸è¡çå¤ä¸ªé¨å被翻è¯ï¼å®ä»¬å°ä½ä¸ºç¬ç«çè¡è¾åºã
=back
=head1 CACHE OPTIONS
B<xlate>模åå¯ä»¥å卿¯ä¸ªæä»¶çç¿»è¯ç¼åææ¬ï¼å¹¶å¨æ§è¡å读åå®ï¼ä»¥æ¶é¤åæå¡å¨è¯·æ±çå¼éãå¨é»è®¤çç¼åçç¥C<auto>ä¸ï¼å®åªå¨ç®æ æä»¶çç¼åæä»¶å卿¶æç»´æ¤ç¼åæ°æ®ã
( run in 1.046 second using v1.01-cache-2.11-cpan-2c0d6866c4f )