App-Greple-xlate
view release on metacpan or search on metacpan
i18n/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 --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>-Modul findet gewünschte Textblöcke und ersetzt sie durch den übersetzten Text. Die primäre Engine ist GPT-5.6 Terra (F<llm/gpt5.pm>), die den L<llm|https://llm.datasette.io/>-Befehl aufruft; DeepL (F<deepl.pm>) und ältere auf ...
Ãbersetzungen werden pro Datei zwischengespeichert, sodass das erneute Ausführen eines Befehls für unveränderten Text nichts kostet. Wenn ein Dokument bearbeitet wird, werden nur die geänderten Absätze erneut an die API gesendet; eine kontextbe...
Wenn Sie normale Textblöcke in einem Dokument übersetzen möchten, das im Perl-Pod-Stil geschrieben ist, verwenden Sie den Befehl B<greple> mit C<--xlate-engine gpt5> und dem Modul C<perl> wie folgt:
greple -Mxlate --xlate-engine gpt5 -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 der Ãbersetzungs-Engine 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.
Maskierungsplatzhalter sind wohlgeformte selbstschlieÃende XML-Tags wie C<< <m id="1" /> >>. JSON-basierte LLM-Engines erhalten die Tags in ihren Eingabe-Arrays. Für DeepL wird eine Anfrage mit Marker-Tags maskiert und in ein temporäres Wurzelelem...
Maskierung schützt Markup davor, übersetzt zu werden. Um sensible Zeichenfolgen vor dem Ãbersetzungsdienst selbst zu verbergen, siehe L</ANONYMIZATION AND TEMPLATES>; beides kann zusammen verwendet werden.
Diese Schnittstelle ist experimentell und kann sich in Zukunft ändern.
=head1 ANONYMIZATION AND TEMPLATES
Sensible Zeichenketten können verborgen werden, bevor sie an die Ãbersetzungs-API gesendet werden, und in der Ausgabe wiederhergestellt werden. Drei Quellen für Anonymisierungsregeln stehen zur Verfügung: eine Wörterbuchdatei (B<--xlate-anonymiz...
Definieren Sie bei Formulardokumenten (Quartalsberichte und dergleichen) die Akteure im Voraus und verweisen Sie im Haupttext auf sie:
---
å ±åè
: å±±ç°å¤ªé
i18n/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, der von den alten B<gpty>-Engines verwendet wird. Die auf C<llm> basierende B<gpt5>-Engine liest diese Variable ebenfalls, aber mit C<llm keys set openai> gespeicherte Schlüssel funktionieren ebenfalls.
=item GREPLE_XLATE_CACHE
Legen Sie die Standard-Cache-Strategie fest (siehe L</CACHE OPTIONS>).
=back
=head1 INSTALL
=head2 CPANMINUS
$ cpanm App::Greple::xlate
=head2 TOOLS
Installieren Sie das Kommandozeilentool für die von Ihnen verwendete Engine: C<llm> für die B<gpt5>-Engine, C<deepl> für DeepL, C<gpty> für die alten GPT-Engines.
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> - 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.
( run in 4.257 seconds using v1.01-cache-2.11-cpan-b301d465b3d )