App-Greple-xlate
view release on metacpan or search on metacpan
docs/src/xlate.gpt5-DE.pod view on Meta::CPAN
=encoding utf-8
=head1 NAME
App::Greple::xlate - Ãbersetzungsunterstützungsmodul für greple
=head1 SYNOPSIS
greple -Mxlate::deepl --xlate pattern target-file
greple -Mxlate::gpt5 --xlate pattern target-file
greple -Mxlate --xlate-engine gpt5 --xlate pattern target-file
=head1 VERSION
Version 1.0202
=head1 DESCRIPTION
B<Greple> B<xlate>-Modul findet gewünschte Textblöcke und ersetzt sie durch den übersetzten Text. Derzeit sind DeepL (F<deepl.pm>) und das GPT-5.5-(F<gpt5.pm>)-Modul als Backend-Engine implementiert.
Wenn Sie normale Textblöcke in einem Dokument im POD-Stil von Perl übersetzen möchten, verwenden Sie den Befehl B<greple> mit den Modulen C<xlate::deepl> und C<perl> wie folgt:
greple -Mxlate::deepl -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm
In diesem Befehl bedeutet die Zeichenkette C<^([\w\pP].*\n)+> aufeinanderfolgende Zeilen, die mit alphanumerischen und Interpunktionszeichen beginnen. Dieser Befehl zeigt den zu übersetzenden Bereich hervorgehoben an. Die Option B<--all> wird verwen...
=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/select-area.png">
</p>
Fügen Sie dann die Option C<--xlate> hinzu, um den ausgewählten Bereich zu übersetzen. Dann werden die gewünschten Abschnitte gefunden und durch die Ausgabe des Befehls B<deepl> ersetzt.
StandardmäÃig werden Original- und übersetzter Text im âKonfliktmarkerâ-Format ausgegeben, das mit L<git(1)> kompatibel ist. Mit dem Format C<ifdef> können Sie den gewünschten Teil einfach mit dem Befehl L<unifdef(1)> erhalten. Das Ausgabefo...
=for html <p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/format-conflict.png">
</p>
Wenn Sie den gesamten Text übersetzen möchten, verwenden Sie die Option B<--match-all>. Dies ist eine Abkürzung, um das Muster C<(?s).+> anzugeben, das den gesamten Text erfasst.
Daten im Konfliktmarker-Format können im Side-by-Side-Stil mit dem Befehl L<sdif|App::sdif> und der Option C<-V> angezeigt werden. Da ein Vergleich pro Zeichenkette keinen Sinn ergibt, wird die Option C<--no-cdif> empfohlen. Wenn Sie den Text nicht ...
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
Die Verarbeitung erfolgt in angegebenen Einheiten, aber bei einer Folge mehrerer Zeilen nichtleeren Textes werden diese zusammen in eine einzelne Zeile konvertiert. Dieser Vorgang wird wie folgt durchgeführt:
=over 2
=item *
Entfernen Sie Leerzeichen am Anfang und Ende jeder Zeile.
=item *
Wenn eine Zeile mit einem vollbreiten Satzzeichen endet, mit der nächsten Zeile verketten.
=item *
Wenn eine Zeile mit einem vollbreiten Zeichen endet und die nächste Zeile mit einem vollbreiten Zeichen beginnt, die Zeilen verketten.
=item *
Wenn entweder das Ende oder der Anfang einer Zeile kein vollbreites Zeichen ist, sie durch Einfügen eines Leerzeichens verketten.
=back
Cache-Daten werden auf Basis des normalisierten Textes verwaltet, sodass zwischengespeicherte Ãbersetzungsdaten weiterhin wirksam sind, selbst wenn Ãnderungen vorgenommen werden, die das Normalisierungsergebnis nicht beeinflussen.
Dieser Normalisierungsprozess wird nur für das erste (0.) und die geradzahligen Muster durchgeführt. Wenn also zwei Muster wie folgt angegeben werden, wird der Text, der dem ersten Muster entspricht, nach der Normalisierung verarbeitet, und für de...
greple -Mxlate -E normalized -E not-normalized
Verwenden Sie daher das erste Muster für Text, der durch das Kombinieren mehrerer Zeilen zu einer einzelnen Zeile verarbeitet werden soll, und das zweite Muster für vorformatierten Text. Wenn es keinen Text gibt, der auf das erste Muster passt, ver...
=head1 MASKING
Gelegentlich gibt es Textteile, die nicht übersetzt werden sollen. Zum Beispiel Tags in Markdown-Dateien. DeepL schlägt in solchen Fällen vor, den auszuschlieÃenden Teil des Textes in XML-Tags umzuwandeln, zu übersetzen und nach Abschluss der Ã...
--xlate-setopt maskfile=MASKPATTERN
Dies interpretiert jede Zeile der Datei C<MASKPATTERN> als regulären Ausdruck, übersetzt Zeichenfolgen, die damit übereinstimmen, und stellt nach der Verarbeitung den ursprünglichen Zustand wieder her. Zeilen, die mit C<#> beginnen, werden ignori...
Komplexe Muster können mit einem durch Backslash maskierten Zeilenumbruch über mehrere Zeilen geschrieben werden.
Wie der Text durch Maskierung transformiert wird, kann mit der Option B<--xlate-mask> gesehen werden.
Diese Schnittstelle ist experimentell und kann sich in Zukunft ändern.
=head1 OPTIONS
=over 7
=item B<--xlate>
=item B<--xlate-color>
=item B<--xlate-fold>
=item B<--xlate-fold-width>=I<n> (Default: 70)
docs/src/xlate.gpt5-DE.pod view on Meta::CPAN
=item --xlate-cache=I<strategy>
=over 4
=item C<auto> (Default)
Pflegen Sie die Cache-Datei, falls sie existiert.
=item C<create>
Leere Cache-Datei erstellen und beenden.
=item C<always>, C<yes>, C<1>
Den Cache dennoch beibehalten, solange das Ziel eine normale Datei ist.
=item C<clear>
Zuerst die Cache-Daten löschen.
=item C<never>, C<no>, C<0>
Cache-Datei niemals verwenden, selbst wenn sie existiert.
=item C<accumulate>
StandardmäÃig werden ungenutzte Daten aus der Cache-Datei entfernt. Wenn Sie sie nicht entfernen und in der Datei behalten möchten, verwenden Sie C<accumulate>.
=back
=item B<--xlate-update>
Diese Option erzwingt das Aktualisieren der Cache-Datei, auch wenn es nicht notwendig ist.
=back
=head1 COMMAND LINE INTERFACE
Sie können dieses Modul einfach über die Kommandozeile verwenden, indem Sie den in der Distribution enthaltenen Befehl C<xlate> verwenden. Siehe die C<xlate>-Manpage zur Verwendung.
Der C<xlate>-Befehl unterstützt GNU-ähnliche Long-Optionen wie C<--to-lang>, C<--from-lang>, C<--engine> und C<--file>. Verwenden Sie C<xlate -h>, um alle verfügbaren Optionen anzuzeigen.
Der Befehl C<xlate> arbeitet mit der Docker-Umgebung zusammen. Selbst wenn Sie lokal nichts installiert haben, können Sie ihn verwenden, solange Docker verfügbar ist. Verwenden Sie die Option C<-D> oder C<-C>.
Docker-Operationen werden von L<App::dozo> gehandhabt, das auch als eigenständiger Befehl verwendet werden kann. Der Befehl C<dozo> unterstützt die Konfigurationsdatei C<.dozorc> für persistente Container-Einstellungen.
Da Makefiles für verschiedene Dokumentstile bereitgestellt werden, ist die Ãbersetzung in andere Sprachen ohne besondere Spezifikation möglich. Verwenden Sie die Option C<-M>.
Sie können die Optionen Docker und C<make> auch kombinieren, sodass Sie C<make> in einer Docker-Umgebung ausführen können.
Das Ausführen wie C<xlate -C> startet eine Shell mit dem aktuell eingehängten Git-Repository als Arbeitsverzeichnis.
Lesen Sie den japanischen Artikel im Abschnitt L</SEE ALSO> für Details.
=head1 EMACS
Laden Sie die im Repository enthaltene Datei F<xlate.el>, um den Befehl C<xlate> aus dem Emacs-Editor zu verwenden. Die Funktion C<xlate-region> übersetzt den angegebenen Bereich. Die Standardsprache ist C<EN-US>, und Sie können die Sprache angeben...
=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
Legen Sie Ihren Authentifizierungsschlüssel für den DeepL-Dienst fest.
=item OPENAI_API_KEY
OpenAI-Authentifizierungsschlüssel.
=back
=head1 INSTALL
=head2 CPANMINUS
$ cpanm App::Greple::xlate
=head2 TOOLS
Sie müssen die Kommandozeilentools für DeepL und ChatGPT installieren.
L<https://github.com/DeepLcom/deepl-python>
L<https://github.com/tecolicom/App-gpty>
=head1 SEE ALSO
=head2 MODULES
L<App::Greple::xlate::deepl>, L<App::Greple::xlate::gpt5>
L<App::dozo> - Generischer Docker-Runner, der von xlate für Container-Operationen verwendet wird
=head2 RELATED MODULES
=over 2
=item * L<App::Greple>
Siehe das Handbuch B<greple> für Details zum Zieltextmuster. Verwenden Sie die Optionen B<--inside>, B<--outside>, B<--include>, B<--exclude>, um den Abgleichsbereich einzuschränken.
=item * L<App::Greple::update>
Sie können das Modul C<-Mupdate> verwenden, um Dateien anhand des Ergebnisses des Befehls B<greple> zu ändern.
=item * L<App::sdif>
Verwenden Sie B<sdif>, um das Konfliktmarker-Format nebeneinander mit der Option B<-V> anzuzeigen.
=item * L<App::Greple::stripe>
Greple-Modul B<stripe> wird mit der Option B<--xlate-stripe> verwendet.
=back
( run in 0.822 second using v1.01-cache-2.11-cpan-2398b32b56e )