App-Greple-xlate
view release on metacpan or search on metacpan
i18n/src/xlate.deepl-ZH.pod view on Meta::CPAN
=item B<colon>, I<:::::::>
åæåè¯æä»¥ markdown çèªå®ä¹å®¹å¨æ ·å¼è¾åºã
::::::: ORIGINAL
original text
:::::::
::::::: JA
translated Japanese text
:::::::
以䏿æ¬å°å¨ HTML ä¸ç¿»è¯ä¸ºä»¥ä¸å
容ã
<div class="ORIGINAL">
original text
</div>
<div class="JA">
translated Japanese text
</div>
åå·æ°é»è®¤ä¸º 7ã妿æå®åå·åºåï¼å¦ C<:::::>ï¼åä¼ä½¿ç¨å®æ¥ä»£æ¿ 7 个åå·ã
=item B<ifdef>
åå§ææ¬å转æ¢åçææ¬ä»¥ L<cpp(1)> C<#ifdef> æ ¼å¼æå°ã
#ifdef ORIGINAL
original text
#endif
#ifdef JA
translated Japanese text
#endif
ä½ å¯ä»¥éè¿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>
( run in 1.178 second using v1.01-cache-2.11-cpan-302cb4679cc )