App-Greple-xlate
view release on metacpan or search on metacpan
README.deepl-KO.md view on Meta::CPAN
ë¤ì [sed(1)](http://man.he.net/man1/sed) ëª
ë ¹ì¼ë¡ ì본 íì¼ì 복구í ì ììµëë¤.
sed -e '/^<<<<<<< /d' -e '/^=======$/,/^>>>>>>> /d'
- **colon**, _:::::::_
ì본 í
ì¤í¸ì ë²ìë í
ì¤í¸ë ë§í¬ë¤ì´ì ì¬ì©ì ì ì 컨í
ì´ë ì¤íì¼ë¡ ì¶ë ¥ë©ëë¤.
::::::: 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+**
ì본 í
ì¤í¸ì ë³íë í
ì¤í¸ë íëì ë¹ ì¤ë¡ 구ë¶íì¬ ì¸ìë©ëë¤. `ì¤íì´ì¤+`ì ê²½ì° ë³íë í
ì¤í¸ ë¤ì ì¤ ë°ê¿ë ì¶ë ¥í©ëë¤.
- **xtxt**
íìì´ `xtxt`(ë²ìë í
ì¤í¸) ëë ì ì ìë ê²½ì° ë²ìë í
ì¤í¸ë§ ì¸ìë©ëë¤.
- **--xlate-maxlen**=_chars_ (Default: 0)
APIì í ë²ì ì ì¡í í
ì¤í¸ì ìµë 길ì´ë¥¼ ì§ì í©ëë¤. ê¸°ë³¸ê° 0ì ìì§ ìì²´ì ì íì ì미í©ëë¤. ë¬´ë£ DeepL ê³ì ìë¹ì¤ì ê²½ì° API(**--xlate**)ë 128K, í´ë¦½ë³´ë ì¸í°íì´ì¤(**--xlate-labor**...
- **--xlate-maxline**=_n_ (Default: 0)
í ë²ì APIë¡ ì ì¡í í
ì¤í¸ì ìµë ì¤ ì를 ì§ì í©ëë¤.
í ë²ì í ì¤ì© ë²ìíë ¤ë©´ ì´ ê°ì 1ë¡ ì¤ì í©ëë¤. ì´ ìµì
ì `--xlate-maxlen` ìµì
ë³´ë¤ ì°ì í©ëë¤.
- **--xlate-prompt**=_text_
ë²ì ìì§ì ì ì¡í ì¬ì©ì ì§ì í롬íí¸ë¥¼ ì§ì í©ëë¤. ì´ ìµì
ì LLM ìì§(`gpt3`, `gpt4o`, `gpt5`)ìì ì¬ì©í ì ìì§ë§ DeepLììë ì¬ì©í ì ììµëë¤. AI 모ë¸ì 구체ì ì¸ ì§ì¹¨ì ì ê³µíì...
- **--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 />`ê³¼ ê°ì ì¹´í
ê³ ë¦¬ íê·¸ë¡ ëì²´ë©ëë¤. ëì¼í 문ìì´ìë íì ëì¼í íê·¸ê° ë¶ì...
ì¬ì (dictionary)ì ì¸ë¶ ë구(ì: 민ê°í ìí°í°ë¥¼ ì¶ì¶íë ë¡ì»¬ 모ë¸)를 íµí´ ìì±ë ì ììµëë¤:
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]+?)@@'`ì ì¬ì©íê±°ë, ë ëë§ë ë§í¬ë¤ì´ìì ë³´ì´...
- **--xlate-template**\[=_regex_\]
í
í릿 ííì(기본ê°: Jinja2 `{{ ... }}`, `{% ... %}`, `{# ... #}`)ì ë¶í¬ëª
í ì리 íììë¡ ì·¨ê¸í©ëë¤. 모ë¸ì ì´ë¥¼ ë³ê²½ ìì´ ë³µì¬íëë¡ ì§ìíê³ , ë¸ë¡ë³ë¡ ìëµì ì íí ëì¼í ííìì´...
ì´ì ê°ì ì íì ê° ìµì
ì ê²½ì°, ë¤ë°ë¥´ë íì¼ ì¸ìê° ê°ì¼ë¡ ê°ì£¼ëë¤ë ì ì ì ìíììì¤: 기본 í기ë²ì ì¬ì©í ëë `--xlate-template=` (ë¤ì `=`ê° ë¶ì íí)를 ìì±íììì¤.
- **--xlate-frontmatter**
ì ëì ìë `---` ... `---` ë¸ë¡ì YAML íë¡ í¸ ë§¤í°ë¡ ì·¨ê¸í©ëë¤: ë²ì ë° 2ë¨ê³ 컨í
ì¤í¸ ì¬ë¼ì´ì¤ìì ì´ë¥¼ ì ì¸íê³ , ìì ì¥ì¹ë¡ì í´ë¹ ë¸ë¡ì íë©´ `key: value` ê°ì ìµëª
í ê·ì¹(ì¹´í
ê³...
ë«ë íê·¸ `---` ë¤ìë íì ë¹ ì¤ì ë¨ê²¨ì¼ í©ëë¤. ë¨ë½ ì¤íì¼ì ì¼ì¹ í¨í´ì ì¬ì©í ê²½ì°, 본문 í
ì¤í¸ì ë°ë¡ ì´ì´ì§ë íë¡ í¸ ë§¤í°ë íëì ê±¸ì³ ìë ë¸ë¡ì íì±íë©°, ì´ ë¸ë¡ì ...
- **--xlate-glossary**=_glossary_
ë²ìì ì¬ì©í ì©ì´ì§ ID를 ì§ì í©ëë¤. ì´ ìµì
ì DeepL ìì§ì ì¬ì©í ëë§ ì¬ì©í ì ììµëë¤. ì©ì´ì§ IDë DeepL ê³ì ìì ê°ì ¸ìì¼ íë©° í¹ì ì©ì´ì ì¼ê´ë ë²ìì ë³´ì¥í©ëë¤.
- **--xlate-dryrun**
( run in 1.371 second using v1.01-cache-2.11-cpan-0b58ddf2af1 )