App-Greple-xlate
view release on metacpan or search on metacpan
README.deepl-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`) 以å**gpty**åºäºæ§ç模åçå¼...
ç¿»è¯ç»æææä»¶è¿è¡ç¼åï¼å æ¤å¯¹äºæªæ´æ¹çææ¬ï¼éæ°è¿è¡å½ä»¤æ éé¢å¤ææ¬ã å½ææ¡£è¢«ç¼è¾æ¶ï¼ä»
å°æ´æ¹è¿ç段è½å次åéè³ APIï¼åºäºä¸ä¸æç弿è¿ä¼æ¥æ¶å¨å´çç¿»è¯å
å®¹ãæ´æ¹å¤å...
è¥è¦ç¿»è¯éç¨ Perl pod 飿 ¼ç¼åçææ¡£ä¸çæ®éææ¬åï¼è¯·åè¿æ ·ç»å `--xlate-engine gpt5` å `perl` 模åä½¿ç¨ **greple** å½ä»¤ï¼
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` é项ã妿ä¸éè¦ç»ææ¬çè²ï¼å¯æå® `-...
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 å置信æ¯å¼...
对äºè¡¨åææ¡£ï¼å¦å£åº¦æ¥åçï¼ï¼è¯·é¢å
å®ä¹å䏿¹å¹¶å¨æ£æä¸å¼ç¨å®ä»¬ï¼
---
å ±åè
: å±±ç°å¤ªé
çºæ³¨ä¼ç¤¾: ã¢ã¯ã¡æ ªå¼ä¼ç¤¾
---
æ¬ä»¶ã«ã¤ã㦠{{ å ±åè
}} ã調æ»ãè¡ã£ãã
ä½¿ç¨ `--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.deepl-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` man 页ã
`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
å®è£
æ¨æç¨å¼æå¯¹åºçå½ä»¤è¡å·¥å
·ï¼`llm` ç¨äº **gpt5** 弿ï¼`deepl` ç¨äº DeepLï¼`gpty` ç¨äºæ§ç GPT 弿ã
[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** é项æ¥ç **stripe** 模åçä½¿ç¨æ
åµã
## RESOURCES
( run in 1.517 second using v1.01-cache-2.11-cpan-364913b4093 )