Internationalisierung

Internationalisierung (i18n) und Lokalisierung (l10n) machen WordPress-Themes und Plugins in mehrere Sprachen übersetzbar. Internationalisierung ist die technische Vorbereitung: Alle Textstrings werden in Übersetzungsfunktionen verpackt. Lokalisierung ist die eigentliche Übersetzungsarbeit: Sprachpakete mit den übersetzten Texten werden erstellt und bereitgestellt.

Die wichtigsten Übersetzungsfunktionen

  • __( 'Text', 'textdomain' ) – gibt den übersetzten String zurück
  • _e( 'Text', 'textdomain' ) – gibt aus (echo) und übersetzt
  • _n( 'Singular', 'Plural', $count, 'textdomain' ) – für Singular/Plural-Formen
  • sprintf( __( '%d Kommentare', 'textdomain' ), $count ) – für variablen Inhalt in Strings

Textdomains und Sprachdateien

Jedes Theme und Plugin hat eine eindeutige Textdomain (z.B. „my-theme“). Die Sprachpakete werden als .po-Dateien (editierbar) und .mo-Dateien (kompiliert, für WordPress lesbar) im Verzeichnis /languages/ abgelegt. Das Format der Dateinamen ist standardisiert: textdomain-de_DE.po.

Übersetzungstools

  • Poedit – Desktop-App für die Bearbeitung von .po-Dateien, mit automatischer KI-Übersetzung
  • Loco Translate Plugin – Übersetzungen direkt im WordPress-Dashboard bearbeiten
  • GlotPress – das System hinter translate.wordpress.org, das offizielle Übersetzungsportal

Mehrsprachige WordPress-Websites

Internationalisierung ist nicht dasselbe wie eine mehrsprachige Website. Für eine Website in mehreren Sprachen braucht man zusätzlich ein Mehrsprachigkeits-Plugin wie WPML, Polylang oder TranslatePress. Diese verwalten sprachspezifische Versionen von Seiten und Beiträgen, übersetzte Menüs und hreflang-Tags für Suchmaschinen.