Füge Unterstützung für LibreTranslate hinzu und verbessere die Benutzeroberfläche

This commit is contained in:
Torsten Schulz (local)
2026-09-16 12:01:39 +02:00
parent 701720f029
commit 414c218839
4 changed files with 354 additions and 426 deletions

77
docs/libretranslate.md Normal file
View File

@@ -0,0 +1,77 @@
# Lokaler LibreTranslate-Server
LibreTranslate stellt eine HTTP-API auf dem eigenen Rechner bereit. Es werden keine
Texte an einen externen Übersetzungsdienst gesendet. Die Standardadresse ist
`http://localhost:5000`.
## Installation unter Linux
Voraussetzung: Python 3.8 oder neuer. In einem Terminal:
```bash
python3 -m venv ~/.local/share/libretranslate-venv
~/.local/share/libretranslate-venv/bin/pip install --upgrade pip libretranslate
~/.local/share/libretranslate-venv/bin/libretranslate
```
Beim ersten Start werden Sprachmodelle geladen. Für weniger Speicherbedarf kann man
nur benötigte Sprachen laden, beispielsweise Englisch und Deutsch:
```bash
~/.local/share/libretranslate-venv/bin/libretranslate --load-only en,de
```
Der Server bleibt im Terminal aktiv. Anschließend in Renpy Translation Helper im
Auswahlfeld **Provider** `LibreTranslate (local)` wählen. Die voreingestellte lokale
URL `http://localhost:5000` übernehmen oder anpassen. Die verfügbaren Sprachpaare
werden automatisch geladen.
## Nur Englisch und Deutsch nachinstallieren
Wurde ein erster Start ohne `--load-only` abgebrochen, können bereits einige
unpassende Modelle installiert sein. Den Server mit `Strg+C` beenden und die zwei
benötigten Richtungen explizit installieren:
```bash
~/.local/share/libretranslate-venv/bin/argospm update
~/.local/share/libretranslate-venv/bin/argospm install translate-en_de
~/.local/share/libretranslate-venv/bin/argospm install translate-de_en
~/.local/share/libretranslate-venv/bin/libretranslate --load-only en,de
```
Mit `curl http://127.0.0.1:5000/languages` prüfen, ob sowohl `en` mit Ziel `de`
als auch `de` mit Ziel `en` aufgelistet wird. Erst dann kann die App diese
Sprachrichtung anbieten.
## Nutzung durch andere Anwendungen
Sprachen abfragen:
```bash
curl http://localhost:5000/languages
```
Einen Text übersetzen:
```bash
curl -X POST http://localhost:5000/translate \
-H 'Content-Type: application/json' \
-d '{"q":"Hello world","source":"en","target":"de","format":"text"}'
```
Für mehrere Texte kann `q` ein Array sein:
```bash
curl -X POST http://localhost:5000/translate \
-H 'Content-Type: application/json' \
-d '{"q":["Hello","Good night"],"source":"en","target":"de","format":"text"}'
```
Die Antwort enthält `translatedText` bei mehreren Eingaben ebenfalls als Array.
## Hinweis zu AMD-Grafikkarten
LibreTranslate/Argos Translate verwendet regulär die CPU. Die offiziell dokumentierte
GPU-Beschleunigung setzt CUDA voraus und ist damit für Nvidia vorgesehen. Eine
AMD-GPU wird in diesem Standard-Setup nicht genutzt; für normale Ren'Py-Dialoge ist
der CPU-Betrieb dennoch brauchbar.