App-Greple-xlate

 view release on metacpan or  search on metacpan

README.deepl-RU.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.01

# DESCRIPTION

**Greple** **xlate** модуль находит нужные текстовые блоки и заменяет их переведённым текстом. Основным движком является GPT-5.5 (`llm/gpt5.pm`), который вÑ...

Переводы кэшируются по файлам, поэтому повторный запуск команды не требует затрат для неизменённого текста. При редактировании докумен...

Если вы хотите перевести обычные блоки текста в документе, написанном в стиле pod языка Perl, используйте команду **greple** с модулями `--xlate-engine g...

    greple -Mxlate --xlate-engine gpt5 -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm

Ð’ этой команде шаблонная строка `^([\w\pP].*\n)+` означает последовательные строки, начинающиеся с букв алфавитно-цифрового ряда и знаков препÐ...

<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). Используя...

<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`. Пос...

    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 предлагается в таких слуÑ...

    --xlate-setopt maskfile=MASKPATTERN

Это будет интерпретировать каждую строку файла `MASKPATTERN` как регулярное выражение, переводить строку, соответствующую ему, и возвращать п...

Сложный шаблон можно записать на нескольких строках с использованием обратного слеша для экранирования символа новой строки.

Как текст преобразуется при маскировании, можно увидеть с помощью опции **--xlate-mask**.

Маскировка защищает разметку от перевода. Чтобы скрыть конфиденциальные строки от самого сервиса перевода, см. ["ANONYMIZATION AND TEMPLATES"](#anonymizatio...

Этот интерфейс является экспериментальным и может быть изменен в будущем.

# ANONYMIZATION AND TEMPLATES

Конфиденциальные строки можно скрыть перед отправкой в API перевода и восстановить в выходных данных. Доступны три источника правил анон...

Для документов-шаблонов (квартальных отчётов и т. п.) заранее определите участники и ссылайтесь на них в тексте:

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

Переведите шаблон один раз на каждый язык с помощью `--xlate-template` (и `--xlate-frontmatter`, если значения хранятся в файле), затем отобразите каждый слÑ...

    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

Для встроенных меток предоставление конфигурации определения макроса позволяет одному и тому же переведённому шаблону отображать либÐ...

    # macros.yaml           # macros-redacted.yaml

README.deepl-RU.md  view on Meta::CPAN

    В текущей реализации, если переводится несколько частей строки, они выводятся как независимые строки.

# CACHE OPTIONS

Модуль **xlate** может хранить кэшированный текст перевода для каждого файла и считывать его перед выполнением, чтобы исключить накладные р...

Используйте **--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` поддерживает длинные опции в стиле GNU, такие как `--to-lang`, `--from-lang`, `--engine` и `--file`. Используйте `xlate -h`, чтобы увидеть все доступные ...

Команда `xlate` работает совместно со средой Docker, поэтому даже если у вас ничего не установлено, вы можете использовать ее, пока доступен Docke...

Операции Docker выполняются командой [App::dozo](https://metacpan.org/pod/App%3A%3Adozo), которая также может использоваться как отдельная команда. Команда `dozo` пÐ...

Кроме того, поскольку в комплекте поставляются make-файлы для различных стилей документов, перевод на другие языки возможен без специальн...

Вы также можете комбинировать опции Docker и `make`, чтобы запустить `make` в среде Docker.

Выполнение `xlate -C` запустит оболочку с подключенным текущим рабочим git-репозиторием.

Подробности читайте в японской статье в разделе ["SEE ALSO"](#see-also).

# EMACS

Загрузите файл `xlate.el`, включенный в репозиторий, чтобы использовать команду `xlate` из редактора Emacs. Функция `xlate-region` переводит заданный рег...

<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**. Движок **gpt5**, основанный на `llm`, также считывает эту переменную, но клÑ...

- 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) - общий Docker runner, используемый xlate для операций с контейнерами.

## 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)

    Использование модуля Greple **stripe** с помощью опции **--xlate-stripe**.

## RESOURCES



( run in 0.603 second using v1.01-cache-2.11-cpan-744e820c463 )