App-Greple-xlate

 view release on metacpan or  search on metacpan

i18n/src/xlate.deepl-JA.pod  view on Meta::CPAN

=encoding utf-8

=head1 NAME

App::Greple::xlate - greple 用の翻訳サポートモジュール

=head1 SYNOPSIS

    greple -Mxlate --xlate-engine gpt5 --xlate pattern target-file

    greple -Mxlate --xlate-engine deepl --xlate pattern target-file

=head1 VERSION

Version 2.02

=head1 DESCRIPTION

B<Greple> B<xlate> モジュールを使用して、対象のテキストブロックを検索し、翻訳文に置き換えてください。 メインのエンジンは GPT-5.6 Terra (F<llm/gpt5.pm>) で、L<llm|https://llm.datasette.io/> コマン...

翻訳結果はファイルごとにキャッシュされるため、変更のないテキストに対してコマンドを再実行してもコストはかかりません。 ドキュメントが編集された場合、変更された段落のみが...

Perlのpodスタイルで記述されたドキュメント内の通常のテキストブロックを翻訳したい場合は、B<greple>コマンドをC<--xlate-engine gpt5>およびC<perl>モジュールと組み合わせて、次のように使用ã...

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

このコマンドのパターン文字列C<^([ \wpP].*n)+> は、英数字と句読点で始まる連続した行を意味します。このコマンドは、翻訳される領域が強調表示されます。オプションB<--all>はテキストå…...

=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/select-area.png">
</p>

その後、C<--xlate> オプションを追加して、選択した領域を翻訳します。これにより、対象のセクションが検出され、翻訳エンジンの出力に置き換えられます。

デフォルトでは、原文と訳文は L<git(1)> と互換性のある "conflict marker" フォーマットで出力されます。C<ifdef>形式を使えば、L<unifdef(1)>コマンドで簡単に目的の部分を得ることができます。å...

=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/format-conflict.png">
</p>

テキスト全体を翻訳したい場合は、B<--match-all>オプションを使います。これはテキスト全体にマッチするパターンC<(?s).+>を指定するショートカットです。

L<sdif|App::sdif>コマンドにC<-V>オプションをつけると、競合マーカーフォーマットのデータを並べて表示することができます。文字列ごとに比較するのは意味がないので、C<--no-cdif>オプショ...

    sdif -V --no-filename --no-tc --no-cdif data_shishin.deepl-EN-US.cm

=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/sdif-cm-view.png">
</p>

=head1 NORMALIZATION

処理は指定された単位で行われるが、空でないテキストが複数行連続している場合は、それらをまとめて1行に変換します。この処理は次のように行われる:

=over 2

=item *

各行の先頭と末尾の空白を取り除く。

=item *

行末が全角句読点の場合は、次の行と連結します。

=item *

ある行が全角文字で終わり、次の行が全角文字で始まる場合、その行を連結します。

=item *

行末または行頭が全角文字でない場合は、スペース文字を挿入して連結します。

=back

キャッシュデータは正規化されたテキストに基づいて管理されるため、正規化結果に影響を与えない範囲で修正を加えても、キャッシュされた翻訳データは有効です。

この正規化処理は、最初の(0 番目の)偶数パターンに対してのみ行われます。したがって、以下のように2つのパターンを指定した場合、1つ目のパターンにマッチするテキストは正規化...

    greple -Mxlate -E normalized -E not-normalized

したがって、複数行を1行にまとめて処理するテキストには最初のパターンを使い、整形済みテキストには2番目のパターンを使う。最初のパターンにマッチするテキストがない場合は、C<...

=head1 MASKING

時々、翻訳してほしくないテキストの部分があります。例えば、マークダウン・ファイルのタグなどです。DeepL では、このような場合、除外するテキストの部分を XML タグに変換して翻è¨...

    --xlate-setopt maskfile=MASKPATTERN

ファイルC<MASKPATTERN>の各行を正規表現として解釈し、一致する文字列を翻訳後、処理後に元に戻します。C<#>で始まる行は無視されます。

複雑なパターンは、バックスラッシュでエスケープした改行を含めて複数行で記述できます。

マスキングによってテキストがどのように変換されるかは、B<--xlate-mask>オプションで見ることができます。

マスクプレースホルダーは、のような、構文的に正しい自己閉じ型XMLタグですC<< <m id="1" /> >>。JSONベースのLLMエンジンは、入力配列としてこれらのタグを受け取ります。DeepLの場合、マー...

マスキングにより、マークアップが翻訳されるのを防ぐことができます。翻訳サービス自体から機密性の高い文字列を隠すには、L</ANONYMIZATION AND TEMPLATES>を参照してください。両方を併用...

このインターフェースは実験的なものであり、将来変更される可能性があります。

=head1 ANONYMIZATION AND TEMPLATES

機密性の高い文字列は、翻訳APIに送信する前に隠蔽し、出力時に復元することができます。匿名化ルールには、辞書ファイル(B<--xlate-anonymize>)、ドキュメント自体内のインラインマーã‚...

定型文書(四半期報告書など)の場合は、事前にアクターを定義し、本文内でそれらを参照します:

    ---
    報告者: 山田太郎

i18n/src/xlate.deepl-JA.pod  view on Meta::CPAN


=item --xlate-cache=I<strategy>

=over 4

=item C<auto> (Default)

キャッシュ・ファイルが存在すれば、それを維持します。

=item C<create>

空のキャッシュ・ファイルを作成して終了します。

=item C<always>, C<yes>, C<1>

対象が通常ファイルである限り、とにかくキャッシュを維持します。

=item C<clear>

最初にキャッシュデータをクリアします。

=item C<never>, C<no>, C<0>

キャッシュファイルが存在しても使用しないです。

=item C<accumulate>

デフォルトの動作では、未使用のデータはキャッシュ・ファイルから削除されます。削除せず、ファイルに残しておきたい場合は、C<accumulate>を使ってください。

=back

=item B<--xlate-update>

このオプションは、キャッシュ・ファイルを更新する必要がない場合でも、強制的に更新します。

=back

=head1 COMMAND LINE INTERFACE

配布物に含まれている C<xlate> コマンドを使えば、コマンドラインから簡単にこのモジュールを使うことができます。使い方は C<xlate> のマニュアルページを参照してください。

C<xlate>コマンドはC<--to-lang>, C<--from-lang>, C<--engine>, C<--file>のようなGNUスタイルの長いオプションをサポートしています。C<xlate -h>を使うと利用可能な全てのオプションが表示されます。

C<xlate>コマンドはDocker環境と協調して動作するため、手元に何もインストールされていなくても、Dockerが利用可能であれば使用することができます。C<-D>またはC<-C>オプションを使用してã...

Dockerの操作はL<App::dozo>で処理され、スタンドアロンコマンドとしても使用できます。C<dozo>コマンドは、永続的なコンテナ設定のためのC<.dozorc>設定ファイルをサポートします。

また、様々なドキュメントスタイルに対応したmakefileが提供されているので、特別な指定なしに他言語への翻訳が可能です。C<-M>オプションを使用してください。

Docker と C<make> オプションを組み合わせて、Docker 環境で C<make> を実行することもできます。

C<xlate -C> のように実行すると、現在作業中の git リポジトリがマウントされたシェルが起動します。

詳しくはL</SEE ALSO>セクションの日本語記事を読んでください。

=head1 EMACS

EmacsエディタからC<xlate>コマンドを使うには、リポジトリに含まれるF<xlate.el>ファイルを読み込みます。C<xlate-region>関数は指定された領域を翻訳します。デフォルトの言語はC<EN-US>で、prefi...

=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/emacs.png">
</p>

=head1 ENVIRONMENT

=over 7

=item DEEPL_AUTH_KEY

DeepLサービスの認証キーを設定します。

=item OPENAI_API_KEY

レガシーなB<gpty>エンジンで使用されるOpenAI認証キー。 C<llm>ベースのB<gpt5>エンジンもこの変数を読み取りますが、C<llm keys set openai>で保存されたキーも機能します。

=item GREPLE_XLATE_CACHE

デフォルトのキャッシュ戦略を設定します(L</CACHE OPTIONS>を参照)。

=back

=head1 INSTALL

=head2 CPANMINUS

    $ cpanm App::Greple::xlate

=head2 TOOLS

使用しているエンジン用のコマンドラインツールをインストールします:C<llm>(B<gpt5>エンジン用)、C<deepl>(DeepL用)、C<gpty>(レガシーGPTエンジン用)。

L<https://llm.datasette.io/>

L<https://github.com/DeepLcom/deepl-python>

L<https://github.com/tecolicom/App-gpty>

=head1 SEE ALSO

=head2 MODULES

L<App::Greple::xlate::llm>、L<App::Greple::xlate::deepl>

L<App::dozo> - xlateがコンテナ操作に使用する汎用Dockerランナー。

=head2 RELATED MODULES

=over 2

=item * L<App::Greple>

ターゲット・テキスト・パターンの詳細については、B<greple> のマニュアルを参照してください。B<--inside>、B<--outside>、B<--include>、B<--exclude>オプションを使用して、マッチング範囲を制限ã...

=item * L<App::Greple::update>

C<-Mupdate> モジュールを使って、B<greple> コマンドの結果によってファイルを変更することができます。

=item * L<App::sdif>

B<sdif>を使うと、B<-V>オプションでコンフリクトマーカの書式を並べて表示することができます。



( run in 0.654 second using v1.01-cache-2.11-cpan-8dfa8b56332 )