App-Greple-xlate

 view release on metacpan or  search on metacpan

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

번역 결과는 파일별로 캐시되므로, 변경되지 않은 텍스트에 대해서는 명령을 다시 실행해도 비용이 발생하지 않습니다. 문서가 편집되면 변경된 단락만 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` 옵션을 사ì...

    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-anonymize-mark**), YAML 프론트매터 값...

양식 문서(분기 보고서 등)의 경우, 관련 주체를 미리 정의하고 본문에서 이를 참조하십시오:

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

`--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.deepl-KO.md  view on Meta::CPAN

    현재 구현에서는 한 줄의 여러 부분이 번역되는 경우 독립된 줄로 출력됩니다.

# CACHE OPTIONS

**엑스레이트** 모듈은 각 파일에 대한 번역 텍스트를 캐시하여 저장하고 실행 전에 읽어들여 서버에 요청하는 오버헤드를 없앨 수 있습니다. 기본 캐시 ì „ëžµ `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` 옵션을 결합하여 `make`를 Docker 환경에서 실행할 수도 있습니다.

`xlate -C`처럼 실행하면 현재 작업 중인 git 리포지토리가 마운트된 셸이 시작됩니다.

자세한 내용은 ["또는 참조"](#또는-참조) 섹션의 일본어 기사를 참조하세요.

# 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

사용 중인 엔진에 맞는 명령줄 도구를 설치하세요: `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** 매뉴얼을 참조하세요. **--내부**, **--외부**, **--포함**, **--제외** 옵션을 사용하여 일치하는 영역을 제한할 수 있습니다.

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

    `-Mupdate` 모듈을 사용하여 **greple** 명령의 결과에 따라 파일을 수정할 수 있습니다.

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

    충돌 마커 형식을 **-V** 옵션과 함께 나란히 표시하려면 **에스디프**를 사용합니다.

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

    회색 **줄무늬** 모듈은 **--xlate-stripe** 옵션으로 사용합니다.

## RESOURCES



( run in 1.390 second using v1.01-cache-2.11-cpan-364913b4093 )