App-Greple-xlate
view release on metacpan or search on metacpan
README.gpt5-ZH.md view on Meta::CPAN
å¯ä»¥éè¿ä¸ä¸æ¡ [sed(1)](http://man.he.net/man1/sed) å½ä»¤æ¢å¤åå§æä»¶ã
sed -e '/^<<<<<<< /d' -e '/^=======$/,/^>>>>>>> /d'
- **colon**, _:::::::_
åæä¸è¯æä»¥ Markdown çèªå®ä¹å®¹å¨æ ·å¼è¾åºã
::::::: ORIGINAL
original text
:::::::
::::::: JA
translated Japanese text
:::::::
ä¸è¿°ææ¬å¨ HTML ä¸ä¼è¢«è½¬æ¢ä¸ºå¦ä¸å½¢å¼ã
<div class="ORIGINAL">
original text
</div>
<div class="JA">
translated Japanese text
</div>
åå·æ°éé»è®¤æ¯ 7ã妿æå®äºç±»ä¼¼ `:::::` çåå·åºåï¼å使ç¨è¯¥åºåæ¿ä»£ 7 个åå·ã
- **ifdef**
åæä¸è½¬æ¢åçææ¬ä»¥ [cpp(1)](http://man.he.net/man1/cpp) `#ifdef` æ ¼å¼è¾åºã
#ifdef ORIGINAL
original text
#endif
#ifdef JA
translated Japanese text
#endif
ä½ å¯ä»¥éè¿ **unifdef** å½ä»¤ä»
æåæ¥æææ¬ï¼
unifdef -UORIGINAL -DJA foo.ja.pm
- **space**
- **space+**
åæå转æ¢åçææ¬ä»¥ä¸ä¸ªç©ºè¡åéæå°ã对äº`space+`ï¼è¿ä¼å¨è½¬æ¢åçææ¬åè¾åºä¸ä¸ªæ¢è¡ç¬¦ã
- **xtxt**
å¦ææ ¼å¼æ¯`xtxt`ï¼è¯æï¼ææªç¥ï¼ååªæå°è¯æã
- **--xlate-maxlen**=_chars_ (Default: 0)
æå®ä¸æ¬¡åéå° API çææ¬æå¤§é¿åº¦ãé»è®¤å¼ 0 è¡¨ç¤ºå¼æèªèº«çéå¶ï¼å¯¹äº DeepL å
è´¹è´¦æ·æå¡ï¼API 为 128Kï¼**--xlate**ï¼ï¼åªè´´æ¿æ¥å£ä¸º 5000ï¼**--xlate-labor**ï¼ãå¦æä½¿ç¨ Pro æå¡ï¼æ¨å¯ä»¥æ´æ...
- **--xlate-maxline**=_n_ (Default: 0)
æå®ä¸æ¬¡åéå° API çææ¬æå¤§è¡æ°ã
妿叿éè¡ç¿»è¯ï¼å°æ¤å¼è®¾ä¸º 1ãæ¤é项ä¼å
äº`--xlate-maxlen`é项ã
- **--xlate-prompt**=_text_
æå®è¦åéç»ç¿»è¯å¼æçèªå®ä¹æç¤ºãæ¤é项éç¨äº LLM 弿ï¼`gpt3`ã`gpt4o`ã`gpt5`ï¼ï¼ä½ä¸éç¨äº DeepLãä½ å¯ä»¥éè¿å AI 模åæä¾ç¹å®æä»¤æ¥èªå®ä¹ç¿»è¯è¡ä¸ºã妿æç¤ºå
å« `%s`ï¼å®å°è¢«...
- **--xlate-context**=_text_
æå®è¦åéç»ç¿»è¯å¼æçéå ä¸ä¸æä¿¡æ¯ãæ¤é项å¯å¤æ¬¡ä½¿ç¨ä»¥æä¾å¤ä¸ªä¸ä¸æå符串ãä¸ä¸æä¿¡æ¯æå©äºç¿»è¯å¼æçè§£èæ¯å¹¶çææ´åç¡®çè¯æã
- **--xlate-context-window**=_n_
(Context-aware engines only, e.g. `gpt5` on the llm backend)
éæ°ç¿»è¯å·²æ´æ¹çåæ¶ï¼ä½ä¸ºåèä¸ä¸æä¼ éçå¨è¾¹å·²ç¿»è¯åæ°éï¼é»è®¤ 2ï¼ãä¸ä¸æè¿å
æ¬æ´æ¹åºåå¨å´çåå§æºææ¬ï¼æ é¢ãåè¡¨ç»æã徿³¨ï¼ï¼ä»¥åå¨å¯ç¨æ¶ä»ç¼å䏿¢å¤çæ´æ¹ææ...
- **--xlate-cache-seed**=_file_
ä»å¦ä¸ä¸ªææ¡£çç¼åæä»¶åå§åæ°ææ¡£çç¼åãéç¨äºå¨ææ§æ¥åï¼ç¨ä¸ä¸æçç¼å为æ°ä¸æçç¼ååç§åï¼è¿æ ·æªæ´æ¹ç段è½å°±ä¸ä¼è¢«éæ°ç¿»è¯ï¼å·²ç¼è¾ç段è½ä¹ä¼ä¿çä¸ä¸æçæªè¾ã...
- **--xlate-anonymize**=_file_
卿æå符串åéå°ç¿»è¯ API ä¹åå°å
¶å¿ååï¼å¹¶å¨è¾åºä¸æ¢å¤ãåå
¸æä»¶ä¸ºæ¯ä¸ªé¡¹ç®æä¾ä¸ä¸ªæ¡ç®ï¼éç¨ JSONï¼è§èçãå¯ç±æºå¨çæï¼
[ { "category": "person", "text": "å±±ç°å¤ªé" },
{ "category": "company", "regex": "ã¢ã¯ã¡(æ ªå¼ä¼ç¤¾)?" } ]
æéç¨ç®åè¡æ ¼å¼ï¼`category pattern`ï¼`/.../` ç¨äºæ£å表达å¼ï¼ãæ¯ä¸ªé¡¹ç®é½ä¼è¢«æ¿æ¢ä¸ºä¸ä¸ªç±»å«æ ç¾ï¼ä¾å¦ `<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 å¯ä»¥è¢«å®¹å¿ãfront matter è¡æ ¼å¼ä¸çå¼åªæå¨å
¶åç¬æè¡æ¶æå¯ä»¥å¸¦æå°¾é注éï¼ä¸è½å¨å¼å颿·»å ã
- **--xlate-anonymize-mark**\[=_regex_\]
ä»ææ¡£æ¬èº«çå
èæ è®°æ¶éå¿ååæ¡ç®ãå `{{ person("å±±ç°å¤ªé") }}` è¿æ ·æ è®°é¦æ¬¡åºç°å¤ï¼æ´ä¸ªææ¡£èå´å
该åç¬¦ä¸²çæ¯æ¬¡åºç°é½ä¼è¢«å¿ååãæ è®°æ¬èº«ä¼ä¿ç卿ºææ¬åè¯æä¸ï¼å æ¤ææ...
请注æï¼å¯¹äºè¿ç§å¸¦å¯éå¼çé项ï¼åç»çæä»¶åæ°ä¼è¢«å½ä½è¯¥å¼ï¼ä½¿ç¨é»è®¤è®°æ³æ¶ï¼è¯·åæ `--xlate-anonymize-mark=`ï¼å¸¦æå°¾éç `=`ï¼ã
å¯ä»¥é
ç½®æ¿ä»£è®°æ³ï¼ä¾å¦ç¨äº `@@person:NAME@@` 飿 ¼æ è®°ç `--xlate-anonymize-mark='@@(?<category>[a-z][a-z0-9_]*):(?<text>[^\n]+?)@@'`ï¼æå¨æ¸²æåç Markdown ä¸ä¿æä¸å¯è§ç HTML 注éå½¢å¼ãæ è®°è§åæææ¡£æ...
- **--xlate-template**\[=_regex_\]
å°æ¨¡æ¿è¡¨è¾¾å¼ï¼é»è®¤ï¼Jinja2 `{{ ... }}`ã`{% ... %}`ã`{# ... #}`ï¼è§ä¸ºä¸éæå ä½ç¬¦ï¼æç¤ºæ¨¡ååæ ·å¤å¶å®ä»¬ï¼å¹¶æåéªè¯ååºä¸å
å«å®å
¨ç¸åç表达å¼ï¼ä¸æ¯ä¸ªè¡¨è¾¾å¼åºç°æ¬¡æ°ç¸åãå®ä»¬çé¡...
请注æï¼å¯¹äºåè¿æ ·çå¯éå¼é项ï¼åé¢çæä»¶åæ°ä¼è¢«å½ä½è¯¥å¼ï¼ä½¿ç¨é»è®¤è®°æ³æ¶è¯·åæ `--xlate-template=`ï¼å¸¦æå°¾éç `=`ï¼ã
- **--xlate-frontmatter**
å°å¼å¤´ç `---` ... `---` åè§ä¸º YAML front matterï¼å°å
¶æé¤å¨ç¿»è¯ä»¥å第 2 é¶æ®µä¸ä¸æåçä¹å¤ï¼å¹¶å°å
¶æå¹³ç `key: value` 弿·»å å°å¿ååè§åï¼ç±»å« `var`ï¼ä¸ä½ä¸ºå®å
¨ç½ã对äºå¤ä¸ªè¾å
¥æä»¶ï¼...
å§ç»å¨ç»æç `---` ä¹åçä¸ä¸ªç©ºè¡ãä½¿ç¨æ®µè½æ ·å¼çå¹é
æ¨¡å¼æ¶ï¼ç´æ¥è¡æ¥å°æ£æææ¬ç front matter ä¼å½¢æä¸ä¸ªæ¨ªè·¨äºè
çåï¼æé¤æºå¶æ æ³æå¶å®ï¼å¨è¿ç§æ
åµä¸ä¼æå°è¦åï¼ï¼è¿äºå¼...
- **--xlate-glossary**=_glossary_
æå®ç¨äºç¿»è¯çæ¯è¯åºï¼glossaryï¼IDãæ¤é项ä»
å¨ä½¿ç¨ DeepL 弿æ¶å¯ç¨ãæ¯è¯åº ID åºä»æ¨ç DeepL è´¦æ·è·åï¼ä»¥ç¡®ä¿ç¹å®æ¯è¯çä¸è´ç¿»è¯ã
- **--xlate-dryrun**
( run in 0.498 second using v1.01-cache-2.11-cpan-ff9377addf4 )