App-Greple-xlate
view release on metacpan or search on metacpan
README.gpt5-DE.md view on Meta::CPAN
# NAME
App::Greple::xlate - Ãbersetzungsunterstützungsmodul für 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**-Modul findet gewünschte Textblöcke und ersetzt sie durch den übersetzten Text. Die primäre Engine ist GPT-5.6 Terra (`llm/gpt5.pm`), die den [llm](https://llm.datasette.io/)-Befehl aufruft; DeepL (`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 **greple** mit `--xlate-engine gpt5` und dem Modul `perl` wie folgt:
greple -Mxlate --xlate-engine gpt5 -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm
In diesem Befehl bedeutet die Zeichenkette `^([\w\pP].*\n)+` aufeinanderfolgende Zeilen, die mit alphanumerischen und Interpunktionszeichen beginnen. Dieser Befehl zeigt den zu übersetzenden Bereich hervorgehoben an. Die Option **--all** wird verwen...
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/select-area.png">
</p>
</div>
Fügen Sie dann die Option `--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 [git(1)](http://man.he.net/man1/git) kompatibel ist. Mit dem Format `ifdef` können Sie den gewünschten Teil einfach mit dem Befehl [unifdef(1)...
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/format-conflict.png">
</p>
</div>
Wenn Sie den gesamten Text übersetzen möchten, verwenden Sie die Option **--match-all**. Dies ist eine Abkürzung, um das Muster `(?s).+` anzugeben, das den gesamten Text erfasst.
Daten im Konfliktmarker-Format können im Side-by-Side-Stil mit dem Befehl [sdif](https://metacpan.org/pod/App%3A%3Asdif) und der Option `-V` angezeigt werden. Da ein Vergleich pro Zeichenkette keinen Sinn ergibt, wird die Option `--no-cdif` empfohle...
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
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:
- Entfernen Sie Leerzeichen am Anfang und Ende jeder Zeile.
- Wenn eine Zeile mit einem vollbreiten Satzzeichen endet, mit der nächsten Zeile verketten.
- Wenn eine Zeile mit einem vollbreiten Zeichen endet und die nächste Zeile mit einem vollbreiten Zeichen beginnt, die Zeilen verketten.
- Wenn entweder das Ende oder der Anfang einer Zeile kein vollbreites Zeichen ist, sie durch Einfügen eines Leerzeichens verketten.
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...
# 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 `MASKPATTERN` als regulären Ausdruck, übersetzt Zeichenfolgen, die damit übereinstimmen, und stellt nach der Verarbeitung den ursprünglichen Zustand wieder her. Zeilen, die mit `#` beginnen, werden ignorier...
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 **--xlate-mask** gesehen werden.
Maskierungsplatzhalter sind wohlgeformte selbstschlieÃende XML-Tags wie `<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 Wurzelelement `...
Maskierung schützt Markup davor, übersetzt zu werden. Um sensible Zeichenfolgen vor dem Ãbersetzungsdienst selbst zu verbergen, siehe ["ANONYMIZATION AND TEMPLATES"](#anonymization-and-templates); beides kann zusammen verwendet werden.
Diese Schnittstelle ist experimentell und kann sich in Zukunft ändern.
# 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 (**--xlate-anonymiz...
Definieren Sie bei Formulardokumenten (Quartalsberichte und dergleichen) die Akteure im Voraus und verweisen Sie im Haupttext auf sie:
---
å ±åè
: å±±ç°å¤ªé
çºæ³¨ä¼ç¤¾: ã¢ã¯ã¡æ ªå¼ä¼ç¤¾
---
æ¬ä»¶ã«ã¤ã㦠{{ å ±åè
}} ã調æ»ãè¡ã£ãã
Ãbersetzen Sie die Vorlage einmal pro Sprache mit `--xlate-template` (und `--xlate-frontmatter`, wenn die Werte in der Datei verbleiben), und rendern Sie dann jeden Fall im eigenständigen Modus **pandoc-embedz** -- Werte unter `global:` in einer ex...
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
Für Inline-Markierungen sorgt eine Konfiguration für Makrodefinitionen dafür, dass dieselbe übersetzte Vorlage entweder die echten Namen oder eine redigierte Version rendert:
README.gpt5-DE.md view on Meta::CPAN
In der aktuellen Implementierung werden mehrere übersetzte Teile einer Zeile als unabhängige Zeilen ausgegeben.
# CACHE OPTIONS
Das Modul **xlate** kann für jede Datei zwischengespeicherten Ãbersetzungstext speichern und ihn vor der Ausführung einlesen, um den Overhead von Serveranfragen zu vermeiden. Mit der Standard-Cache-Strategie `auto` werden Cache-Daten nur beibehalt...
Verwenden Sie **--xlate-cache=clear**, um die Cache-Verwaltung zu starten oder alle vorhandenen Cache-Daten zu bereinigen. Wenn diese Option einmal ausgeführt wurde, wird eine neue Cache-Datei erstellt, falls keine vorhanden ist, und anschlieÃend a...
- --xlate-cache=_strategy_
- `auto` (Default)
Pflegen Sie die Cache-Datei, falls sie existiert.
- `create`
Leere Cache-Datei erstellen und beenden.
- `always`, `yes`, `1`
Den Cache dennoch beibehalten, solange das Ziel eine normale Datei ist.
- `clear`
Zuerst die Cache-Daten löschen.
- `never`, `no`, `0`
Cache-Datei niemals verwenden, selbst wenn sie existiert.
- `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 `accumulate`.
- **--xlate-update**
Diese Option erzwingt das Aktualisieren der Cache-Datei, auch wenn es nicht notwendig ist.
# COMMAND LINE INTERFACE
Sie können dieses Modul einfach über die Kommandozeile verwenden, indem Sie den in der Distribution enthaltenen Befehl `xlate` verwenden. Siehe die `xlate`-Manpage zur Verwendung.
Der `xlate`-Befehl unterstützt GNU-ähnliche Long-Optionen wie `--to-lang`, `--from-lang`, `--engine` und `--file`. Verwenden Sie `xlate -h`, um alle verfügbaren Optionen anzuzeigen.
Der Befehl `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 `-D` oder `-C`.
Docker-Operationen werden von [App::dozo](https://metacpan.org/pod/App%3A%3Adozo) gehandhabt, das auch als eigenständiger Befehl verwendet werden kann. Der Befehl `dozo` unterstützt die Konfigurationsdatei `.dozorc` für persistente Container-Einst...
Da Makefiles für verschiedene Dokumentstile bereitgestellt werden, ist die Ãbersetzung in andere Sprachen ohne besondere Spezifikation möglich. Verwenden Sie die Option `-M`.
Sie können die Optionen Docker und `make` auch kombinieren, sodass Sie `make` in einer Docker-Umgebung ausführen können.
Das Ausführen wie `xlate -C` startet eine Shell mit dem aktuell eingehängten Git-Repository als Arbeitsverzeichnis.
Lesen Sie den japanischen Artikel im Abschnitt ["SEE ALSO"](#see-also) für Details.
# EMACS
Laden Sie die im Repository enthaltene Datei `xlate.el`, um den Befehl `xlate` aus dem Emacs-Editor zu verwenden. Die Funktion `xlate-region` übersetzt den angegebenen Bereich. Die Standardsprache ist `EN-US`, und Sie können die Sprache angeben, in...
<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
Legen Sie Ihren Authentifizierungsschlüssel für den DeepL-Dienst fest.
- OPENAI\_API\_KEY
OpenAI-Authentifizierungsschlüssel, der von den alten **gpty**-Engines verwendet wird. Die auf `llm` basierende **gpt5**-Engine liest diese Variable ebenfalls, aber mit `llm keys set openai` gespeicherte Schlüssel funktionieren ebenfalls.
- GREPLE\_XLATE\_CACHE
Legen Sie die Standard-Cache-Strategie fest (siehe ["CACHE OPTIONS"](#cache-options)).
# INSTALL
## CPANMINUS
$ cpanm App::Greple::xlate
## TOOLS
Installieren Sie das Kommandozeilentool für die von Ihnen verwendete Engine: `llm` für die **gpt5**-Engine, `deepl` für DeepL, `gpty` für die alten GPT-Engines.
[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) - Generischer Docker-Runner, der von xlate für Container-Operationen verwendet wird
## RELATED MODULES
- [App::Greple](https://metacpan.org/pod/App%3A%3AGreple)
Siehe das Handbuch **greple** für Details zum Zieltextmuster. Verwenden Sie die Optionen **--inside**, **--outside**, **--include**, **--exclude**, um den Abgleichsbereich einzuschränken.
- [App::Greple::update](https://metacpan.org/pod/App%3A%3AGreple%3A%3Aupdate)
Sie können das Modul `-Mupdate` verwenden, um Dateien anhand des Ergebnisses des Befehls **greple** zu ändern.
- [App::sdif](https://metacpan.org/pod/App%3A%3Asdif)
Verwenden Sie **sdif**, um das Konfliktmarker-Format nebeneinander mit der Option **-V** anzuzeigen.
- [App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe)
Greple-Modul **stripe** wird mit der Option **--xlate-stripe** verwendet.
## RESOURCES
( run in 1.222 second using v1.01-cache-2.11-cpan-800906f7e73 )