App-Greple-xlate
view release on metacpan or search on metacpan
README.gpt5-ZH.md view on Meta::CPAN
# NAME
App::Greple::xlate - greple çç¿»è¯æ¯ææ¨¡å
# SYNOPSIS
greple -Mxlate --xlate-engine gpt5 --xlate pattern target-file
greple -Mxlate --xlate-engine deepl --xlate pattern target-file
# VERSION
Version 2.02
# DESCRIPTION
**Greple** **xlate** æ¨¡åæ¥æ¾æéçææ¬åï¼å¹¶å°å
¶æ¿æ¢ä¸ºç¿»è¯åçææ¬ã主è¦å¼ææ¯ GPT-5.6 Terraï¼`llm/gpt5.pm`ï¼ï¼å®ä¼è°ç¨ [llm](https://llm.datasette.io/) å½ä»¤ï¼åæ¶è¿å
å« DeepLï¼`deepl.pm`ï¼ååºäºæ§ç...
ç¿»è¯ä¼ææä»¶ç¼åï¼å æ¤å¯¹æªæ´æ¹çææ¬éæ°è¿è¡å½ä»¤ä¸ä¼äº§ç任使æ¬ãå½ææ¡£è¢«ç¼è¾æ¶ï¼åªæå·²æ´æ¹ç段è½ä¼å次åéå° APIï¼ä¸ä¸ææç¥å¼æè¿ä¼æ¥æ¶å¨å´çç¿»è¯ãåæ´å¨è¾¹çåå§æºæ...
å¦æä½ æ³ç¿»è¯ä»¥ Perl ç pod 飿 ¼ç¼åçææ¡£ä¸çæ®éææ¬åï¼è¯·åè¿æ ·å° **greple** å½ä»¤ä¸ `--xlate-engine gpt5` å `perl` 模åä¸èµ·ä½¿ç¨ï¼
greple -Mxlate --xlate-engine gpt5 -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm
卿¤å½ä»¤ä¸ï¼æ¨¡å¼å符串 `^([\w\pP].*\n)+` è¡¨ç¤ºä»¥åæ¯æ°ååæ ç¹ç¬¦å·å¼å¤´çè¿ç»è¡ã该å½ä»¤ä¼é«äº®æ¾ç¤ºå°è¢«ç¿»è¯çåºåãé项 **--all** ç¨äºçæå®æ´ææ¬ã
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/select-area.png">
</p>
</div>
ç¶åæ·»å `--xlate` éé¡¹ä»¥ç¿»è¯æéåºåãæ¥çï¼å®ä¼æ¾å°æéçé¨åå¹¶å°å
¶æ¿æ¢ä¸ºç¿»è¯å¼æçè¾åºã
é»è®¤æ
åµä¸ï¼åæä¸è¯æä¼ä»¥ä¸ [git(1)](http://man.he.net/man1/git) å
¼å®¹çâå²çªæ è®°âæ ¼å¼æå°ãä½¿ç¨ `ifdef` æ ¼å¼ï¼ä½ å¯ä»¥è½»æ¾éè¿ [unifdef(1)](http://man.he.net/man1/unifdef) å½ä»¤è·åæéé¨åãè¾åºæ ¼å...
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/format-conflict.png">
</p>
</div>
å¦æä½ æ³ç¿»è¯æ´ç¯ææ¬ï¼ä½¿ç¨ **--match-all** é项ãè¿æ¯æå®å¹é
æ´ç¯ææ¬çæ¨¡å¼ `(?s).+` çå¿«æ·æ¹å¼ã
å²çªæ è®°æ ¼å¼çæ°æ®å¯ç¨ [sdif](https://metacpan.org/pod/App%3A%3Asdif) å½ä»¤é
å `-V` éé¡¹ä»¥å¹¶åæ ·å¼æ¥çãç±äºéå符串æ¯è¾æ²¡ææä¹ï¼å»ºè®®ä½¿ç¨ `--no-cdif` é项ã妿ä¸éè¦ä¸ºææ¬çè²ï¼æå® `--no-te...
sdif -V --no-filename --no-tc --no-cdif data_shishin.deepl-EN-US.cm
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/sdif-cm-view.png">
</p>
</div>
# NORMALIZATION
å¤çææå®çåä½è¿è¡ï¼ä½å¯¹äºå¤è¡éç©ºææ¬çåºåï¼ä¼å并为ä¸è¡ã该æä½æå¦ä¸æ¹å¼æ§è¡ï¼
- ç§»é¤æ¯è¡å¼å¤´åç»å°¾ç空ç½ã
- 妿ä¸è¡ä»¥å
¨è§æ ç¹ç¬¦å·ç»å°¾ï¼åä¸ä¸ä¸è¡è¿æ¥ã
- 妿ä¸è¡ä»¥å
¨è§å符ç»å°¾ä¸ä¸ä¸è¡ä»¥å
¨è§å符å¼å¤´ï¼åè¿æ¥è¿äºè¡ã
- 妿è¡çç»å°¾æå¼å¤´ä¸æ¯å
¨è§å符ï¼åå¨ä¸é´æå
¥ä¸ä¸ªç©ºæ ¼å符ååè¿æ¥ã
ç¼åæ°æ®åºäºè§èååçææ¬è¿è¡ç®¡çï¼å æ¤å³ä½¿è¿è¡äºä¸å½±åè§èåç»æçä¿®æ¹ï¼ç¼åçç¿»è¯æ°æ®ä»ç¶ææã
该è§èåè¿ç¨ä»
对第ä¸ä¸ªï¼ç¬¬ 0 个ï¼ä»¥åå¶æ°åºå·çæ¨¡å¼æ§è¡ãå æ¤ï¼å¦ææå®äºå¦ä¸ä¸¤ä¸ªæ¨¡å¼ï¼åä¸ç¬¬ä¸ä¸ªæ¨¡å¼å¹é
çææ¬ä¼å¨è§èååå¤çï¼ä¸ç¬¬äºä¸ªæ¨¡å¼å¹é
çææ¬å䏿§è¡è§èåã
greple -Mxlate -E normalized -E not-normalized
å æ¤ï¼å¯¹äºéè¦å°å¤è¡å并为ä¸è¡æ¥å¤ççææ¬ï¼ä½¿ç¨ç¬¬ä¸ä¸ªæ¨¡å¼ï¼å¯¹äºé¢æ ¼å¼åææ¬ï¼ä½¿ç¨ç¬¬äºä¸ªæ¨¡å¼ãå¦æç¬¬ä¸ä¸ªæ¨¡å¼ä¸æ²¡æå¯å¹é
çææ¬ï¼å使ç¨è¯¸å¦ `(?!)` ä¹ç±»ä¸å¹é
ä»»ä½å
å®¹çæ¨¡å¼...
# MASKING
ææ¶ä¼æä¸æ³è¢«ç¿»è¯çææ¬é¨åãä¾å¦ï¼Markdown æä»¶ä¸çæ ç¾ãDeepL 建议å¨è¿ç§æ
åµä¸ï¼å°éè¦æé¤çææ¬é¨å转æ¢ä¸º XML æ ç¾ï¼è¿è¡ç¿»è¯å忢å¤ãä¸ºæ¯ææ¤æµç¨ï¼å¯ä»¥æå®ä»ç¿»è¯ä¸å±è½ç...
--xlate-setopt maskfile=MASKPATTERN
è¿å°ææä»¶çæ¯ä¸è¡ `MASKPATTERN` è§£é为æ£å表达å¼ï¼ç¿»è¯ä¸å
¶å¹é
çå符串ï¼å¹¶å¨å¤çåè¿åã以 `#` å¼å¤´çè¡å°è¢«å¿½ç¥ã
å¤æçæ¨¡å¼å¯ä»¥ä½¿ç¨åææ è½¬ä¹æ¢è¡åå¨å¤è¡ä¸ã
éè¿ **--xlate-mask** é项å¯ä»¥æ¥çææ¬ç»å±è½è½¬æ¢åçæ ·åã
å±è½å ä½ç¬¦æ¯æ ¼å¼æ£ç¡®çèªéå XML æ ç¾ï¼ä¾å¦ `<m id="1" />`ãåºäº JSON ç LLM 弿ä¼å¨å
¶è¾å
¥æ°ç»ä¸æ¥æ¶è¿äºæ ç¾ãå¯¹äº DeepLï¼å
嫿 è®°æ ç¾ç请æ±ä¼è¢«è½¬ä¹å¹¶å°è£
å¨ä¸´æ¶ç `<xlate>` æ ¹æ ç¾ä¸ï...
å±è½å¯ä¿æ¤æ è®°ä¸è¢«ç¿»è¯ãè¥è¦åç¿»è¯æå¡æ¬èº«éèææå符串ï¼è¯·åè§ ["ANONYMIZATION AND TEMPLATES"](#anonymization-and-templates)ï¼ä¸¤è
å¯ä»¥ä¸èµ·ä½¿ç¨ã
æ¤æ¥å£ä¸ºå®éªæ§è´¨ï¼å°æ¥å¯è½ä¼æ¹åã
# ANONYMIZATION AND TEMPLATES
ææå符串å¯ä»¥å¨åéå°ç¿»è¯ API ä¹å被éèï¼å¹¶å¨è¾åºä¸æ¢å¤ãå¯ä½¿ç¨ä¸ç§å¿ååè§åæ¥æºï¼åå
¸æä»¶ï¼**--xlate-anonymize**ï¼ãææ¡£æ¬èº«ä¸çå
èæ è®°ï¼**--xlate-anonymize-mark**ï¼ä»¥å YAML front mat...
对äºè¡¨åç±»ææ¡£ï¼å£åº¦æ¥åçï¼ï¼è¯·é¢å
å®ä¹åä¸è
ï¼å¹¶å¨æ£æä¸å¼ç¨å®ä»¬ï¼
---
å ±åè
: å±±ç°å¤ªé
çºæ³¨ä¼ç¤¾: ã¢ã¯ã¡æ ªå¼ä¼ç¤¾
---
æ¬ä»¶ã«ã¤ã㦠{{ å ±åè
}} ã調æ»ãè¡ã£ãã
æ¯ç§è¯è¨åªéä½¿ç¨ `--xlate-template` ç¿»è¯ä¸æ¬¡æ¨¡æ¿ï¼å½å¼ä¿å卿件䏿¶è¿éä½¿ç¨ `--xlate-frontmatter`ï¼ï¼ç¶åç¨ **pandoc-embedz** ç¬ç«æ¨¡å¼æ¸²ææ¯ä¸ªæ¡ä¾ââå¤é¨é
ç½®ä¸ `global:` ä¸çå¼å®å
¨ä¸ä¼å°è¾¾ç...
greple -Mxlate --xlate --xlate-engine=gpt5 --xlate-to=EN-US \
--xlate-template= --xlate-format=xtxt \
--match-paragraph --all --need=0 \
report-template.md > report-template.EN.md
pandoc-embedz --standalone report-template.EN.md \
-c case-123.yaml -o report-123.EN.md < /dev/null
对äºå
èæ è®°ï¼æä¾å®å®ä¹é
ç½®å¯ä½¿åä¸ä¸ªå·²ç¿»è¯æ¨¡æ¿æ¸²æä¸ºçå®å§åæè±æçæ¬ï¼
README.gpt5-ZH.md view on Meta::CPAN
å¨å½åå®ç°ä¸ï¼å¦æä¸è¡ä¸çå¤ä¸ªé¨å被翻è¯ï¼å®ä»¬ä¼ä½ä¸ºç¬ç«çè¡è¾åºã
# CACHE OPTIONS
**xlate**模åå¯ä¸ºæ¯ä¸ªæä»¶åå¨ç¿»è¯çç¼åææ¬ï¼å¹¶å¨æ§è¡å读åï¼ä»¥æ¶é¤åæå¡å¨è¯·æ±çå¼éã使ç¨é»è®¤çç¼åçç¥`auto`æ¶ï¼ä»
å½ç®æ æä»¶åå¨ç¼åæä»¶æ¶æç»´æ¤ç¼åæ°æ®ã
使ç¨**--xlate-cache=clear**å¯å¨ç¼åç®¡çææ¸
çææç°æç¼åæ°æ®ãä½¿ç¨æ¤é项æ§è¡åï¼å¦æä¸åå¨ç¼åæä»¶å°å建æ°çç¼åæä»¶ï¼å¹¶å¨æ¤åèªå¨ç»´æ¤ã
- --xlate-cache=_strategy_
- `auto` (Default)
妿ç¼åæä»¶åå¨åè¿è¡ç»´æ¤ã
- `create`
å建空çç¼åæä»¶å¹¶éåºã
- `always`, `yes`, `1`
åªè¦ç®æ æ¯æ®éæä»¶ï¼æ 论å¦ä½é½ç»´æ¤ç¼åã
- `clear`
å
æ¸
é¤ç¼åæ°æ®ã
- `never`, `no`, `0`
å³ä½¿åå¨ï¼ä¹ç»ä¸ä½¿ç¨ç¼åæä»¶ã
- `accumulate`
å¨é»è®¤è¡ä¸ºä¸ï¼æªä½¿ç¨çæ°æ®ä¼ä»ç¼åæä»¶ä¸ç§»é¤ãå¦æä½ ä¸æ³å é¤å®ä»¬å¹¶å¸æä¿ç卿件ä¸ï¼è¯·ä½¿ç¨`accumulate`ã
- **--xlate-update**
æ¤é项ä¼å¼ºå¶æ´æ°ç¼åæä»¶ï¼å³ä½¿æ²¡æå¿
è¦ã
# COMMAND LINE INTERFACE
ä½ å¯ä»¥éè¿ä½¿ç¨åè¡çä¸å
å«ç`xlate`å½ä»¤ï¼ä»å½ä»¤è¡è½»æ¾ä½¿ç¨è¯¥æ¨¡åãç¨æ³è¯·åè§`xlate`æå页ã
å½ä»¤ `xlate` æ¯æ GNU 飿 ¼çé¿é项ï¼ä¾å¦ `--to-lang`ã`--from-lang`ã`--engine` å `--file`ãä½¿ç¨ `xlate -h` æ¥çææå¯ç¨é项ã
`xlate`å½ä»¤ä¸ Docker ç¯å¢ååå·¥ä½ï¼å æ¤å³ä½¿æ¬å°æªå®è£
ä»»ä½ä¸è¥¿ï¼åªè¦æ Docker å¯ç¨å°±è½ä½¿ç¨ã请使ç¨`-D`æ`-C`é项ã
Docker æä½ç±[App::dozo](https://metacpan.org/pod/App%3A%3Adozo)å¤çï¼å®ä¹å¯ä»¥ä½ä¸ºç¬ç«å½ä»¤ä½¿ç¨ã`dozo`å½ä»¤æ¯æ`.dozorc`é
ç½®æä»¶ä»¥æä¹
å容å¨è®¾ç½®ã
æ¤å¤ï¼ç±äºæä¾äºéç¨äºåç§ææ¡£æ ·å¼ç makefileï¼æ éç¹æ®æå®å³å¯ç¿»è¯æå
¶ä»è¯è¨ã请使ç¨`-M`é项ã
ä½ ä¹å¯ä»¥å° Docker å`make`é项ç»å使ç¨ï¼ä»¥ä¾¿å¨ Docker ç¯å¢ä¸è¿è¡`make`ã
å`xlate -C`è¿æ ·è¿è¡ä¼å¯å¨ä¸ä¸ªæè½½äºå½åå·¥ä½ git ä»åºç shellã
请é
读["SEE ALSO"](#see-also)ç« èä¸çæ¥ææç« 以äºè§£è¯¦æ
ã
# EMACS
å è½½ä»åºä¸å
å«ç`xlate.el`æä»¶ï¼ä»¥ä¾¿å¨ Emacs ç¼è¾å¨ä¸ä½¿ç¨`xlate`å½ä»¤ã`xlate-region`彿°ä¼ç¿»è¯ç»å®åºåãé»è®¤è¯è¨æ¯`EN-US`ï¼ä½ å¯ä»¥éè¿å¸¦åç¼åæ°è°ç¨æ¥æå®è¯è¨ã
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/emacs.png">
</p>
</div>
# ENVIRONMENT
- DEEPL\_AUTH\_KEY
è®¾ç½®ä½ ç DeepL æå¡è®¤è¯å¯é¥ã
- OPENAI\_API\_KEY
OpenAI 认è¯å¯é¥ï¼ç±æ§ç **gpty** å¼æä½¿ç¨ãåºäº `llm` ç **gpt5** 弿ä¹ä¼è¯»åæ¤åéï¼ä½ä½¿ç¨ `llm keys set openai` åå¨çå¯é¥åæ ·å¯ç¨ã
- GREPLE\_XLATE\_CACHE
设置é»è®¤ç¼åçç¥ï¼åè§ ["CACHE OPTIONS"](#cache-options)ï¼ã
# INSTALL
## CPANMINUS
$ cpanm App::Greple::xlate
## TOOLS
å®è£
ä½ æä½¿ç¨å¼æçå½ä»¤è¡å·¥å
·ï¼**gpt5** å¼æä½¿ç¨ `llm`ï¼DeepL ä½¿ç¨ `deepl`ï¼æ§ç GPT å¼æä½¿ç¨ `gpty`ã
[https://llm.datasette.io/](https://llm.datasette.io/)
[https://github.com/DeepLcom/deepl-python](https://github.com/DeepLcom/deepl-python)
[https://github.com/tecolicom/App-gpty](https://github.com/tecolicom/App-gpty)
# SEE ALSO
## MODULES
[App::Greple::xlate::llm](https://metacpan.org/pod/App%3A%3AGreple%3A%3Axlate%3A%3Allm), [App::Greple::xlate::deepl](https://metacpan.org/pod/App%3A%3AGreple%3A%3Axlate%3A%3Adeepl)
[App::dozo](https://metacpan.org/pod/App%3A%3Adozo) - ç± xlate ç¨äºå®¹å¨æä½çéç¨ Docker è¿è¡å¨
## RELATED MODULES
- [App::Greple](https://metacpan.org/pod/App%3A%3AGreple)
å
³äºç®æ ææ¬æ¨¡å¼ç详ç»ä¿¡æ¯è¯·åè§**greple**æåã使ç¨**--inside**ã**--outside**ã**--include**ã**--exclude**é项éå¶å¹é
åºåã
- [App::Greple::update](https://metacpan.org/pod/App%3A%3AGreple%3A%3Aupdate)
ä½ å¯ä»¥ä½¿ç¨`-Mupdate`æ¨¡åæ ¹æ®**greple**å½ä»¤çç»ææ¥ä¿®æ¹æä»¶ã
- [App::sdif](https://metacpan.org/pod/App%3A%3Asdif)
使ç¨**sdif**ä¸**-V**éé¡¹å¹¶ææ¾ç¤ºå²çªæ è®°æ ¼å¼ã
- [App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe)
éè¿**--xlate-stripe**éé¡¹ä½¿ç¨ Greple **stripe**模åã
## RESOURCES
( run in 1.163 second using v1.01-cache-2.11-cpan-8dfa8b56332 )