App-Greple-xlate
view release on metacpan or search on metacpan
README.deepl-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** Das Modul sucht die gewünschten Textblöcke und ersetzt sie durch den übersetzten Text. Die primäre Engine ist GPT-5.6 Terra (`llm/gpt5.pm`), die den Befehl [llm](https://llm.datasette.io/) aufruft; DeepL (`deepl.pm`) und ält...
Ãbersetzungen werden pro Datei zwischengespeichert, sodass die erneute Ausführung eines Befehls für unveränderten Text keine Kosten verursacht. Wenn ein Dokument bearbeitet wird, werden nur die geänderten Absätze erneut an die API gesendet; ein...
Wenn Sie normale Textblöcke in einem Dokument übersetzen möchten, das im Perl-Pod-Stil verfasst ist, verwenden Sie den Befehl **greple** zusammen mit den Modulen `--xlate-engine gpt5` und `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 einem alphanumerischen und einem Interpunktionsbuchstaben beginnen. Mit diesem Befehl wird der zu übersetzende Bereich hervorgehoben dargestellt. Die Op...
<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 anschlieÃend die Option `--xlate` hinzu, um den ausgewählten Bereich zu übersetzen. Daraufhin werden die gewünschten Abschnitte gefunden und durch die Ausgabe der Ãbersetzungs-Engine ersetzt.
StandardmäÃig werden der ursprüngliche und der übersetzte Text im Format "Konfliktmarkierung" ausgegeben, das mit [git(1)](http://man.he.net/man1/git) kompatibel ist. Wenn Sie das Format `ifdef` verwenden, können Sie den gewünschten Teil mit de...
<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 wollen, verwenden Sie die Option **--match-all**. Dies ist eine Abkürzung zur Angabe des Musters `(?s).+`, das auf den gesamten Text passt.
Daten im Konfliktmarkerformat können mit dem Befehl [sdif](https://metacpan.org/pod/App%3A%3Asdif) und der Option `-V` nebeneinander angezeigt werden. Da es keinen Sinn macht, die Daten pro Zeichenfolge zu vergleichen, wird die Option `--no-cdif` em...
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 den angegebenen Einheiten, aber im Falle einer Folge von mehreren nicht leeren Textzeilen werden diese zusammen in eine einzige Zeile umgewandelt. Dieser Vorgang wird wie folgt durchgeführt:
- Am Anfang und am Ende jeder Zeile wird der Leerraum entfernt.
- Wenn eine Zeile mit einem Satzzeichen in voller Breite endet, wird sie mit der nächsten Zeile verkettet.
- Wenn eine Zeile mit einem Zeichen voller Breite endet und die nächste Zeile mit einem Zeichen voller Breite beginnt, werden die Zeilen verkettet.
- Wenn entweder das Ende oder der Anfang einer Zeile kein Zeichen mit voller Breite ist, verketten Sie sie durch Einfügen eines Leerzeichens.
Die Cache-Daten werden auf der Grundlage des normalisierten Textes verwaltet. Selbst wenn Ãnderungen vorgenommen werden, die sich nicht auf die Normalisierungsergebnisse auswirken, sind die im Cache gespeicherten Ãbersetzungsdaten weiterhin gültig...
Dieser Normalisierungsprozess wird nur für das erste (0.) und geradzahlige 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 den Tex...
greple -Mxlate -E normalized -E not-normalized
Verwenden Sie daher das erste Muster für Text, der durch die Kombination mehrerer Zeilen in einer einzigen Zeile verarbeitet werden soll, und das zweite Muster für vorformatierten Text. Wenn das erste Muster keinen Text enthält, der übereinstimmt...
# MASKING
Gelegentlich gibt es Textteile, die Sie nicht übersetzt haben möchten. Zum Beispiel Tags in Markdown-Dateien. DeepL schlägt vor, in solchen Fällen den auszuschlieÃenden Teil des Textes in XML-Tags umzuwandeln, zu übersetzen und dann nach Abschl...
--xlate-setopt maskfile=MASKPATTERN
Dadurch wird jede Zeile der Datei `MASKPATTERN` als regulärer Ausdruck interpretiert, übereinstimmende Zeichenfolgen werden übersetzt und nach der Verarbeitung wieder zurückgesetzt. Zeilen, die mit `#` beginnen, werden ignoriert.
Komplexe Muster können über mehrere Zeilen hinweg geschrieben werden, wobei Zeilenumbrüche mit einem Backslash maskiert werden.
Wie der Text durch die Maskierung umgewandelt wird, können Sie mit der Option **--xlate-mask** sehen.
Platzhalter sind wohlgeformte, selbstschlieÃende XML-Tags wie z. B. `<m id="1" />`. JSON-basierte LLM-Engines erhalten die Tags in ihren Eingabe-Arrays. Bei DeepL wird eine Anfrage, die Marker-Tags enthält, mit Escape-Zeichen versehen und in eine t...
Durch Maskierung wird das Markup vor der Ãbersetzung geschützt. Um sensible Zeichenfolgen vor dem Ãbersetzungsdienst selbst zu verbergen, siehe ["ANONYMIZATION AND TEMPLATES"](#anonymization-and-templates); beide Funktionen können zusammen verwen...
Diese Schnittstelle ist experimentell und kann sich in Zukunft noch ändern.
# ANONYMIZATION AND TEMPLATES
Sensible Zeichenfolgen können vor dem Versand an die Ãbersetzungs-API ausgeblendet und in der Ausgabe wiederhergestellt werden. Es stehen drei Quellen für Anonymisierungsregeln zur Verfügung: eine Wörterbuchdatei (**--xlate-anonymize**), Inline-...
Bei Formulardokumenten (Quartalsberichte und Ãhnliches) definieren Sie die Akteure im Vorfeld und verweisen im Hauptteil darauf:
---
å ±åè
: å±±ç°å¤ªé
çºæ³¨ä¼ç¤¾: ã¢ã¯ã¡æ ªå¼ä¼ç¤¾
---
æ¬ä»¶ã«ã¤ã㦠{{ å ±åè
}} ã調æ»ãè¡ã£ãã
Ãbersetzen Sie die Vorlage einmal pro Sprache mit `--xlate-template` (und `--xlate-frontmatter`, wenn die Werte in der Datei gespeichert werden), und rendern Sie dann jeden Fall im eigenständigen Modus mit **pandoc-embedz** â Werte unter `global:...
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
Bei Inline-Markierungen sorgt die Bereitstellung einer Makrodefinitionskonfiguration dafür, dass dieselbe übersetzte Vorlage entweder die tatsächlichen Namen oder eine geschwärzte Version rendert:
README.deepl-DE.md view on Meta::CPAN
Werden in der derzeitigen Implementierung mehrere Teile einer Zeile übersetzt, werden sie als unabhängige Zeilen ausgegeben.
# CACHE OPTIONS
Das Modul **xlate** kann den Text der Ãbersetzung für jede Datei im Cache speichern und vor der Ausführung lesen, um den Overhead durch die Anfrage an den Server zu vermeiden. Bei der Standard-Cache-Strategie `auto` werden die Cache-Daten nur dann...
Verwenden Sie **--xlate-cache=clear**, um die Cache-Verwaltung zu starten oder um alle vorhandenen Cache-Daten zu löschen. Nach der Ausführung dieser Option wird eine neue Cache-Datei erstellt, falls noch keine vorhanden ist, und anschlieÃend auto...
- --xlate-cache=_strategy_
- `auto` (Default)
Cache-Datei beibehalten, wenn sie vorhanden ist.
- `create`
Leere Cachedatei erstellen und beenden.
- `always`, `yes`, `1`
Cache trotzdem beibehalten, sofern das Ziel eine normale Datei ist.
- `clear`
Löschen Sie zuerst die Cache-Daten.
- `never`, `no`, `0`
Niemals die Cache-Datei verwenden, selbst wenn sie vorhanden ist.
- `accumulate`
StandardmäÃig werden nicht verwendete Daten aus der Cache-Datei entfernt. Wenn Sie sie nicht entfernen und in der Datei behalten wollen, verwenden Sie `accumulate`.
- **--xlate-update**
Diese Option erzwingt die Aktualisierung der Cache-Datei, auch wenn dies nicht erforderlich ist.
# COMMAND LINE INTERFACE
Sie können dieses Modul einfach von der Kommandozeile aus verwenden, indem Sie den in der Distribution enthaltenen Befehl `xlate` verwenden. Siehe die Manpage `xlate` zur Verwendung.
Der Befehl `xlate` unterstützt lange Optionen im GNU-Stil wie `--to-lang`, `--from-lang`, `--engine` und `--file`. Verwenden Sie `xlate -h`, um alle verfügbaren Optionen zu sehen.
Der Befehl `xlate` arbeitet mit der Docker-Umgebung zusammen, d. h. selbst wenn Sie nichts installiert haben, können Sie ihn verwenden, solange Docker verfügbar ist. Verwenden Sie die Option `-D` oder `-C`.
Docker-Operationen werden über [App::dozo](https://metacpan.org/pod/App%3A%3Adozo) abgewickelt, das auch als eigenständiger Befehl verwendet werden kann. Der Befehl `dozo` unterstützt die Konfigurationsdatei `.dozorc` für dauerhafte Container-Ein...
Da Makefiles für verschiedene Dokumentstile zur Verfügung gestellt werden, ist auch eine Ãbersetzung in andere Sprachen ohne besondere Angaben möglich. Verwenden Sie die Option `-M`.
Sie können auch die Optionen Docker und `make` kombinieren, so dass Sie `make` in einer Docker-Umgebung ausführen können.
Wenn Sie `xlate -C` ausführen, wird eine Shell gestartet, in der das aktuelle Git-Repository eingebunden ist.
Lesen Sie den japanischen Artikel im Abschnitt ["SEE ALSO"](#see-also) für weitere Details.
# EMACS
Laden Sie die im Repository enthaltene Datei `xlate.el`, um den Befehl `xlate` im Emacs-Editor zu verwenden. Die Funktion `xlate-region` übersetzt die angegebene Region. Die Standardsprache ist `EN-US` und Sie können die Sprache mit dem Präfix-Arg...
<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 Dienst DeepL fest.
- OPENAI\_API\_KEY
OpenAI-Authentifizierungsschlüssel, der von den älteren **gpty**-Engines verwendet wird. Die auf `llm` basierende **gpt5**-Engine liest diese Variable ebenfalls, aber auch mit `llm keys set openai` gespeicherte Schlüssel funktionieren.
- 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 Befehlszeilentool für die von Ihnen verwendete Engine: `llm` für die **gpt5**-Engine, `deepl` für DeepL, `gpty` für die älteren 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 **greple**-Handbuch für Details über Zieltextmuster. Verwenden Sie die Optionen **--inside**, **--outside**, **--include**, **--exclude**, um den passenden Bereich 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 Format der Konfliktmarkierung zusammen mit der Option **-V** anzuzeigen.
- [App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe)
Greple **stripe** Modul Verwendung durch **--xlate-stripe** Option.
## RESOURCES
( run in 1.129 second using v1.01-cache-2.11-cpan-364913b4093 )