Leitfaden

Was WordPress i18n ist und warum es wichtig ist: Hier erfährst du alles, was du wissen musst!

Merve Alsan
Geschrieben von
Merve Alsan
Merve Alsan
Geschrieben von
Merve Alsan
Überprüft
Überprüft von
Was WordPress i18n ist und warum es wichtig ist: Hier erfährst du alles, was du wissen musst!

Für die Unwissenden: WordPress ist das Herzstück von fast 43 Prozent der weltweiten Websites. Außerdem ist das Content Management System (CMS) in 205 verschiedenen Ländern verfügbar. Da die Plattform eine globale Einheit ist, ist die Lokalisierung wichtig. Der WordPress-i18n-Prozess ist der Schlüssel dazu.

Der "Lift Pitch" für i18n ist, dass es eine Möglichkeit ist, Ihren Theme- und Plugin-Code für die Übersetzung vorzubereiten. Von dort aus können Sie genaue Übersetzungen auf andere Sprachen anwenden, sich an andere Kulturen und Orte anpassen und die Vorteile nutzen.

In diesem Beitrag gehen wir näher auf WordPress i18n ein und zeigen Ihnen, wie Sie es anwenden können. Sie sollten zwar einige Programmierkenntnisse haben, aber wir werden auch die Schritte im Detail besprechen - zusammen mit dem, was WordPress i18n ist (und tut).

Was bedeutet i18n?

Als Produkt eines vergangenen Zeitalters ist die "Fachsprache" in Webentwicklerkreisen immer noch sehr lebendig. Sie werden zwar nicht viel von "l33t" und "n00b" hören, aber Sie werden viele Zahlwörter sehen: a11y, wenn es zum Beispiel um Barrierefreiheit geht.

In der Tat ist i18n ein weiteres Numeronym. Es steht für "Internationalisierung" und besteht aus dem ersten und letzten Buchstaben in Kombination mit einer Zahl, die angibt, wie viele andere Buchstaben dazwischen liegen. Auch die Lokalisierung hat ihr eigenes Numeronym: l10n. Es gibt noch weitere Numeronyme, wie Globalisierung (g11n), Europäisierung (e13n) und viele mehr.

Hier werden wir uns speziell mit der Internationalisierung befassen. In der offiziellen Beschreibung des World Wide Web Consortium (W3C) heißt es, dass Design und Entwicklung eine einfache Lokalisierung für Benutzer aus verschiedenen Kulturen, Gegenden, Sprachen und mehr ermöglichen.

Es ist wichtig zu wissen, dass die Internationalisierung nur ein erster Schritt im Übersetzungsprozess ist. Danach führen Sie die Lokalisierung mit einer geeigneten Übersetzungslösung durch.

Die Grundlagen des i18n-Lokalisierungsprozesses

Für den i18n-Prozess selbst gibt es eine Reihe von Schritten, die der WordPress-Entwickler unternimmt, bevor er die Arbeit an den Übersetzer abgibt. Kurz gesagt, läuft der Lokalisierungsprozess wie folgt ab:

  • Fügen Sie einen "text domain"-Tag zu Ihren Seitenüberschriften hinzu.
  • Laden Sie eine Sprachdatei mit Hilfe einiger spezieller WordPress-Funktionen.
  • Markieren Sie Textstrings mit Hilfe von "gettext"-Funktionen (wir werden in Kürze darüber sprechen).
  • Erzeugen Sie einePOT-Datei (Portable Object Template) für Ihr Thema oder Plugin und fügen Sie diese ein.
  • Möglicherweise möchten Sie eine Cascading StyleSheets (CSS)-Datei für Rechts-nach-Links-Sprache (RTL) erstellen.

Der Übersetzer nimmt die .pot-Datei und verwendet sie für die Lokalisierung, sie ist also ein wichtiger Teil des Verfahrens.

Eine kurze Einführung in das Tool gettext

Für die Unwissenden: POT-Dateien sind ein Beispiel für die Dateien, die Sie mit dem GNU-Tool gettext erzeugen. Dies ist eine Technologie und Software aus den 1980er Jahren, die auch heute noch einen immensen Wert für diejenigen hat, die i18n betreiben.

Es ist nicht notwendig, genau zu wissen, was das ist, um WordPress i18n auszuführen, aber es ist nützlich zu verstehen, was es im Allgemeinen tut und was es erzeugt. Betrachten Sie gettext als ein Framework, das WordPress hilft, mehrsprachige Nachrichten zu erzeugen.

Sie werden oft eine Reihe von Dateien sehen, die mit gettext verbunden sind:

  • POT-Dateien. Dies ist die Vorlage für deine i18n-Bemühungen und wird vom Übersetzer verwendet, um seinen Teil des Prozesses zu starten.
  • Portable Object (PO) Dateien. Im Grunde genommen gibt es keinen wirklichen Unterschied zwischen POT und PO Dateien. Während der Übersetzung enthält die PO-Datei Textstrings sowohl in der Muttersprache als auch in der übersetzten Sprache.
  • Machine Object (MO) Dateien. Betrachte MO-Dateien als die WordPress-Code-freundliche Version einer PO-Datei. Diese befindet sich im Theme- oder Plugin-Verzeichnis deiner Installation und liefert die Übersetzungen, wenn WordPress sie braucht.

Wenn Sie all dies bedenken, können Sie fast mit dem i18n-Prozess beginnen. Zunächst ist es gut, Ihre WordPress-Website auf die bevorstehende Arbeit vorzubereiten.

Bevor Sie mit der Durchführung des WordPress-i18n-Prozesses beginnen

Wie bei jedem Projekt, das sich auf WordPress-Kerndateien bezieht, sollten Sie sicherstellen, dass Ihre Installation "sauber" ist, bevor Sie beginnen. Außerdem sollten Sie sicherstellen, dass Sie alle vorgenommenen Änderungen rückgängig machen können, für den Fall, dass das schlimmste Szenario eintritt und Sie die Installation wiederherstellen müssen.

Daher gibt es zwei fast unverzichtbare "Vorstufen" vor dem i18n-Prozess:

  • Erstellen Sie ein vollständiges Backup Ihrer Website. Dies sollte eine Selbstverständlichkeit sein, denn nur mit einer vollständigen Sicherung können Sie Ihre Website schützen, falls Sie noch einmal von vorne anfangen müssen.
  • Führen Sie ein Plugin-Audit durch. Es ist eine gute Idee, einen Blick auf alle Plugins zu werfen, die auf Ihrer Website installiert sind, und sich zwei Fragen zu stellen: Gibt es ein Update, und brauche ich das Plugin?

In diesem Fall raten wir Ihnen, die Plugins zu aktualisieren, die Sie behalten möchten, und die nicht mehr benötigten zu löschen.

Auch hier werden wir in den WordPress-Kerndateien arbeiten, also sollten Sie wissen, wie diese funktionieren und was sie enthalten. Einige der Konzepte, über die wir in diesem Tutorial sprechen, müssen nicht unbedingt erklärt werden, obwohl die Schritte selbst dies tun.

Wenn alle diese Punkte erfüllt sind, können Sie mit der Arbeit am i18n-Prozess beginnen.

So führen Sie den WordPress-i18n-Prozess mit Ihren Themes und Plugins durch

In den nächsten Abschnitten werden wir Ihnen zeigen, wie Sie WordPress i18n mit Ihren Themes und Plugins durchführen können. Obwohl jeder Abschnitt sehr code-lastig und teilweise technisch sein kann, werden wir alles so gründlich wie möglich erklären und auf weitere Ressourcen verweisen, die Sie benötigen.

Wir beginnen damit, wie Sie Ihre Themen internationalisieren können.

Wie man ein übersetzungsfähiges WordPress-Theme erstellt

Der erste Schritt besteht darin, die Kopfzeile des Themas zu aktualisieren, um eine Textdomäne und einen Domänenpfad einzufügen. Kurz gesagt:

  • Die Text-Domain hilft WordPress zu verstehen, welche Strings zum Thema "gehören". Dieser muss mit dem Slug Ihres Themas (und Plugins) übereinstimmen.
  • Der Domänenpfad ist der Ordner in den Dateien Ihres Themas, in dem die Übersetzungsdateien "leben" werden. Das Verzeichnis /languages/ ist der typische und Standardname, aber Sie können auch einen anderen Namen verwenden, wenn Sie möchten.

Dazu müssen lediglich ein paar Worte in die Header-Datei des Themas eingefügt werden:

/*
Theme Name: My Custom Theme
Autor: Weglot Translate
Text Domain: my-theme
Domain-Pfad: /languages/
*/‍

Als Nächstes müssen Sie diesen Textbereich mit einer "Aktion" und einer "Funktion" laden:

add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup() {
load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}

Dieser Code muss sich in der Datei functions.php Ihres Themes befinden und nicht in der Datei Ihrer Website. Sobald Sie dies getan haben, können Sie ein "String-Audit" durchführen. Dazu müssen Sie alle Textstrings innerhalb Ihres Themes in Übersetzungsfunktionen verpacken. Es gibt zwei Funktionen, die Sie häufig verwenden werden:

  • __(). Dies beinhaltet einen doppelten Unterstrich (oder 'dunder') und gibt einen übersetzten String zurück.
  • _e(). Dies gibt die übersetzte Zeichenkette als Echo aus (oder druckt sie aus).

Diese Funktionen benötigen zwei Argumente: die Textzeichenfolge und den Textbereich. Zum Beispiel:

__()
$welcome = __( 'Hallo! Willkommen auf dem Dashboard!', 'my-theme' );
_e( 'Hello again!', 'my-theme' );‍

Die Einzelheiten der verschiedenen Übersetzungsfunktionen würden den Rahmen dieses Artikels sprengen, aber das WordPress Theme Developers' Handbook enthält fast alle Informationen, die Sie für diese Aufgabe benötigen.


An diesem Punkt können Sie eine POT-Datei erstellen. Es gibt viele Lösungen für diese Aufgabe, aber WordPress empfiehlt Poedit - eine kostenlose und quelloffene Lösung.

Sobald Sie Poedit heruntergeladen und installiert haben, gehen Sie in der Symbolleiste auf Datei > Neu:

Erstellen einer neuen Datei mit Poedit

Als nächstes erstellen Sie einen neuen Katalog. Sie können im Hauptbildschirm auf den Link Aus Quellen extrahieren klicken:

Quellen in Poedit extrahieren

Füllen Sie dann auf der Registerkarte Übersetzungseigenschaften die Felder für den Projektnamen, das Sprachteam und die Hauptsprache aus:

Registerkarte "Übersetzungseigenschaften" in Poedit

Wenn die Datei neu ist, sollten Sie sie hier speichern (der Dateiname sollte mit dem Slug Ihres Themas übereinstimmen). Wählen Sie dann die Registerkarte Quellenpfade und suchen Sie den Ordner /languages/ auf Ihrem Computer:

Pfad der Quellen in Poedit

Die letzte Registerkarte Quellenschlüsselwörter enthält eine Liste der Übersetzungsfunktionen, die Sie in Ihrem Thema verwendet haben:

Quellen-Schlüsselwörter auf Poedit

Sie sollten sie hier hinzufügen, auch wenn es schwierig sein könnte, die richtigen Schlüsselwörter zu finden. Für den Anfang können Sie die folgende Liste verwenden:

__
_e
_x

_ex

_n

_nx

_n_noop

_nx_noop

translate_nooped_plural
number_format_i18n
date_i18n
esc_html__
esc_html__
esc_html_x
esc_attr__
esc_attr_e
esc_attr_x‍

Wenn Sie auf "Bestätigen" klicken, speichern Sie Ihre Änderungen und sehen Sie sich Ihre neuen Dateien an: Sie werden MO- und PO-Dateien auf Ihrem Computer sehen. Wenn Sie die PO-Datei duplizieren, können Sie die POT-Erweiterung hinzufügen und von hier aus zur Lokalisierung übergehen.

Wie man ein übersetzungsfähiges WordPress-Plugin erstellt

Ihre anfängliche Aufgabe ist hier ähnlich wie bei einem Thema: Aktualisieren Sie zunächst die Felder Textdomain und Domainpfad des Plugins in der Kopfzeile:

/*
Plugin Name: My Custom Plugin
Plugin URI: https://weglot.com
Beschreibung: Ein benutzerdefiniertes Plugin zur Darstellung von Übersetzung und i18n.
Autor: Weglot Translate
Version: 1.0
Author URI: https://weglot.com
Text Domain: my-plugin
Domain Path: /languages/
*/‍

Wir empfehlen, einen Ordner /languages/ für den Domainpfad zu erstellen und diesen als Domainpfad festzulegen. Von dort aus können Sie die Text-Domain für das Plugin laden, aber dieses Mal können Sie die folgende Funktion zu Ihrem Code hinzufügen, anstatt über functions.php:

load_plugin_textdomain( $domain, $abs_rel_path, $plugin_rel_path );‍

Dies teilt WordPress jedoch nur mit, dass eine Übersetzungsdatei verfügbar ist. Um sie zu laden, müssen Sie die Funktion in eine Aktion verpacken:

add_action( 'plugins_loaded', 'plugin_load_td' );function plugin_load_td() {
load_plugin_textdomain( 'my-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}

Ein Großteil der String-Prüfung wird ähnlich wie bei der Themen-i18n sein. Der letzte Schritt besteht darin, eine POT-Datei mit demselben Verfahren wie zuvor zu erzeugen; die erzeugte Datei landet im aktuellen Arbeitsverzeichnis

Was die Grenzen von WordPress i18n sind


Inzwischen werden Sie verstehen, wie erstaunlich WordPress i18n sein kann. Es ist großartig, wenn Sie Themes oder Plugins entwickeln und sie übersetzungsfähig machen wollen. Wie bei allen großartigen Dingen gibt es jedoch auch einige Nachteile.

Wenn ein Plugin beispielsweise nutzergenerierte Inhalte enthält, werden diese nicht in die i18n-Übersetzung aufgenommen.

Der i18n-Prozess ermöglicht Übersetzungen für statische Elemente, die Sie codieren, wie z. B. Schaltflächentext. Wenn der Benutzer jedoch eine bestimmte Phrase für ein Feld eingeben, eindeutige Beschriftungen und andere "clientseitige" Elemente erstellen möchte, können Sie diese nicht berücksichtigen. Das wäre zwar möglich, aber es ist eine komplexe Aufgabe und würde den Rahmen dieses Beitrags sprengen.

Wenn Sie kein Entwickler sind, kann i18n Ihnen auch nicht bei der Übersetzung Ihrer Website helfen. Hierfür benötigen Sie ein Plugin, und Sie sollten den nächsten Abschnitt überspringen, um eine geeignete Option zu finden.

Es ist auch erwähnenswert, dass Übersetzungs-Plugins zwar in vielerlei Hinsicht hilfreich sein können, eine Website aber durchschnittlich fünf Plugins benötigt, um vollständig mehrsprachig zu sein. Im Gegensatz dazu ist eine Lösung wie Weglot schnell einsatzbereit, kann alle übersetzbaren Teile einer Website erkennen und ist mit fast jedem Theme und Plugin kompatibel. Dies gilt unabhängig davon, ob diese Themes und Plugins für die Übersetzung vorbereitet sind.

Darüber hinaus verwendet Weglot die Theme-, Plugin- und Hauptinhaltselemente der HTML-Startseite und macht diese übersetzbar. Es gibt also keine .pot- und .po-Dateien, und auch die gettext-Methode ist nicht erforderlich.

Wie Weglot WordPress i18n unterstützt

In der Fachsprache sprechen wir jetzt über die Lokalisierung Ihrer Inhalte - den direkten Übersetzungsprozess.

Eine gute Übersetzungsstrategie ist nicht einfach. Sie ist harte Arbeit und erfordert viel Planung, um sicherzustellen, dass Ihre Inhalte verschiedene Kulturen, Regionen und Sprachen auf die richtige Weise erreichen. Dabei geht es nicht nur um den übersetzten Text in Ihrem Textkörper. Sie müssen auch die folgenden Aspekte berücksichtigen:

  • Die hübschen Permalinks, die Sie verwenden.
  • Beitrags- und Seiten-Metadaten.
  • Medien, wie z. B. Bilder, Videos, GIFs, Symbole und mehr - einschließlich der zugehörigen Metadaten.

Wenn Sie E-Commerce betreiben, gibt es auch hier eine Fülle von Überlegungen. So sollten Sie beispielsweise sicherstellen, dass Ihr Kassenbildschirm eine vollständige Übersetzung aller Elemente bietet - insbesondere Ihrer Währungs- und Steuerfelder:

Nikon-Kamera - französische Version

Darüber hinaus sind die Versandinformationen ein wichtiger Aspekt, der vollständig und in hoher Qualität übersetzt werden muss. Sie möchten, dass Ihre Kunden keine Ausrede haben, um auf die Schaltfläche " Kaufen" zu klicken, unabhängig von der verwendeten Sprache.

Nikon Produkt-Kassenseite

Weglot übernimmt einen Großteil der schweren Arbeit für Sie. Es ist ein wertvoller Verbündeter für Ihre WordPress-i18n-Bemühungen, weil es jeden Aspekt Ihrer Website erkennt, den Sie übersetzen können. Von dort aus führt es eine erste Ebene der maschinellen Übersetzung für Sie aus:

Übersetzungsliste auf einer WordPress-Website

Das mag für Ihre Bedürfnisse ausreichen, aber Weglot kann Ihnen helfen, einen Schritt weiter zu gehen. Sie können professionelle Übersetzungen einbringen, die vorhandenen Übersetzungen bearbeiten und vieles mehr. Dies gibt Ihnen die Flexibilität, die Sie für eine vollständige Lokalisierung Ihrer Website benötigen.

Fazit

WordPress ist fast überall auf der Welt verfügbar. Daher sind internationalisierte Themes und Plugins hilfreich, wenn sie in andere Sprachen übersetzt werden. WordPress i18n ist ein wichtiges Rädchen im Getriebe für Entwickler, die mit der Plattform arbeiten.

Wenn Sie Ihr Theme so internationalisieren können, dass Benutzer Übersetzungen erstellen können, ohne den Quellcode zu ändern, sind Sie in einer guten Position. Aber nur weil Sie i18n-Konzepte anwenden, bedeutet das nicht, dass Ihr Theme oder Plugin übersetzt ist.

Für diesen Schritt sollten Sie sich auf eine Lösung wie Weglot verlassen. Sie ist mit vielen verschiedenen Plattformen und Technologien kompatibel und funktioniert hervorragend mit WordPress. Sobald Sie den i18n-Teil Ihres Arbeitsablaufs abgeschlossen haben, können Sie sich an Weglot wenden, um genaue und einfach zu implementierende Übersetzungen in fast jeder Sprache zu erstellen.

Um sich selbst davon zu überzeugen, bietet Weglot einen 10-tägigen kostenlosen Test ohne Kaufverpflichtung an.

In diesem Leitfaden schauen wir uns an, was es damit auf sich hat:

Erfahre mehr über die Arbeit mit Weglot

Kostenlos ausprobieren