# NAME App::Greple::xlate - greple 用ã®ç¿»è¨³ã‚µãƒãƒ¼ãƒˆãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« # SYNOPSIS greple -Mxlate -e ENGINE --xlate pattern target-file greple -Mxlate::deepl --xlate pattern target-file # VERSION Version 0.9905 # DESCRIPTION **Greple** **xlate**モジュールã¯ç›®çš„ã®ãƒ†ã‚ストブãƒãƒƒã‚¯ã‚’見ã¤ã‘ã€ç¿»è¨³ã•ã‚ŒãŸãƒ†ã‚ストã«ç½®ãæ›ãˆã¾ã™ã€‚ç¾åœ¨ã€DeepL (`deepl.pm`) 㨠ChatGPT (`gpt3.pm`) モジュールãŒãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚¨ãƒ³ã‚¸ãƒ³ã¨ã—ã¦å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ã€‚gpt-4 㨠gpt-4o も実験的ã«ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚ Perlã®Podスタイルã§æ›¸ã‹ã‚ŒãŸæ–‡æ›¸ä¸ã®é€šå¸¸ã®ãƒ†ã‚ストブãƒãƒƒã‚¯ã‚’翻訳ã—ãŸã„å ´åˆã¯ã€`xlate::deepl`ã¨`perl`モジュールを使ã£ã¦ã€æ¬¡ã®ã‚ˆã†ã«**greple**コマンドを使ã„ã¾ã™ï¼š greple -Mxlate::deepl -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã®ãƒ‘ターン文å—列`^([ \wpP].*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`ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’åŠ ãˆã¦ã€é¸æŠžã•ã‚ŒãŸç¯„囲を翻訳ã—ã¾ã™ã€‚ãã—ã¦ã€å¿…è¦ãªéƒ¨åˆ†ã‚’見ã¤ã‘ã¦ã€**deepl**コマンドã®å‡ºåŠ›ã§ç½®ãæ›ãˆã¾ã™ã€‚ デフォルトã§ã¯ã€åŽŸæ–‡ã¨è¨³æ–‡ã¯ [git(1)](http://man.he.net/man1/git) ã¨äº’æ›æ€§ã®ã‚ã‚‹ "conflict marker" フォーマットã§å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚`ifdef`å½¢å¼ã‚’使ãˆã°ã€[unifdef(1)](http://man.he.net/man1/unifdef)コマンドã§ç°¡å˜ã«ç›®çš„ã®éƒ¨åˆ†ã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚出力形å¼ã¯**--xlate-format**オプションã§æŒ‡å®šã§ãã¾ã™ã€‚ <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`コマンドã«`-V`オプションを指定ã™ã‚‹ã¨ã€ã‚³ãƒ³ãƒ•ãƒªã‚¯ãƒˆãƒžãƒ¼ã‚«ãƒ¼å½¢å¼ã®ãƒ‡ãƒ¼ã‚¿ã‚’並ã¹ã¦è¡¨ç¤ºã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚æ–‡å—列å˜ä½ã§æ¯”較ã™ã‚‹ã®ã¯æ„味ãŒãªã„ã®ã§ã€`--no-cdif`オプションを推奨ã—ã¾ã™ã€‚テã‚ストã«è‰²ã‚’ã¤ã‘ã‚‹å¿…è¦ãŒãªã„å ´åˆã¯ã€`--no-textcolor`(ã¾ãŸã¯`--no-tc`)を指定ã—ã¾ã™ã€‚ sdif -V --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 処ç†ã¯æŒ‡å®šã•ã‚ŒãŸå˜ä½ã§è¡Œã‚れるãŒã€ç©ºã§ãªã„テã‚ストãŒè¤‡æ•°è¡Œé€£ç¶šã—ã¦ã„ã‚‹å ´åˆã¯ã€ãれらをã¾ã¨ã‚ã¦1è¡Œã«å¤‰æ›ã—ã¾ã™ã€‚ã“ã®å‡¦ç†ã¯æ¬¡ã®ã‚ˆã†ã«è¡Œã‚れる: - å„è¡Œã®å…ˆé ã¨æœ«å°¾ã®ç©ºç™½ã‚’å–り除ã。 - 行末ãŒå…¨è§’å¥èªç‚¹ã®å ´åˆã¯ã€æ¬¡ã®è¡Œã¨é€£çµã—ã¾ã™ã€‚ - ã‚ã‚‹è¡ŒãŒå…¨è§’æ–‡å—ã§çµ‚ã‚ã‚Šã€æ¬¡ã®è¡ŒãŒå…¨è§’æ–‡å—ã§å§‹ã¾ã‚‹å ´åˆã€ãã®è¡Œã‚’連çµã—ã¾ã™ã€‚ - 行末ã¾ãŸã¯è¡Œé ãŒå…¨è§’æ–‡å—ã§ãªã„å ´åˆã¯ã€ã‚¹ãƒšãƒ¼ã‚¹æ–‡å—を挿入ã—ã¦é€£çµã—ã¾ã™ã€‚ ã‚ャッシュデータã¯æ£è¦åŒ–ã•ã‚ŒãŸãƒ†ã‚ストã«åŸºã¥ã„ã¦ç®¡ç†ã•ã‚Œã‚‹ãŸã‚ã€æ£è¦åŒ–çµæžœã«å½±éŸ¿ã‚’与ãˆãªã„範囲ã§ä¿®æ£ã‚’åŠ ãˆã¦ã‚‚ã€ã‚ャッシュã•ã‚ŒãŸç¿»è¨³ãƒ‡ãƒ¼ã‚¿ã¯æœ‰åŠ¹ã§ã™ã€‚ ã“ã®æ£è¦åŒ–処ç†ã¯ã€æœ€åˆã®ï¼ˆ0 番目ã®ï¼‰å¶æ•°ãƒ‘ターンã«å¯¾ã—ã¦ã®ã¿è¡Œã‚ã‚Œã¾ã™ã€‚ã—ãŸãŒã£ã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ã«2ã¤ã®ãƒ‘ターンを指定ã—ãŸå ´åˆã€1ã¤ç›®ã®ãƒ‘ターンã«ãƒžãƒƒãƒã™ã‚‹ãƒ†ã‚ストã¯æ£è¦åŒ–処ç†å¾Œã«å‡¦ç†ã•ã‚Œã€2ã¤ç›®ã®ãƒ‘ターンã«ãƒžãƒƒãƒã™ã‚‹ãƒ†ã‚ストã«ã¯æ£è¦åŒ–処ç†ã¯è¡Œã‚ã‚Œãªã„ã§ã™ã€‚ greple -Mxlate -E normalized -E not-normalized ã—ãŸãŒã£ã¦ã€è¤‡æ•°è¡Œã‚’1è¡Œã«ã¾ã¨ã‚ã¦å‡¦ç†ã™ã‚‹ãƒ†ã‚ストã«ã¯æœ€åˆã®ãƒ‘ターンを使ã„ã€æ•´å½¢æ¸ˆã¿ãƒ†ã‚ストã«ã¯2番目ã®ãƒ‘ターンを使ã†ã€‚最åˆã®ãƒ‘ターンã«ãƒžãƒƒãƒã™ã‚‹ãƒ†ã‚ストãŒãªã„å ´åˆã¯ã€`(?!)`ã®ã‚ˆã†ã«ä½•ã‚‚マッãƒã—ãªã„パターンを使ã†ã€‚ # MASKING 時々ã€ç¿»è¨³ã—ã¦ã»ã—ããªã„テã‚ストã®éƒ¨åˆ†ãŒã‚ã‚Šã¾ã™ã€‚例ãˆã°ã€ãƒžãƒ¼ã‚¯ãƒ€ã‚¦ãƒ³ãƒ»ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¿ã‚°ãªã©ã§ã™ã€‚DeepL ã§ã¯ã€ã“ã®ã‚ˆã†ãªå ´åˆã€é™¤å¤–ã™ã‚‹ãƒ†ã‚ストã®éƒ¨åˆ†ã‚’ XML ã‚¿ã‚°ã«å¤‰æ›ã—ã¦ç¿»è¨³ã—ã€ç¿»è¨³å®Œäº†å¾Œã«å¾©å…ƒã™ã‚‹ã“ã¨ã‚’推奨ã—ã¦ã„ã¾ã™ã€‚ã“れをサãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã«ã€ç¿»è¨³ã‹ã‚‰ãƒžã‚¹ã‚¯ã™ã‚‹éƒ¨åˆ†ã‚’指定ã§ãã¾ã™ã€‚ --xlate-setopt maskfile=MASKPATTERN ã“ã‚Œã¯ãƒ•ã‚¡ã‚¤ãƒ« \`MASKPATTERN\` ã®å„行をæ£è¦è¡¨ç¾ã¨ã—ã¦è§£é‡ˆã—ã€ãã‚Œã«ãƒžãƒƒãƒã™ã‚‹æ–‡å—列を翻訳ã—ã€å‡¦ç†å¾Œã«å…ƒã«æˆ»ã—ã¾ã™ã€‚`#`ã§å§‹ã¾ã‚‹è¡Œã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚ 複雑ãªãƒ‘ターンã¯ã€ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¨ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•ã‚ŒãŸæ”¹è¡Œã§è¤‡æ•°è¡Œã«æ›¸ãã“ã¨ãŒã§ãã¾ã™ã€‚ マスã‚ングã«ã‚ˆã£ã¦ãƒ†ã‚ストãŒã©ã®ã‚ˆã†ã«å¤‰æ›ã•ã‚Œã‚‹ã‹ã¯ã€**--xlate-mask**オプションã§è¦‹ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã¯å®Ÿé¨“çš„ãªã‚‚ã®ã§ã‚ã‚Šã€å°†æ¥å¤‰æ›´ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ # OPTIONS - **--xlate** - **--xlate-color** - **--xlate-fold** - **--xlate-fold-width**=_n_ (Default: 70) マッãƒã—ãŸå„é ˜åŸŸã«å¯¾ã—ã¦ç¿»è¨³å‡¦ç†ã‚’èµ·å‹•ã—ã¾ã™ã€‚ ã“ã®ã‚ªãƒ—ションをã¤ã‘ãªã„ã¨ã€**greple**ã¯é€šå¸¸ã®æ¤œç´¢ã‚³ãƒžãƒ³ãƒ‰ã¨ã—ã¦å‹•ä½œã—ã¾ã™ã€‚ã—ãŸãŒã£ã¦ã€å®Ÿéš›ã®ä½œæ¥ã‚’開始ã™ã‚‹å‰ã«ã€ãƒ•ã‚¡ã‚¤ãƒ«ã®ã©ã®éƒ¨åˆ†ãŒç¿»è¨³ã®å¯¾è±¡ã¨ãªã‚‹ã‹ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ コマンドã®çµæžœã¯æ¨™æº–出力ã•ã‚Œã¾ã™ã®ã§ã€å¿…è¦ã«å¿œã˜ã¦ãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹ã‹ã€[App::Greple::update](https://metacpan.org/pod/App%3A%3AGreple%3A%3Aupdate)モジュールã®ä½¿ç”¨ã‚’検討ã—ã¦ãã ã•ã„。 **--xlate** オプション㯠**--xlate-color** オプションを **--color=never** オプションã§å‘¼ã³å‡ºã—ã¾ã™ã€‚ **--xlate-fold** オプションを指定ã™ã‚‹ã¨ã€å¤‰æ›ã•ã‚ŒãŸãƒ†ã‚ストã¯æŒ‡å®šã—ãŸå¹…ã§æŠ˜ã‚Šè¿”ã•ã‚Œã¾ã™ã€‚デフォルトã®å¹…ã¯70ã§ã€**--xlate-fold-width**オプションã§è¨å®šã§ãã¾ã™ã€‚ランインæ“作ã®ãŸã‚ã«4ã¤ã®ã‚«ãƒ©ãƒ ãŒäºˆç´„ã•ã‚Œã¦ã„ã‚‹ã®ã§ã€å„è¡Œã¯æœ€å¤§74æ–‡å—ã‚’ä¿æŒã§ãã¾ã™ã€‚ - **--xlate-engine**=_engine_ 使用ã™ã‚‹ç¿»è¨³ã‚¨ãƒ³ã‚¸ãƒ³ã‚’指定ã—ã¾ã™ã€‚`-Mxlate::deepl`ã®ã‚ˆã†ã«ã‚¨ãƒ³ã‚¸ãƒ³ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’直接指定ã™ã‚‹å ´åˆã¯ã€ã“ã®ã‚ªãƒ—ションを使ã†å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。 ç¾æ™‚点ã§ã¯ã€ä»¥ä¸‹ã®ã‚¨ãƒ³ã‚¸ãƒ³ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚ - **deepl**: DeepL API - **gpt3**: gpt-3.5-turbo - **gpt4**: gpt-4-turbo - **gpt4o**: gpt-4o-mini **gpt-4o**ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã¯ä¸å®‰å®šã§ã€ç¾æ™‚点ã§ã¯æ£ã—ã動作ã™ã‚‹ã“ã¨ã‚’ä¿è¨¼ã§ãã¾ã›ã‚“。 - **--xlate-labor** - **--xlabor** 翻訳エンジンを呼ã³å‡ºã™ä»£ã‚ã‚Šã«ã€ä»¥ä¸‹ã®ä½œæ¥ã‚’è¡Œã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚翻訳ã™ã‚‹ãƒ†ã‚ストを準備ã™ã‚‹ã¨ã€ã‚¯ãƒªãƒƒãƒ—ボードã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚フォームã«è²¼ã‚Šä»˜ã‘ã€çµæžœã‚’クリップボードã«ã‚³ãƒ”ーã—ã€returnを押ã—ã¦ãã ã•ã„。 - **--xlate-to** (Default: `EN-US`) ターゲット言語を指定ã—ã¾ã™ã€‚**DeepL**エンジンを使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€`deepl languages`コマンドã§åˆ©ç”¨å¯èƒ½ãªè¨€èªžã‚’å–å¾—ã§ãã¾ã™ã€‚ - **--xlate-format**=_format_ (Default: `conflict`) 原文ã¨è¨³æ–‡ã®å‡ºåŠ›å½¢å¼ã‚’指定ã—ã¾ã™ã€‚ `xtxt`以外ã®ä»¥ä¸‹ã®æ›¸å¼ã¯ã€ç¿»è¨³ã•ã‚Œã‚‹éƒ¨åˆ†ãŒè¡Œã®é›†ã¾ã‚Šã§ã‚ã‚‹ã“ã¨ã‚’å‰æã¨ã—ã¦ã„ã¾ã™ã€‚実際ã«ã¯ã€è¡Œã®ä¸€éƒ¨ã ã‘を翻訳ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã‚ã‚Šã€`xt`以外ã®æ›¸å¼ã‚’指定ã—ã¦ã‚‚æ„味ã®ã‚ã‚‹çµæžœã¯å¾—られãªã„ã§ã™ã€‚ - **conflict**, **cm** 原文ã¨è¨³æ–‡ã¯[git(1)](http://man.he.net/man1/git) conflict markerå½¢å¼ã§å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ <<<<<<< ORIGINAL original text ======= translated Japanese text >>>>>>> JA 次ã®[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+** 変æ›å‰ã®ãƒ†ã‚ストã¨å¤‰æ›å¾Œã®ãƒ†ã‚ストã¯1è¡Œã®ç©ºç™½è¡Œã§åŒºåˆ‡ã‚‰ã‚Œã¦å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚`space+`ã®å ´åˆã¯ã€å¤‰æ›å¾Œã®ãƒ†ã‚ストã®å¾Œã«æ”¹è¡Œã‚‚出力ã•ã‚Œã¾ã™ã€‚ - **xtxt** å½¢å¼ãŒ`xtxt`(翻訳済ã¿ãƒ†ã‚スト)ã¾ãŸã¯æœªçŸ¥ã®å ´åˆã¯ã€ç¿»è¨³æ¸ˆã¿ãƒ†ã‚ストã®ã¿ãŒå°åˆ·ã•ã‚Œã¾ã™ã€‚ - **--xlate-maxlen**=_chars_ (Default: 0) APIã«ä¸€åº¦ã«é€ä¿¡ã™ã‚‹ãƒ†ã‚ストã®æœ€å¤§é•·ã‚’指定ã—ã¾ã™ã€‚既定値ã¯ã€ç„¡æ–™ã®DeepLアカウント・サービスã¨åŒæ§˜ã«ã€API (**--xlate**) ã§ã¯128Kã€ã‚¯ãƒªãƒƒãƒ—ボード・インタフェース (**--xlate-labor**) ã§ã¯5000ã«è¨å®šã•ã‚Œã¦ã„ã¾ã™ã€‚Pro サービスを使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€ã“れらã®å€¤ã‚’変更ã§ãã¾ã™ã€‚ - **--xlate-maxline**=_n_ (Default: 0) APIã«ä¸€åº¦ã«é€ä¿¡ã™ã‚‹ãƒ†ã‚ストã®æœ€å¤§è¡Œæ•°ã‚’指定ã—ã¾ã™ã€‚ 一度ã«1è¡Œãšã¤ç¿»è¨³ã—ãŸã„å ´åˆã¯ã€ã“ã®å€¤ã‚’1ã«è¨å®šã—ã¾ã™ã€‚ã“ã®ã‚ªãƒ—ションã¯`--xlate-maxlen`オプションより優先ã•ã‚Œã¾ã™ã€‚ - **--**\[**no-**\]**xlate-progress** (Default: True) STDERR出力ã§ãƒªã‚¢ãƒ«ã‚¿ã‚¤ãƒ ã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³çµæžœã‚’見ã¾ã™ã€‚ - **--xlate-stripe** [App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe)モジュールを使ã†ã¨ã€ä¸€è‡´ã—ãŸéƒ¨åˆ†ã‚’ゼブラストライプã§è¡¨ç¤ºã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã‚Œã¯ã€ãƒžãƒƒãƒã—ãŸéƒ¨åˆ†ãŒèƒŒä¸åˆã‚ã›ã«æŽ¥ç¶šã•ã‚Œã¦ã„ã‚‹å ´åˆã«ä¾¿åˆ©ã§ã™ã€‚ カラーパレットã¯ç«¯æœ«ã®èƒŒæ™¯è‰²ã«å¿œã˜ã¦åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã™ã€‚明示的ã«æŒ‡å®šã—ãŸã„å ´åˆã¯ã€ **--xlate-stripe-light** ã¾ãŸã¯ **--xlate-stripe-dark** を使ã£ã¦ãã ã•ã„。 - **--xlate-mask** マスã‚ング機能を実行ã—ã€å¤‰æ›ã•ã‚ŒãŸãƒ†ã‚ストを復元ã›ãšã«ãã®ã¾ã¾è¡¨ç¤ºã—ã¾ã™ã€‚ - **--match-all** ファイルã®å…¨æ–‡ã‚’å¯¾è±¡é ˜åŸŸã«è¨å®šã—ã¾ã™ã€‚ # 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`コマンドã¯Docker環境ã¨å”調ã—ã¦å‹•ä½œã™ã‚‹ãŸã‚ã€æ‰‹å…ƒã«ä½•ã‚‚インストールã•ã‚Œã¦ã„ãªãã¦ã‚‚ã€DockerãŒåˆ©ç”¨å¯èƒ½ã§ã‚ã‚Œã°ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚`-D`ã¾ãŸã¯`-C`オプションを使用ã—ã¦ãã ã•ã„。 ã¾ãŸã€æ§˜ã€…ãªãƒ‰ã‚ュメントスタイルã«å¯¾å¿œã—ãŸmakefileãŒæä¾›ã•ã‚Œã¦ã„ã‚‹ã®ã§ã€ç‰¹åˆ¥ãªæŒ‡å®šãªã—ã«ä»–言語ã¸ã®ç¿»è¨³ãŒå¯èƒ½ã§ã™ã€‚`-M`オプションを使用ã—ã¦ãã ã•ã„。 Docker 㨠`make` オプションを組ã¿åˆã‚ã›ã¦ã€Docker 環境㧠`make` を実行ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ `xlate -C` ã®ã‚ˆã†ã«å®Ÿè¡Œã™ã‚‹ã¨ã€ç¾åœ¨ä½œæ¥ä¸ã® git リãƒã‚¸ãƒˆãƒªãŒãƒžã‚¦ãƒ³ãƒˆã•ã‚ŒãŸã‚·ã‚§ãƒ«ãŒèµ·å‹•ã—ã¾ã™ã€‚ 詳ã—ãã¯["SEE ALSO"](#see-also)セクションã®æ—¥æœ¬èªžè¨˜äº‹ã‚’èªã‚“ã§ãã ã•ã„。 # EMACS Emacsエディタã‹ã‚‰`xlate`コマンドを使ã†ã«ã¯ã€ãƒªãƒã‚¸ãƒˆãƒªã«å«ã¾ã‚Œã‚‹`xlate.el`ファイルをèªã¿è¾¼ã¿ã¾ã™ã€‚`xlate-region`関数ã¯æŒ‡å®šã•ã‚ŒãŸé ˜åŸŸã‚’翻訳ã—ã¾ã™ã€‚デフォルトã®è¨€èªžã¯`EN-US`ã§ã€prefix引数ã§è¨€èªžã‚’指定ã§ãã¾ã™ã€‚ <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ã®èªè¨¼ã‚ーã§ã™ã€‚ # INSTALL ## CPANMINUS $ cpanm App::Greple::xlate ## TOOLS DeepLãŠã‚ˆã³ChatGPT用ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ãƒ„ールをインストールã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ [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 [App::Greple::xlate](https://metacpan.org/pod/App%3A%3AGreple%3A%3Axlate) ã¨ã—ã¾ã™ã€‚ [App::Greple::xlate::deepl](https://metacpan.org/pod/App%3A%3AGreple%3A%3Axlate%3A%3Adeepl) (英語) [App::Greple::xlate::gpt3](https://metacpan.org/pod/App%3A%3AGreple%3A%3Axlate%3A%3Agpt3) ã§ã™ã€‚ - [https://hub.docker.com/r/tecolicom/xlate](https://hub.docker.com/r/tecolicom/xlate) Dockerコンテナイメージ。 - [https://github.com/DeepLcom/deepl-python](https://github.com/DeepLcom/deepl-python) DeepL Python ライブラリ㨠CLI コマンド。 - [https://github.com/openai/openai-python](https://github.com/openai/openai-python) OpenAI Python ライブラリ - [https://github.com/tecolicom/App-gpty](https://github.com/tecolicom/App-gpty) OpenAI コマンドラインインタフェース - [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**モジュールを使用ã—ã¾ã™ã€‚ ## ARTICLES - [https://qiita.com/kaz-utashiro/items/1c1a51a4591922e18250](https://qiita.com/kaz-utashiro/items/1c1a51a4591922e18250) DeepL APIã§å¿…è¦ãªéƒ¨åˆ†ã ã‘を翻訳・置æ›ã™ã‚‹Grepleモジュール - [https://qiita.com/kaz-utashiro/items/a5e19736416ca183ecf6](https://qiita.com/kaz-utashiro/items/a5e19736416ca183ecf6) DeepL APIモジュールã«ã‚ˆã‚‹15言語ã®ãƒ‰ã‚ãƒ¥ãƒ¡ãƒ³ãƒˆç”Ÿæˆ - [https://qiita.com/kaz-utashiro/items/1b9e155d6ae0620ab4dd](https://qiita.com/kaz-utashiro/items/1b9e155d6ae0620ab4dd) DeepL APIã«ã‚ˆã‚‹è‡ªå‹•ç¿»è¨³Docker環境 # AUTHOR Kazumasa Utashiro # LICENSE Copyright © 2023-2025 Kazumasa Utashiro. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.