Sprachdateien für WordPress

WordPress benötigt für jede weitere Sprache eine zusätzliche Sprachdatei. Die Grundsprache ist im Prinzip das, was der Entwickler im Code verbaut hat. Im besten Falle in Englisch. Aus dem Code generiert man eine Datei als Vorlage, aus der dann die Sprachdateien abgeleitet werden.
Die Vorgehensweise für die Übersetzung bezieht sich hier auf ein Plugin. Sie steht aber exemplarisch für alle anderen WordPress-Übersetzungen. Die Unterschiede sind nur die Verzeichnisse und die Namenskonvention der Sprachdateien.
Hat man alles vorbereitet, kann es hier weitergehen.

Die Dateiformate

Die folgenden Dateiformate werden für den gesamten Vorgang der Übersetzung benötigt.
.pot steht für “Portable Object Template”. Dies ist die aus dem Code generierte Vorlage für alle folgenden Sprachdateien. Sie enthält die Grundtexte, die der Entwickler im Code hinterlegt hat. Sie ist die Grundlage der Übersetzungen.
.po steht für “Portable Object”. Dies sind editierbare Dateien mit einer Übersetzung, bzw. Sprache pro Datei.

.mo steht für “Maschine Object”. Dies sind kompilierte und dadurch nicht mehr editierbare Portable Object (.po) Dateien. Pro Sprache wird eine Datei benötigt.

Der Spracheditor

WordPress benutzt für die Lokalisierung und der Sprachausgabe das gettext-Format. Das ist alles was wir wissen müssen. Solange wir den Code richtig vorbereitet haben übernimmt an dieser Stelle der Spracheditor.
Der Spracheditor wird benötigt, um den Quelltext nach sprachabhängigen Texten zu durchsuchen, die gewünschten Srpachdateien zu erstellen und zu pflegen und eine Sprachdatei zu generieren, die WordPress interpretieren kann. Es gibt viele Editoren, aber einer der meist genutzten ist Poedit. Einfach und kostenfrei.

Die Dateivorlage

Poedit starten und eine neue Datei anlegen.
Datei | Neu...
Die Grundsprache der Vorlage definieren, also die Sprache, die im Code hinterlegt ist.
Englisch (Vereinigte Staaten) | OK
Den Projektname vergeben. Der Name setzt sich aus dem Slug, also dem Basis-Pluginnamen und der Version zusammen. Mehr erstmal nicht.
Katalog | Eigenschaften... | Projektname und -version | my-plugin 1.0.0
Die Datei in das Sprachverzeichnis des Plugins speichern.
Datei | Speichern... | /my-plugin/languages/en_US.po
Den Dateityp ändern und neu öffnen.
en_US.po -> en_US.pot
Das Verzeichnis auswählen, das den zu durchsuchenden Code enthält. In unserem Fall das direkt oberhalb liegende Plugin-Verzeichnis.
Katalog | Eigenschaften... | Quell-Pfade | + (Pfade) | Ordner hinzufügen... | .
Die relevante Funktionen eingeben, die sprachabhängige Texte enthalten .
Katalog | Eigenschaften... | Schlüsselwörter | + | __
Katalog | Eigenschaften... | Schlüsselwörter | + | _e
Jetzt ist alles eingestellt um die sprachabhängigen Texte aus dem Code zu lesen.
Katalog | Aktualisieren aus Quellcode
Die Vorlage ist generiert. Speichern bitte nicht vergessen.
Datei | Speichern

Die Sprachdateien

Poedit starten und eine neue Datei aus der Vorlage anlegen.
Datei | Neu aus POT-/PO-Datei... | /my-plugin/languages/en_US.pot
Die Sprache für die neue Übersetzung auswählen.
Deutsch (Deutschland) | OK
Einträge der Tabelle über setzen.
'Hello, World!' -> 'Hallo Welt!'
Die Datei in das Sprachverzeichnis speichern.
Der Dateiname setzt sich aus dem Slug, einem Bindestrich und der Länderkennung zusammen.
Datei | Speichern... | /my-plugin/languages/my-plugin-de_DE.po.
Bei jedem Speichern wird automatisch eine kompilierte .mo-Datei generiert und ins gleiche Verzeichnis gespeichert.
/my-plugin/languages/my-plugin-de_DE.mo
Die Grundsprache ist zwar bereits im Code vorhanden, kann aber auch mit einer .mo Datei angepasst werden.
Das war’s.