App-Greple-xlate
view release on metacpan or search on metacpan
README.deepl-ZH.md view on Meta::CPAN
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ï¼**--xlate**ï¼çéå¶ä¸º 128Kï¼åªè´´æ¿æ¥å£ï¼**--xlate-labor**ï¼çéå¶ä¸º 5000ã 妿æ¨ä½¿ç¨çæ...
- **--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ãå置信æ¯è¡æ ¼å¼çå¼ä»
å¯å¨åç¬ä¸è¡æ«å°¾å¸¦æå°¾æ³¨ï¼ä¸å¯ç´§è·å¨å¼ä¹åã
- **--xlate-anonymize-mark**\[=_regex_\]
ä»ææ¡£æ¬èº«çå
èæ è®°ä¸æ¶éå¿ååæ¡ç®ã å°é¦æ¬¡åºç°çä½ç½®æ 记为 `{{ person("å±±ç°å¤ªé") }}`ï¼è¯¥åç¬¦ä¸²å¨æ´ä¸ªææ¡£ä¸çææåºç°ä½ç½®åä¼è¢«å¿ååãæ è®°æ¬èº«ä¼ä¿ç卿ºææ¡£åè¯æä¸ï¼å...
请注æï¼å¯¹äºæ¤ç±»å¯éå¼çé项ï¼åç»çæä»¶åæ°å°è¢«è§ä¸ºè¯¥å¼ï¼å¨ä½¿ç¨é»è®¤è¡¨ç¤ºæ³æ¶ï¼åºå为 `--xlate-anonymize-mark=`ï¼æ«å°¾è·ä¸ä¸ª `=`ï¼ã
å¯ä»¥é
ç½®å
¶ä»è¡¨ç¤ºæ³ï¼ä¾å¦ `--xlate-anonymize-mark='@@(?<category>[a-z][a-z0-9_]*):(?<text>[^\n]+?)@@'` ç¨äº `@@person:NAME@@` 飿 ¼çæ è®°ï¼æè
ä¸ç§å¨æ¸²æåç Markdown ä¸ä¸å¯è§ç HTML 注éå½¢å¼ã æ è®°è§åæ...
- **--xlate-template**\[=_regex_\]
å°æ¨¡æ¿è¡¨è¾¾å¼ï¼é»è®¤ï¼Jinja2 `{{ ... }}`ã`{% ... %}`ã`{# ... #}`ï¼è§ä¸ºä¸éæå ä½ç¬¦ï¼æç¤ºæ¨¡åå°å
¶åæ ·å¤å¶ï¼å¹¶æåéªè¯ååºä¸æ¯å¦å
å«å®å
¨ç¸åç表达å¼ï¼ä¸æ¯ä¸ªè¡¨è¾¾å¼åºç°ç次æ°å®å
¨ä¸è...
请注æï¼å¯¹äºæ¤ç±»å¯éå¼é项ï¼åç»çæä»¶åæ°å°è¢«è§ä¸ºè¯¥å¼ï¼å¨ä½¿ç¨é»è®¤è¡¨ç¤ºæ³æ¶ï¼åºå为 `--xlate-template=`ï¼æ«å°¾è· `=`ï¼ã
- **--xlate-frontmatter**
å°å¼å¤´ç `---` ... `---` åè§ä¸º YAML å置信æ¯ï¼å°å
¶æé¤å¨ç¿»è¯å第äºé¶æ®µä¸ä¸æåçä¹å¤ï¼å¹¶å°å
¶ä¸å¹³éºç `key: value` 弿·»å å°å¿ååè§åï¼ç±»å« `var`ï¼ä¸ä½ä¸ºå®å
¨ä¿éã å½åå¨å¤ä¸ªè¾å
¥æ...
å¨éåç `---` ä¹åå§ç»çåºä¸è¡ç©ºè¡ãè¥éç¨æ®µè½é£æ ¼çå¹é
模å¼ï¼ç´æ¥ä¸æ£æç¸è¿çå置信æ¯å°å½¢æä¸ä¸ªè·¨æ®µåï¼è¯¥åæ æ³è¢«æé¤è§åæå¶ï¼æ¤æ¶ä¼è¾åºè¦åï¼ï¼ è¿äºå¼ä»ä¼è¢«å¿ååï...
- **--xlate-glossary**=_glossary_
æå®ç¨äºç¿»è¯çè¯æ±è¡¨ IDã该é项ä»
å¨ä½¿ç¨ DeepL 弿æ¶å¯ç¨ãè¯æ±è¡¨ ID åºä»æ¨ç DeepL è´¦æ·è·åï¼å¯ç¡®ä¿ç¹å®æ¯è¯ç¿»è¯çä¸è´æ§ã
- **--xlate-dryrun**
请å¿è°ç¨ç¿»è¯ APIï¼èæ¯éè¿è¿åº¦æ¾ç¤ºï¼å°æ¯ä¸ªææè½½è·ï¼ç»è¿å¿åååé®è½å¤çåï¼ä»¥å®é
ä¼ è¾æ¶çåæ ·å±ç¤ºãè¿æå©äºæ£æ¥ç³»ç»è¾åºçå
容ï¼å¹¶ä¼°ç®æ¯æ¬¡è¿è¡çææ¬ã
- **--**\[**no-**\]**xlate-progress** (Default: True)
å¯å¨ STDERR è¾åºä¸å®æ¶æ¥çç¿»è¯ç»æã`From` ææè´è½½ä»¥ä¼ è¾æ¶ç形弿¾ç¤ºï¼å³ç»è¿å¿åååå±è½å¤çåçç¶æã
- **--xlate-stripe**
ä½¿ç¨ [App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe) 模å以æé©¬çº¿æ¹å¼æ¾ç¤ºå¹é
é¨åãå½å¹é
é¨åèé èè¿æ¥æ¶ï¼è¿ç§æ¹å¼é常æç¨ã
è°è²æ¿ä¼æ ¹æ®ç»ç«¯çèæ¯é¢è²è¿è¡åæ¢ãå¦æè¦æç¡®æå®ï¼å¯ä»¥ä½¿ç¨ **--xlate-stripe-light** æ **--xlate-stripe-dark**ã
- **--xlate-mask**
æ§è¡å±è½åè½å¹¶æ¾ç¤ºè½¬æ¢åçææ¬ï¼æ éè¿åã
- **--match-all**
å°æä»¶çæ´ä¸ªææ¬è®¾ç½®ä¸ºç®æ åºåã
- **--lineify-cm**
- **--lineify-colon**
å¯¹äº `cm` å `colon` æ ¼å¼ï¼è¾åºæ¯éè¡åå²åæ ¼å¼åçãå æ¤ï¼å¦æåªç¿»è¯ä¸è¡çä¸é¨åï¼å°±æ æ³è·å¾é¢æçç»æãè¿äºè¿æ»¤å¨å¯ä»¥ä¿®å¤å°ä¸è¡çé¨åå
å®¹ç¿»è¯ææ£å¸¸çéè¡è¾åºèæåçè¾...
å¨å½åçå®ç°ä¸ï¼å¦æä¸è¡çå¤ä¸ªé¨å被翻è¯ï¼å®ä»¬å°ä½ä¸ºç¬ç«çè¡è¾åºã
# CACHE OPTIONS
**xlate**模åå¯ä»¥å卿¯ä¸ªæä»¶çç¿»è¯ç¼åææ¬ï¼å¹¶å¨æ§è¡å读åå®ï¼ä»¥æ¶é¤åæå¡å¨è¯·æ±çå¼éãå¨é»è®¤çç¼åçç¥`auto`ä¸ï¼å®åªå¨ç®æ æä»¶çç¼åæä»¶å卿¶æç»´æ¤ç¼åæ°æ®ã
ä½¿ç¨ **--xlate-cache=clear** å¯å¨ç¼åç®¡çææ¸
çææç°æç¼åæ°æ®ã使ç¨è¯¥é项åï¼å¦æç¼åæä»¶ä¸åå¨ï¼å°±ä¼å建ä¸ä¸ªæ°çç¼åæä»¶ï¼ç¶åèªå¨ç»´æ¤ã
( run in 1.586 second using v1.01-cache-2.11-cpan-9581c071862 )