Eine Einführung in den Gettext-Filter

Veröffentlicht: 2023-02-12

Ein Plugin oder Theme für deine WordPress-Seite zu finden, das alle deine Anforderungen erfüllt, kann eine Herausforderung sein. Viele kommen vielleicht nahe, müssen aber noch angepasst oder angepasst werden. Als Entwickler ist es außerdem wichtig sicherzustellen, dass Ihr Code flexibel genug ist, um Benutzer auf der ganzen Welt zu unterstützen.

Glücklicherweise gibt es einige Funktionen des WordPress-Kerns, mit denen Sie bestimmte Elemente Ihrer Website anpassen können. Auf diese Weise können Sie Schaltflächen- oder Beschriftungstext anpassen, anstatt ein ansonsten nützliches Plugin aufzugeben, oder sogar Ihre Website für die Übersetzung vorbereiten.

In diesem Artikel vermitteln wir ein besseres Verständnis des gettext-Filters, einschließlich dessen, wie er mit dem Übersetzungsprozess Ihrer Website funktioniert. Es gibt viel zu behandeln, also lass uns gleich eintauchen!

Inhaltsverzeichnis
1. Was ist Gettext?
2. Gettext und PHP für die Übersetzung
2.1. Schritt 1: Extrahieren Sie Textzeichenfolgen als POT-Dateien
2.2. Schritt 2: Erstellen Sie eine Portable Object (PO)-Datei
2.3. Schritt 3: In Machine Object (MO)-Dateien konvertieren
3. Wann ist der WordPress-Gettext-Filter nützlich?
4. Verbreiten Sie Ihre Botschaft mit WP Engine

Was ist Gettext?

Mit dem gettext-Filter können Sie Textelemente auf Ihrer WordPress-Site ändern. Am besten versteht man es an einem Beispiel.

Angenommen, Ihr Kommentarformular hat zwei Felder: „Name“ und „E-Mail“. Wenn Sie lieber „Vorname“ und „E-Mail-Adresse“ lesen möchten, können Sie den gettext-Filter verwenden, um sie zu ändern, anstatt jede Instanz jedes Begriffs in Ihren Themendateien manuell ersetzen zu müssen.

Der Gettext-Filter funktioniert nur, wenn Ihre Website für die Übersetzung vorbereitet wurde. Bevor wir uns damit befassen, wie Sie damit Text anpassen können, müssen wir daher besprechen, wie Sie Ihren Code internationalisieren können.

Einige Begriffe, die Sie verstehen sollten, bevor Sie fortfahren, sind:

  • Internationalisierung (i18n). Das bedeutet, dass Ihr WordPress-Code für die Übersetzung in andere Sprachen vorbereitet wurde.
  • Lokalisierung (l10n). Der Prozess, mit dem Sie die i18n-Programmierung übernehmen und Ihre WordPress-Installation für die Verwendung in einer Muttersprache lokalisieren können.
  • GNU-Gettext-Bibliothek. GNU ist ein freies Open-Source-Betriebssystem. Seine gettext-Bibliothek ermöglicht es Ihnen, Text in Code-Strings zu verpacken, die dann zur Übersetzung extrahiert werden können.
  • POT-Datei: Um die Extraktion der übersetzbaren Zeichenfolgen auszuführen, die mit gettext-Funktionen erstellt wurden, werden Portable Object Template (POT)-Dateien erstellt.
  • PO-Datei: Ein Tool wie Poedit verwendet eine POT-Datei, um Portable Object (PO)-Dateien zu erstellen, die die abgeschlossenen Übersetzungen sowie die übersetzbaren Zeichenfolgen enthalten.
  • MO-Datei: Eine Machine Object (MO)-Datei wird aus einer PO-Datei erstellt. Es befindet sich in Ihrem Plugin- oder Theme-Verzeichnis und wird von Ihrem Server bereitgestellt, wenn eine übersetzte Version Ihrer Website angefordert wird.

Diese Elemente spielen alle eine Rolle bei der Vorbereitung von WordPress-Produkten für die Übersetzung, wie Sie in den folgenden Schritten sehen werden.

Gettext und PHP für die Übersetzung

Nachfolgend haben wir den Arbeitsablauf zum Internationalisieren eines Designs oder Plugins erläutert. Bevor Sie mit solchen Änderungen experimentieren, sollten Sie ein untergeordnetes Thema erstellen, mit dem Sie arbeiten können. Dadurch wird Ihre Website vor möglichen Katastrophen geschützt.

Schritt 1: Extrahieren Sie Textzeichenfolgen als POT-Dateien

Als Erstes sollten Sie überprüfen, ob Ihr Design oder Plugin bereits POT-Dateien enthält. Wenn nicht, müssen Sie sie automatisch generieren, manuell mit Terminal erstellen oder eine von WordPress empfohlene Anwendung namens Poedit verwenden, die wir bereits erwähnt haben:

Die Pro-Version bietet eine schnelle WordPress-Funktion zum Erstellen der benötigten Dateien. Mit der kostenlosen App können Sie jedoch immer noch mit ein paar zusätzlichen Klicks eine POT-Datei generieren.

Um loszulegen, müssen Sie Poedit herunterladen und installieren, das auf Ihrem Desktop ausgeführt wird. Navigieren Sie anschließend zu File > New . Sie werden aufgefordert, die Sprache für Ihre Übersetzung auszuwählen:

Sie müssen dann Ihr neues Projekt speichern, bevor Sie fortfahren. Als Nächstes haben Sie die Möglichkeit, eine vorhandene POT-Datei zu aktualisieren oder aus Quellen zu extrahieren :

Bei Bedarf können Sie auch mit einer leeren POT-Datei beginnen und dann Ihre Textzeichenfolgen in Poedit ändern. Alternativ können Sie Glotpress nach vorhandenen Plugin- und Designdateien durchsuchen, die Sie verwenden können. Nehmen wir für dieses Beispiel jedoch an, dass Sie die andere Option verwenden müssen.

Sobald Sie auf Aus Quellen extrahieren klicken, haben Sie drei Registerkarten mit Einstellungen zum Konfigurieren:

Sie müssen die Pfade für die Quellen Ihrer Textzeichenfolgen festlegen. Sie können auch bestimmte Pfade ausschließen. Dann möchten Sie Ihre Übersetzungseigenschaften konfigurieren:

Hier benennen Sie Ihr Projekt und passen die Einstellungen für Pluralformen und andere sprachspezifische Elemente an. Schließlich können Sie die Registerkarte Sources Keywords verwenden, um die Einrichtung für Ihre POT-Datei abzuschließen:

Wenn Sie auf das Pluszeichen klicken, können Sie gettext-Schlüsselwörter hinzufügen, um Ihre Übersetzungseinrichtung abzuschließen. Sie können auch Textzeichenfolgen aus Ihren Quelldateien anzeigen und durchsuchen.

Schritt 2: Erstellen Sie eine Portable Object (PO)-Datei

Als Nächstes müssen Sie Ihre POT-Datei für jede Sprache, die Sie hinzufügen möchten, in eine PO-Datei konvertieren. Wenn Sie Ihr Design oder Plugin nicht übersetzen und den gettext-Filter nur für Substitutionen vom Englischen ins Englische verwenden möchten, stellen Sie beide Sprachen (Quelle und Übersetzung) auf Englisch ein.

Wenn Sie in Poedit zu Katalog > Aus POT-Datei aktualisieren navigieren, können Sie die Datei auswählen, die Sie übersetzen möchten:

Als nächstes durchläuft die Datei einen Extraktionsprozess, bei dem alle übersetzbaren Zeichenfolgen in Poedit gebracht werden. Dadurch wird die PO-Datei erstellt. Sie sollten es so benennen, dass es zu Ihren anderen Dateien für dieses Projekt passt.

Klicken Sie dann unten in der Liste der Textzeichenfolgen auf Neue Übersetzung erstellen , um mit den Änderungen zu beginnen:

Um den Text von Englisch nach Englisch zu ändern, klicken Sie einfach auf die Zeichenfolge, die Sie ändern möchten, und verwenden Sie das Übersetzungsfenster unter Quelltext , um das ersetzte Wort einzugeben:

Führen Sie diesen Vorgang für jeden Text durch, den Sie in Ihrem Design oder Plugin ändern möchten. Als Nächstes erstellen Sie die letzte der drei erforderlichen Dateien.

Schritt 3: In Machine Object (MO)-Dateien konvertieren

Bisher haben Sie Schritte unternommen, um Programmieranweisungen für Ihre Übersetzungen zu erstellen. Jetzt müssen Sie jede PO-Datei konvertieren, damit sie vom Server gelesen werden kann und den Besuchern den gewünschten Text liefert.

Je nachdem, wie Sie den Poedit-Workflow durchlaufen, wurde möglicherweise bereits eine MO-Datei im Sprachenordner Ihres Designs erstellt. Wenn nicht, navigieren Sie zu File > Compile to MO :

Jetzt sollten Sie über die Komponenten verfügen, die Sie zum Ausführen von Funktionen benötigen, die durch den gettext-Filter in WordPress ermöglicht werden.

Wann ist der WordPress-Gettext-Filter nützlich?

Obwohl der oben beschriebene Prozess Ihnen helfen könnte, Ihre Website in viele Sprachen zu übersetzen, ist dies nicht der Zweck des gettext-Filters. Mit anderen Worten, Sie möchten diesen Hook nicht verwenden, um englischen Text in Spanisch umzuwandeln.

Dies ist eher eine Designfunktion, die Sie verwenden können, um Standardtext zu ändern, der Ihrer Website durch ein Plugin oder Design hinzugefügt wird, z. B. durch:

  • Etikettenanpassung
  • Schaltflächentext ändert sich
  • Kursänderungen

Dieser Prozess kann verwendet werden, um jeden Text anzupassen, der in Ihren Website-Dateien als übersetzbar gilt. Um ein weiteres Beispiel zu geben: Wenn Ihr Thema voreingestellte Schaltflächen mit der Aufschrift „Jetzt kaufen“ hat, Ihre Website diese jedoch benötigt, um „Abonnieren“ zu lesen, gettext ist der Filter, der diese Veränderung Wirklichkeit werden lässt.

Es ist wichtig zu beachten, dass die zu häufige Verwendung von gettext negative Auswirkungen auf die Leistung Ihrer Website haben kann. Dies ist zusätzlicher Code, der jedes Mal ausgeführt werden muss, wenn Ihre Website geladen wird. Verwenden Sie ihn daher sparsam, um eine verringerte Seitengeschwindigkeit zu vermeiden.

Verbreiten Sie Ihre Botschaft mit WP Engine

Die Entscheidung, ob Sie Plugins verwenden oder manuelle Codeänderungen an Ihrer Website vornehmen möchten, kann eine Herausforderung darstellen. Aus diesem Grund ist es entscheidend, die besten Entwicklerressourcen zur Hand zu haben. Ausgestattet mit der fachkundigen, professionellen Unterstützung von WP Engine haben Sie alles, was Sie brauchen, um eine hochgradig angepasste Website zu erstellen.

Sehen Sie sich unsere verwalteten dedizierten WordPress-Hosting-Pläne für Ihr nächstes Projekt an. Wir decken Ihre Serverwartung ab, damit Sie mit Leichtigkeit innovativ sein können!