App-Greple-xlate

 view release on metacpan or  search on metacpan

README.gpt5-KO.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** 모듈은 원하는 텍스트 블록을 찾아 번역된 텍스트로 대체합니다. 기본 엔진은 [llm](https://llm.datasette.io/) 명령을 호출하는 GPT-5.6 Terra(`llm/gpt5.pm`)이며, DeepL(`deepl.pm`) 및 레거시 *...

번역은 파일별로 캐시되므로, 변경되지 않은 텍스트에 대해 명령을 다시 실행해도 비용이 들지 않습니다. 문서가 편집되면 변경된 단락만 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).+` 을 지정하는 단축 방법입니다.

충돌 마커 형식 데이터는 `-V` 옵션과 함께 [sdif](https://metacpan.org/pod/App%3A%3Asdif) 명령으로 좌우 나란히 보기 스타일로 볼 수 있습니다. 문자열 단위 비교는 의미가 없으므로 `--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

가끔 번역하고 싶지 않은 텍스트 부분이 있습니다. 예를 들어, 마크다운 파일의 태그가 그렇습니다. DeepL은 이러한 경우 제외할 텍스트를 XML 태그로 변환하여 번역하고, 번역이 완료된 후 원...

    --xlate-setopt maskfile=MASKPATTERN

이는 파일의 각 줄을 `MASKPATTERN`로 해석하여 정규 표현식으로 사용하고, 이에 매칭되는 문자열을 번역한 뒤 처리 후 되돌립니다. `#`로 시작하는 줄은 무시됩니다.

복잡한 패턴은 백슬래시로 개행을 이스케이프하여 여러 줄에 걸쳐 작성할 수 있습니다.

마스킹에 의해 텍스트가 어떻게 변환되는지는 **--xlate-mask** 옵션으로 확인할 수 있습니다.

마스크 플레이스홀더는 `<m id="1" />`와 같이 올바른 형식의 자체 닫힘 XML 태그입니다. JSON 기반 LLM 엔진은 ìž…ë ¥ 배열에서 이 태그를 받습니다. DeepL의 경우 마커 태그를 포함하는 요청은 이스ì¼...

마스킹은 마크업이 번역되지 않도록 보호합니다. 번역 서비스 자체로부터 민감한 문자열을 숨기려면 ["ANONYMIZATION AND TEMPLATES"](#anonymization-and-templates)를 참조하십시오. 둘 다 함께 사용할 수 ì...

이 인터페이스는 실험적이며 향후 변경될 수 있습니다.

# ANONYMIZATION AND TEMPLATES

민감한 문자열은 번역 API로 전송되기 전에 숨기고 출력에서 복원할 수 있습니다. 익명화 규칙의 소스는 세 가지가 있습니다: 사전 파일(**--xlate-anonymize**), 문서 자체의 인라인 마크(**--xlate-an...

양식 문서(분기 보고서 등)의 경우, 먼저 행위자를 정의하고 본문에서 참조합니다:

    ---
    報告者: 山田太郎
    発注会社: アクメ株式会社
    ---
    本件について {{ 報告者 }} が調査を行った。

`--xlate-template` 를 사용하여 언어별로 템플릿을 한 번 번역하고(값이 파일에 유지되는 경우 `--xlate-frontmatter` 도 함께), 그런 다음 **pandoc-embedz** 독립 실행 모드로 각 사례를 렌더링합니다. 외ë¶...

    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-KO.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` 명령은 `--to-lang`, `--from-lang`, `--engine`, `--file`와 같은 GNU 스타일의 롱 옵션을 지원합니다. 사용 가능한 모든 옵션을 보려면 `xlate -h`을(를) 사용하십시오.

`xlate` 명령은 Docker 환경과 연동되므로, 로컬에 아무것도 설치되어 있지 않아도 Docker만 사용할 수 있다면 사용할 수 있습니다. `-D` 또는 `-C` 옵션을 사용하십시오.

Docker 작업은 [App::dozo](https://metacpan.org/pod/App%3A%3Adozo)에 의해 처리되며, 이는 독립 실행형 명령으로도 사용할 수 있습니다. `dozo` 명령은 지속적인 컨테이너 설정을 위해 `.dozorc` 구성 파일을 ì§...

또한 다양한 문서 스타일용 메이크파일이 제공되므로, 특별한 지정 없이도 다른 언어로 번역이 가능합니다. `-M` 옵션을 사용하십시오.

Docker와 `make` 옵션을 조합하여 Docker 환경에서 `make`를 실행할 수도 있습니다.

`xlate -C`처럼 실행하면 현재 작업 중인 git 저장소가 마운트된 셸이 실행됩니다.

자세한 내용은 ["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

    레거시 **gpty** 엔진에서 사용하는 OpenAI 인증 키. `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)

    **greple** 명령 결과로 파일을 수정하려면 `-Mupdate` 모듈을 사용할 수 있습니다.

- [App::sdif](https://metacpan.org/pod/App%3A%3Asdif)

    **-V** 옵션과 함께 **sdif**을 사용하여 충돌 마커 형식을 나란히 표시하십시오.

- [App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe)

    Greple **stripe** 모듈은 **--xlate-stripe** 옵션으로 사용합니다.

## RESOURCES



( run in 0.829 second using v1.01-cache-2.11-cpan-800906f7e73 )