ToDo: LibreTranslate

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

ToDo: LibreTranslate

Beitrag von r23 »

Hallo,

LibreTranslate ist eine Open-Source-Übersetzungsplattform, die wir auf unserem eigenen Server hosten können. Es bietet uns mehr Privatsphäre und Kontrolle über unsere Daten als kommerzielle Übersetzungsdienste. LibreTranslate verwendet maschinelles Lernen und neuronale Netzwerke, um Übersetzungen zwischen verschiedenen Sprachen bereitzustellen. Es kann Texte in Echtzeit übersetzen und ist für die Automatisierung von Übersetzungsprozessen nützlich.

Die Übersetzungsqualität von LibreTranslate ist jedoch noch nicht ganz auf dem Niveau von DeepL, das als einer der besten Übersetzungsdienste gilt. LibreTranslate kann manchmal Fehler machen, vor allem bei komplexen oder fachspezifischen Wörtern.

LibreTranslate ist also eine gute Option, wenn wir einen freien, dezentralen und privaten Übersetzungsdienst suchen, der für die meisten alltäglichen Texte ausreichend ist. Wenn wir jedoch eine höhere Übersetzungsqualität, eine größere Sprachauswahl oder eine professionelle Übersetzung benötigen, sollten wir vielleicht einen anderen Dienst in Betracht ziehen.

Übersetzungen mit LibreTranslate: Lokal installieren und betreiben.
https://www.heise.de/ratgeber/Uebersetz ... 28576.html.

Übersetzungsdienste für die Webentwicklung: LibreTranslate, DeepL und ....
https://blog.admin-code.de/uebersetzung ... vergleich/.

Code: Alles auswählen

```php
require_once("path/to/LibreTranslate.php");
use Jefs42\LibreTranslate;

// Erstellen Sie ein LibreTranslate-Objekt mit localhost:5000 als Host und Deutsch als Quell- und Englisch als Zielsprache
$translator = new LibreTranslate("http://localhost:5000", "de", "en");

// Erkennen Sie die Sprache eines Textes
$lang = $translator->detect("Wie geht es dir?"); // erwartetes Ergebnis: $lang = "de"

// Übersetzen Sie einen Text mit den voreingestellten Sprachen
$translatedText = $translator->translate("Wie geht es dir?"); // erwartetes Ergebnis: $translatedText = "How are you?"

// Übersetzen Sie einen Text mit anderen Sprachen
$translatedText = $translator->translate("Wie geht es dir?", "de", "fr"); // erwartetes Ergebnis: $translatedText = "Comment vas-tu ?"

// Holen Sie sich die Liste der verfügbaren Sprachen
$languages = $translator->languages(); // erwartetes Ergebnis: $languages = ["ar", "de", "en", "es", "fr", "it", "pt", "ru", "zh"]
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: ToDo: LibreTranslate

Beitrag von r23 »

Hallo

in unserer Entwicklungsumgebung steht nun LibreTranslate zur Verfügung. Wenn man diesen in einer Putty-Konsole startet und diese schließt, steht der Service nicht mher zur Verfügung.

Die Lösung:
8<-

Wenn Sie LibreTranslate in einer Putty-Konsole starten, wird der Prozess beendet, wenn Sie die Konsole schließen. Um dies zu vermeiden, müssen Sie LibreTranslate im Hintergrund ausführen, damit er weiterläuft, auch wenn Sie die Konsole schließen.

Es gibt verschiedene Möglichkeiten, um LibreTranslate im Hintergrund auszuführen. Eine Möglichkeit ist, einen Ampersand (&) an das Ende des Befehls anzuhängen, zum Beispiel:

```bash

Code: Alles auswählen

libretranslate [args] &
```

Dies wird LibreTranslate im Hintergrund starten, aber Sie müssen noch die Ausgabe umleiten, damit sie nicht in der Konsole erscheint. Sie können dies tun, indem Sie `> /dev/null 2>&1` an den Befehl anhängen, zum Beispiel:

```bash

Code: Alles auswählen

libretranslate [args] > /dev/null 2>&1 &
```

Dies wird LibreTranslate im Hintergrund starten und die Ausgabe verwerfen. Sie können dann die Konsole schließen, ohne den Prozess zu beenden¹.

Eine andere Möglichkeit ist, die `nohup`-Funktion zu verwenden, die einen Prozess vor dem Hängen aufhält, wenn die Konsole geschlossen wird. Sie können dies tun, indem Sie `nohup` vor den Befehl stellen, zum Beispiel:

```bash

Code: Alles auswählen

nohup libretranslate [args] &
```

Dies wird LibreTranslate im Hintergrund starten und die Ausgabe in eine Datei namens `nohup.out` schreiben. Sie können dann die Konsole schließen, ohne den Prozess zu beenden².

Eine weitere Möglichkeit ist, die `setsid`-Funktion zu verwenden, die einen Prozess in eine neue Sitzung verschiebt, die von der Konsole unabhängig ist. Sie können dies tun, indem Sie `setsid` vor den Befehl stellen, zum Beispiel:

```bash

Code: Alles auswählen

setsid libretranslate [args]
```

Dies wird LibreTranslate im Hintergrund starten und die Ausgabe in der Konsole anzeigen. Sie können dann die Konsole schließen, ohne den Prozess zu beenden³.

(1) Running programs in the background from terminal - Ask Ubuntu. https://askubuntu.com/questions/106351/ ... m-terminal.
(2) libretranslate · PyPI. https://pypi.org/project/libretranslate/.
(3) GitHub - argosopentech/LibreTranslate-init: Shell scripts to install .... https://github.com/argosopentech/LibreTranslate-init.
(4) GitHub - LibreTranslate/LibreTranslate: Free and Open Source Machine .... https://github.com/LibreTranslate/LibreTranslate.
(5) Running programs in the background from terminal - Ask Ubuntu. https://askubuntu.com/questions/106351/ ... m-terminal.
(6) libretranslate · PyPI. https://pypi.org/project/libretranslate/.
(7) Running programs in the background from terminal - Ask Ubuntu. https://askubuntu.com/questions/106351/ ... m-terminal.
(8) Install LibreTranslate Inside Docker Container in Linux. https://lindevs.com/install-libretransl ... r-in-linux.
(9) GitHub - LibreTranslate/LibreTranslate: Free and Open Source Machine .... https://github.com/LibreTranslate/LibreTranslate.
(10) undefined. https://libretranslate.com/translate.
(11) undefined. http://thingsilearned.com/2009/05/26/gn ... -tutorial/.
(12) undefined. https://github.com/argosopentech/LibreT ... e-init.git.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: ToDo: LibreTranslate

Beitrag von r23 »

Kann ich LibreTranslate als Systemd-Dienst ausführen?

Systemd ist ein System- und Dienstmanager, der es Ihnen ermöglicht, Programme als Dienste zu starten, zu stoppen, zu überwachen und zu verwalten¹. Wenn Sie LibreTranslate als Systemd-Dienst ausführen, können Sie von einigen Vorteilen profitieren, wie zum Beispiel:

- LibreTranslate wird automatisch beim Systemstart gestartet und bei einem Fehler neu gestartet².
- LibreTranslate läuft im Hintergrund und wird nicht durch das Schließen der Konsole oder das Abmelden des Benutzers beeinträchtigt³.
- LibreTranslate kann leicht mit anderen Systemd-Befehlen gesteuert werden, wie zum Beispiel `systemctl status`, `systemctl stop`, `systemctl restart` usw.⁴.

Um LibreTranslate als Systemd-Dienst auszuführen, müssen Sie zuerst eine Dienstdatei erstellen, die die Eigenschaften und Optionen des Dienstes definiert. Sie können diese Datei in `/etc/systemd/system/` platzieren und mit einer `.service`-Erweiterung benennen, zum Beispiel `libretranslate.service`. Hier ist ein Beispiel für eine einfache Dienstdatei für LibreTranslate:

```ini

Code: Alles auswählen

[Unit]
Description=LibreTranslate Service
After=network.target

[Service]
Type=simple
User=libretranslate
WorkingDirectory=/opt/libretranslate
ExecStart=/usr/bin/python -m libretranslate
Restart=on-failure

[Install]
WantedBy=multi-user.target
```

Diese Datei definiert einen Dienst namens `LibreTranslate Service`, der nach dem Netzwerkziel gestartet wird. Der Diensttyp ist `simple`, was bedeutet, dass der Hauptprozess direkt vom `ExecStart`-Befehl gestartet wird. Der Dienst läuft unter dem Benutzer `libretranslate` und im Arbeitsverzeichnis `/opt/libretranslate`. Der `ExecStart`-Befehl startet LibreTranslate mit Python. Der Dienst wird bei einem Fehler neu gestartet. Der Dienst wird vom `multi-user.target` gewünscht, was bedeutet, dass er in der normalen Mehrbenutzerumgebung gestartet wird⁵.

Sie können diese Datei nach Ihren Bedürfnissen anpassen, zum Beispiel können Sie zusätzliche Argumente an den `ExecStart`-Befehl anhängen, um den Host, den Port, die Modelle oder andere Optionen für LibreTranslate anzugeben.

Nachdem Sie die Dienstdatei erstellt haben, müssen Sie den Systemd-Daemon neu laden, um die Änderungen zu erkennen. Sie können dies tun, indem Sie diesen Befehl ausführen:

```bash

Code: Alles auswählen

sudo systemctl daemon-reload
```

Dann können Sie den LibreTranslate-Dienst starten, stoppen, neu starten oder überprüfen, indem Sie diese Befehle verwenden:

```bash

Code: Alles auswählen

sudo systemctl start libretranslate.service
sudo systemctl stop libretranslate.service
sudo systemctl restart libretranslate.service
sudo systemctl status libretranslate.service
```

Wenn Sie wollen, dass der LibreTranslate-Dienst automatisch beim Systemstart gestartet wird, können Sie ihn aktivieren, indem Sie diesen Befehl verwenden:

```bash

Code: Alles auswählen

sudo systemctl enable libretranslate.service
```

Ich hoffe, das hilft Ihnen weiter.


(1) GitHub - LibreTranslate/LibreTranslate: Free and Open Source Machine .... https://github.com/LibreTranslate/LibreTranslate.
(2) How To Add Your Own Services to systemd For Easier Management - How-To Geek. https://www.howtogeek.com/devops/how-to ... anagement/.
(3) How to Run Shell Script as Systemd in Linux – TecAdmin. https://tecadmin.net/run-shell-script-a ... d-service/.
(4) Creating User’s Services With systemd | Baeldung on Linux. https://www.baeldung.com/linux/systemd- ... r-services.
(5) undefined. https://libretranslate.com/translate.
(6) GitHub - LibreTranslate/LibreTranslate: Free and Open Source Machine .... https://github.com/LibreTranslate/LibreTranslate.
(7) How To Add Your Own Services to systemd For Easier Management - How-To Geek. https://www.howtogeek.com/devops/how-to ... anagement/.
(8) How to Run Shell Script as Systemd in Linux – TecAdmin. https://tecadmin.net/run-shell-script-a ... d-service/.
(9) GitHub - LibreTranslate/LibreTranslate: Free and Open Source Machine .... https://github.com/LibreTranslate/LibreTranslate.
(10) How To Add Your Own Services to systemd For Easier Management - How-To Geek. https://www.howtogeek.com/devops/how-to ... anagement/.
(11) How To Add Your Own Services to systemd For Easier Management - How-To Geek. https://www.howtogeek.com/devops/how-to ... anagement/.
(12) Creating User’s Services With systemd | Baeldung on Linux. https://www.baeldung.com/linux/systemd- ... r-services.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: ToDo: LibreTranslate

Beitrag von r23 »

Hallo,

ohne nennenswerte Probleme konnte ich LibreTranslate auf meinem Windows Rechner installieren
2023-12-28 09_51_43-Greenshot.png
2023-12-28 09_51_43-Greenshot.png (359.41 KiB) 198 mal betrachtet
Antworten