Diese Seite existiert für den Rest: weniger beliebte Themes und Plugins, sehr neue Versionen, die der Autor veröffentlicht hat, bevor die WPML-Kompatibilität nachziehen konnte, und eine kleine Anzahl allgemeiner Hilfsmittel für Websites, bei denen bestimmte Symptome auftreten. Die meisten Kunden kommen nie hierher. Wenn Sie es doch tun, liegt es meistens daran, dass der WPML-Support Sie auf einen bestimmten Schalter oder auf einen wpml-config.xml zum Einfügen hingewiesen hat.
Zwei Unterseiten der Einstellungen behandeln die Kompatibilität, und diese Seite deckt beide ab:
- WPMLEinstellungenKompatibilität enthält die Schalter für häufige Symptome.
- WPMLEinstellungenBenutzerdefinierte XML-Konfiguration ist der Ort, an dem Sie Ihre eigene
wpml-config.xmlschreiben – beschrieben in der zweiten Hälfte dieser Seite.
Die Benutzeroberfläche für die häufigsten Standardeinstellungen (Übersetzungseinstellungen pro Beitragstyp, pro Taxonomie, pro Feld) befindet sich auf einer separaten Einstellungsseite, die in Was übersetzt wird – und was nicht behandelt wird; die meisten Kunden nutzen diese Benutzeroberfläche und kommen nur hierher, wenn sie damit nicht erreichen, was sie benötigen.
Kompatibilitätsschalter
Öffnen Sie WPMLEinstellungenKompatibilität.
Die Seite hat vier Karten. Jede Karte zielt auf eine bestimmte Art von Kompatibilitätsproblem ab.
Lokalisierungsoptionen – für Themes und Plugins, deren Übersetzungen nicht geladen werden
Wenn ein Theme oder Plugin bereits eigene UI-Übersetzungen (.mo-Dateien in einem /languages/-Ordner) enthält, diese Übersetzungen aber nicht auf Ihrer Website angezeigt werden, bietet die Karte Lokalisierungsoptionen drei Schalter, die WPML helfen, sie zu finden und anzuwenden.
- Automatisch die
.mo-Datei des Themes mittelsload_textdomainladen. Zwingt WPML,load_textdomain()für die Textdomain des Themes aufzurufen. Verwenden Sie dies, wenn die Übersetzungen des Themes auf dem Server liegen, aber nicht angezeigt werden. - Textdomain eingeben. Überschreibt die automatisch erkannte Textdomain. Einige Themes registrieren ihre Textdomain auf nicht standardmäßige Weise; dieses Feld ermöglicht es Ihnen, sie explizit anzugeben.
- Textdomains von Themes oder Plugins verwenden, wenn gettext-Aufrufe kein String-Literal verwenden. Ein Kompatibilitäts-Flag für Themes/Plugins, die
__()-Aufrufe mit variablen Argumenten anstelle von literalen Strings verwenden. WPML kann diese nicht automatisch erkennen, und dieser Schalter hilft dabei, Übersetzungen trotzdem anzuwenden.
Wenn der WPML-Support Sie hierher leitet, wird er Ihnen mitteilen, welchen Schalter und welche Textdomain Sie festlegen müssen.
Themes mehrsprachig machen
IDs für mehrsprachige Funktionalität anpassen. Eine Kompatibilitätsschicht für Themes, die einsprachige Annahmen fest codieren (z. B. ein Theme, das eine „Beitragsbild-ID“ einmal speichert und dasselbe Bild in jeder Sprache verwendet).
Die meisten modernen WPML-kompatiblen Themes benötigen dies nicht. Ältere oder weniger WPML-bewusste Themes hingegen manchmal schon. Aktivieren Sie es, wenn Sie feststellen, dass Inhaltsreferenzen (Bilder, Menüs, hervorgehobene Elemente) fälschlicherweise sprachübergreifend durchsickern.
Sprachfilterung für AJAX-Operationen
Ein Sprach-Cookie speichern, um die Sprachfilterung für AJAX zu unterstützen. Einige Plugins verwenden AJAX, um Inhalte abzurufen: gefilterte Produktlisten, AJAX-paginierte Beitragslisten, Suchergebnisse während der Eingabe. Ohne ein Sprach-Cookie weiß der AJAX-Endpunkt nicht, in welcher Sprache er antworten soll, und liefert Ergebnisse in der falschen Sprache.
Aktivieren Sie das Cookie, wenn Sie dieses Symptom bemerken: Besucher auf der französischen Seite erhalten englische Ergebnisse aus AJAX-geladenen Abschnitten. Es ist eine Lösung mit nur einem Kontrollkästchen für eine ganze Klasse von Fehlern.
Anmelde- und Registrierungsseiten
Übersetzen der Anmelde- und Registrierungsseiten erlauben. Die integrierte /wp-login.php von WordPress und der Registrierungsbildschirm sind nicht Teil der regulären Inhalte, die WPML übersetzt. Sie befinden sich außerhalb der Template-Kette des Themes. Dieser Schalter fügt sie den übersetzbaren Seiten von WPML hinzu.
Wenn Ihre Website auf nginx läuft, erfordert der Schalter auch eine Anpassung der Serverkonfiguration. Die Seite verlinkt auf den nginx-Leitfaden von WPML mit dem genauen Konfigurationsblock.
Theme- und Plugin-Texte – Einstellungen hier, Scanner woanders
Zwei Arten der Arbeit mit Theme-/Plugin-Strings verteilen sich auf zwei Bildschirme:
- Die Einstellungen auf dieser Seite. Sie kümmern sich um die Kompatibilität für Übersetzungen, die das Theme/Plugin bereits enthält:
load_textdomain, Überschreiben der Textdomain, nicht-literales gettext. - Der Scanner ist ein eigener Bildschirm. Wenn Sie Theme- und Plugin-Strings finden müssen, die noch nicht für die Übersetzung registriert sind, verwenden Sie den Bildschirm Admin-Texte übersetzen. Sie erreichen ihn über den Tab Strings unter Übersetzungen im Abschnitt „Sie sehen die gesuchten Strings nicht?“.
Für den vollständigen Workflow zum Durchsuchen von Strings siehe Strings übersetzen.
Benutzerdefinierte wpml-config.xml
WPML-kompatible Themes und Plugins liefern eine wpml-config.xml-Datei mit, die WPML genau mitteilt, welche ihrer Felder, Beitragstypen, Taxonomien, Shortcodes und Meta-Keys übersetzbar sein sollen. WPML liest sie bei der Aktivierung. Für jedes große und beliebte Theme und Plugin bedeutet das, dass die Übersetzung sofort einsatzbereit ist und korrekt funktioniert. Sie müssen nichts weiter tun.
Wenn die wpml-config.xml, die mit einem Theme oder Plugin geliefert wird, für Ihre Website nicht ausreicht, schreiben Sie Ihre eigene. WPML wendet sie zusätzlich zu dem an, was das Theme oder Plugin mitliefert.
Wann Sie Ihre eigene wpml-config.xml schreiben sollten
Drei Szenarien.
- Ein Feld, das Sie übersetzen müssen, ist nicht in der mitgelieferten wpml-config.xml enthalten. Der Autor des Themes oder Plugins hat ein benutzerdefiniertes Feld nicht als übersetzbar deklariert, aber Sie müssen es auf Ihrer Website übersetzen.
- Ein Feld hat den falschen Standardwert. Die mitgelieferte wpml-config.xml markiert etwas als Kopieren und Sie möchten Übersetzen, oder umgekehrt.
- Sie entwickeln ein benutzerdefiniertes Theme oder Plugin und möchten dessen Übersetzungsverhalten über die WPML-Einstellungsseite deklarieren, anstatt eine wpml-config.xml-Datei mit Ihrem Code zu bündeln.
In jedem Fall kann der WPML-Support Sie hierher leiten und Ihnen die genaue wpml-config.xml zum Einfügen geben. Meistens ist es eine vom Support gesteuerte Aktion, gelegentlich eine von Entwicklern gesteuerte.
Warum Sie die wpml-config.xml im WPML-Admin-Bereich bearbeiten sollten statt in der Theme-Datei
Sie könnten die eigene wpml-config.xml des Themes oder Plugins direkt bearbeiten. Aber diese Änderung geht beim nächsten Update des Themes oder Plugins verloren. Der in den Admin-Bereich integrierte WPML-Editor unter WPMLEinstellungenBenutzerdefinierte XML-Konfiguration legt Ihre wpml-config.xml über die des Themes oder Plugins und übersteht Updates. Er ist der richtige Ort für website-spezifische Anpassungen.
Der Aufbau einer wpml-config.xml
Die Seite ist ein XML-Editor. Fügen Sie einen <wpml-config>...</wpml-config>-Block ein, speichern Sie, und WPML wendet Ihre wpml-config.xml an.
Eine minimale wpml-config.xml, die einen Shortcode als übersetzbar deklariert:
<wpml-config>
<shortcodes>
<shortcode>
<tag>add_to_cart_link</tag>
</shortcode>
</shortcodes>
</wpml-config>
Die Elementtypen, die Sie typischerweise deklarieren würden:
<custom-fields>. Markiert ein benutzerdefiniertes Feld alstranslate,copy,copy-onceodernothing.<custom-types>. Deklariert einen benutzerdefinierten Beitragstyp als übersetzbar.<taxonomies>. Deklariert eine benutzerdefinierte Taxonomie als übersetzbar.<shortcodes>. Listet Shortcodes auf, deren Inhalt WPML übersetzen soll.<custom-term-fields>. Für Begriff-Metadaten.
Jedes Element hat seine eigenen Attribute (z. B. action="translate" bei einem benutzerdefinierten Feld). Für die vollständige wpml-config.xml-Referenz (jedes Element, jedes Attribut, jeder zulässige Wert) siehe die WPML-Entwicklerinformationen.
Ein praktischer Workflow
Wenn der WPML-Support Ihnen einen wpml-config.xml-Block zum Einfügen gibt:
- Öffnen Sie WPMLEinstellungenBenutzerdefinierte XML-Konfiguration.
- Fügen Sie deren XML in den bestehenden
<wpml-config>-Block ein (oder ersetzen Sie den Inhalt, falls man Ihnen den vollständigen Block gegeben hat). - Speichern Sie.
- WPML wendet Ihre wpml-config.xml sofort an. Wenn sie einen neuen übersetzbaren Beitragstyp oder ein neues Feld deklariert, erscheint der Eintrag umgehend unter WPMLEinstellungenBeitragstypen-Übersetzung oder WPMLEinstellungenÜbersetzung benutzerdefinierter Felder.
Wenn Sie ein benutzerdefiniertes Theme oder Plugin entwickeln und dessen WPML-Konfiguration mit dem Code ausliefern möchten, fügen Sie denselben <wpml-config>-Block stattdessen in eine wpml-config.xml-Datei im Stammverzeichnis Ihres Themes oder Plugins ein. WPML liest sie bei der Aktivierung. Der Editor im Admin-Bereich ist für website-spezifische Anpassungen gedacht; die gebündelte Datei ist für die eigenen Standardeinstellungen des Themes/Plugins.