gettext für Übersetzungen in KH möglich?  [GELÖST]

Diskussionen zur Bedienung von KeyHelp.
Post Reply
PadMan
Posts: 18
Joined: Sat 15. Jan 2022, 04:02
Location: /home/users

gettext für Übersetzungen in KH möglich?

Post by PadMan »

Hallo,
ich wollte zur Sprachübersetzung gettext verwenden, das Modul ist aktiviert (PHP 8), aber mit den vielen Beispielen aus dem Netz wird keine Sprache aus den Sprachdateien übersetzt bzw. verarbeitet und es erscheint lediglich nur der Text aus der PHP-Datei, der aber eigentlich durch die Sprachdatei ersetzt sein müsste und die Angaben stimmen laut der Anleitung für die Übersetzung überein.

Auch mit der Sucherei im Netz konnte ich nichts finden und bei einigen Beispielvideos klappt aber das gezeigte Beispiel :roll:

Ich weiß nicht mehr weiter, oder ist gettext inzwischen veraltet oder gab es in PHP viele Änderungen, dass gettext mit dem PHP-Code nicht mehr funktioniert, wobei keine Fehlermeldung auftritt, nicht mal in den Logs?

Oder hätte eventuell jemand einen funktionierenden PHP-Code, der wohl in KeyHelp funktionieren könnte?

Ich würde sehr gerne Übersetzungen mit gettext machen, bisher waren es nur PHP-Dateien...

Verwendetes Beispiel aus youtu.be/ggvFQdX2qGE aber auch andere die ähnlich sind...

Ein Neustart brachten ebenfalls keine Änderungen...

Zum System:
  • aktuelles KH, Debian 11, PHP 8.1.1 (Hoster, produktiv)
  • aktuelles KH, Debian 11, PHP 8.1.1 (lokal und frisch installiert, Test)
Viele Grüße / greetings
PadMan
User avatar
Alexander
Keyweb AG
Posts: 3814
Joined: Wed 20. Jan 2016, 02:23

Re: gettext für Übersetzungen in KH möglich?

Post by Alexander »

Hallo,

damit die PHP-Erweiterung gettext funktioniert...

1) ... müssen die Locales zunächst auf dem Server vorhanden sein

Code: Select all

locales -a
2) ... weiterhin muss im Code die gewünschte locale explizit gesetzt sein

Code: Select all

setlocale(LC_ALL, 'en_US.utf8');
putenv('LANGUAGE=en_US');
3) ... sollte in der .po Datei dann oben bei den Meta-Daten auch die die Zeile mit der Sprache auftauchen, z.B.:

Code: Select all

"Language: en_US\n"
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
PadMan
Posts: 18
Joined: Sat 15. Jan 2022, 04:02
Location: /home/users

Re: gettext für Übersetzungen in KH möglich?  [GELÖST]

Post by PadMan »

Vielen Dank für die Hilfe :)

Einen Riesen großen Dank auch an space2place 8-) weil er mir auch einen großen Denkanstoß gab, denn auf dem Betriebssystem (Debian) müssen auch die Sprachpakete installiert sein, fehlen diese, klappt es mit gettext auch nicht.

Sprachpakete installieren
Im Netz fand ich folgende Abhilfe, hierdurch werden alle verfügbaren Sprachen auf einmal installiert 8-)

Natürlich könnte man jedes Sprachpaket einzeln installierten, aber wenn zum Beispiel ein Kunde in einer Sprache übersetzen möchte, die im System nicht installiert ist, müsste diese nachinstalliert werden. Mit einer vollständigen Installation der Sprachen erspart man sich das Nachinstallieren und hat genug "Reserven" für eine Übersetzung ;)

Code: Select all

apt install locales-all
Alle installierten Sprachen anzeigen (Debian 11)

Code: Select all

localectl list-locales
Beispielausgabe (gekürzt)

Code: Select all

aa_DJ.UTF-8
af_ZA.UTF-8
an_ES.UTF-8
[...]
cy_GB.UTF-8
da_DK.UTF-8
de_AT.UTF-8
de_BE.UTF-8
de_CH.UTF-8
de_DE.UTF-8
de_IT.UTF-8
de_LI.UTF-8
de_LU.UTF-8
el_CY.UTF-8
[...]
zh_SG.UTF-8
zh_TW.UTF-8
zu_ZA.UTF-8
Anzahl der installierten Sprachen anzeigen

Code: Select all

localectl list-locales | wc -l
Beispielausgabe

Code: Select all

151
Viele Grüße / greetings
PadMan
User avatar
Alexander
Keyweb AG
Posts: 3814
Joined: Wed 20. Jan 2016, 02:23

Re: gettext für Übersetzungen in KH möglich?

Post by Alexander »

Jap, das meinte ich mit meinem Punkt 1 ;).
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Post Reply