Willkomen auf meiner Wissensdatenbank
Archiv
< Alle Themen
Drucken

Themes WPML Konfigurations-Datei – wpml-config.xml

WPML kann eine Konfigurationsdatei lesen, die ihm mitteilt, was in Themes und Plugins übersetzt werden muss. Die Datei heißt wpml-config.xml und befindet sich im Stammordner des Plugins oder Themes.

Inhalt

  1. Der Zweck der Sprachkonfigurationsdatei
  2. Automatische Generierung der Datei wpml-config.xml
  3. Struktur und Syntax
  4. Verwenden der WPML-Sprachkonfigurationsdatei mit untergeordneten Designs

Zweck

Um die Kompatibilität mit WPML zu erreichen, sollten Sie auch eine Konfigurationsdatei erstellen, die Ihnen bei der Aufrechterhaltung der Kompatibilität in Ihren zukünftigen Versionen hilft. WPML kann alles auf Ihrer WordPress-Site übersetzen, aber Sie müssen ihr mitteilen, was übersetzt werden muss. Das macht diese Datei.

Gehen Sie zur WPML Einstellungen Seite .

Seite WPML-Einstellungen
Seite WPML-Einstellungen

Diese Seite sagt WPML alles, was es wissen muss, einschließlich der zu übersetzenden oder zu synchronisierenden benutzerdefinierten Felder, welche benutzerdefinierten Beiträge und Taxonomien mehrsprachig sein sollten und sogar welche Admin-Texte zu übersetzen sind.

Die Sprachkonfigurationsdatei enthält diese Informationen, damit nicht jeder Benutzer sie manuell auf der Admin-Seite eingeben muss.

Für einige der Themes und Plugins hosten wir die Sprachkonfigurationsdateien auf unseren Servern. Eine Liste können Sie einsehen hier . Es ist so eingestellt, dass es die lokale Sprachkonfigurationsdatei überschreibt, die sich im Stammordner des Themes oder Plugins befindet.

Mit WPML können Sie auch Design- manuell alle Einstellungen überschreiben, die von und Plugin-Sprachkonfigurationsdateien geladen werden . Dies gilt sowohl für Sprachkonfigurationsdateien im Stammordner des Themes oder Plugins als auch für die auf unseren Servern gehosteten Sprachkonfigurationsdateien.

Automatische Generierung der Datei wpml-config.xml

Wenn Sie mit der Erstellung von XML-Dateien nicht vertraut sind, hat unser Team das Multilingual Tools-Plugin erstellt , das diese Aufgabe erleichtert. Obwohl es ursprünglich als Werkzeug gedacht war, um und Plugin-Autoren zu helfen, ihre Produkte mehrsprachig zu machen, kann es leicht verwendet werden, um Ihre eigene zu generieren Theme- wpml-config.xml- Datei .

Um mehr über das Generieren Ihrer zu erfahren wpml-config.xml- Datei , besuchen Sie die des Seite Multilingual Tools-Plugins . Sehen Sie sich insbesondere den Abschnitt Wie erzeuge ich Sprachkonfigurationsdateien mit mehrsprachigen Tools an? Sektion.

Sobald Sie die Konfigurationsdatei haben, fügen Sie sie dem Stammverzeichnis Ihres Theme-Ordners hinzu. Wenn Sie bereits eine haben, überschreiben Sie sie nicht. Bearbeiten Sie stattdessen Ihre ursprüngliche XML-Datei und fügen Sie den mit dem generierten Code hinzu Multilingual Tools- Plugin .

Bitte beachten Sie, dass dieses Plugin nicht für den Einsatz auf den Live-Produktionsseiten vorgesehen ist.

Um dieses Tutorial zu lesen und Sprachkonfigurationsdateien für Ihre Themes und Plugins zu , können Sie mit diesem Beispiel beginnen – erstellen wpml-config.zip .

Sie müssen sie bearbeiten, können aber die Abschnitte und die Struktur dieser Datei verwenden.

Struktur und Syntax

Der Inhalt der wpml -config.xml Datei muss in diese Tags verpackt werden

<wpml-config> 

und

</wpml-config> 

Derzeit können vier Datentypen und zwei WPML-Konfigurationseinstellungen für die Übersetzung in dieser Konfigurationsdatei konfiguriert werden:

  1. Inhalt des Seitenerstellers
  2. Benutzerdefinierte Felder
  3. Benutzerdefinierte Bedingungen
  4. Benutzerdefinierte Typen
  5. Benutzerdefinierte Taxonomien
  6. Gutenberg blocks
  7. Admin-Texte / wp_options
  8. Konfiguration des Sprachumschalters

1. Inhalt des Seitenerstellers

Mit WPML können Sie die , die der wpml-config.xml Shortcodes Inhaltsübersetzung Datei verwenden, um zu definieren hinzugefügt werden müssen.

1.1 Zeichenfolgen übersetzen

Betrachten wir ein Beispiel, bei dem Sie einer Seite mit Visual Composer ein Texttrennzeichen hinzufügen. Dieses Trennzeichen hat einen Titel und sein Shortcode sieht so aus:

[vc_text_separator title="Trennzeichentitel"] 

Um den Titel dieses zu übersetzen, müssen wir unserer einige Zeilen Texttrennzeichens wpml-config.xml hinzufügen Datei . Auf diese Weise „weiß“ WPML, dass der Titel dieses Trennzeichens übersetzt werden muss. Dies folgt tatsächlich der gleichen Logik, die für die benutzerdefinierten Beitragstypen, benutzerdefinierten Felder und andere verwendet wird.

Der folgende Code ist ein Beispiel dafür, was wir hinzufügen müssen wpml-config.xml in diesem Fall der Datei . Beispiel für das Hinzufügen eines Page Builder-Shortcodes zur Datei wpml-config.xml

1 2 3 4 5 6 7 8 9 10 11 12<wpml-config> <shortcodes>        <shortcode>            <tag>vc_text_separator</tag>            <attributes>                <attribute>title</attribute>            </attributes>        </shortcode></shortcodes> </wpml-config>

Gehen wir den Aufbau des obigen Beispiels durch:

  • Beginnen Sie mit dem Shortcodes-Tag. Alle Shortcodes auf Ihrer Website, die übersetzt werden müssen, sollten unter diesem Tag platziert werden.
  • Verwenden Sie dann das Shortcode-Tag, um alle Tags zu umschließen, die zu einem einzigen Shortcode gehören.
  • Das Tag namens tag wird verwendet, um den Namen des Shortcodes zu definieren. In diesem Fall ist es der vc_text_separator . Sie können benutzerdefinierte Optionslabels hinzufügen, die sowohl im angezeigt werden erweiterten Übersetzungseditor als auch im klassischen Übersetzungseditor . Diese Etiketten sind auch beim Export in XLIFF-Dateien enthalten. Siehe das folgende Beispiel zu Tag- und Attributlabels.
  • Shortcodes können ein oder mehrere Attribute haben, daher packen wir sie in das Attribute-Tag (Plural) und verwenden das Attribut-Tag (Singular), um den Titel jedes Attributs zu definieren.

Page Builder enthalten (manchmal) Designelemente mit Linkattributen.

Sie können interne Links automatisch auf die übersetzte Version dieses Beitrags verweisen lassen, indem Sie die Shortcode- wpml-config.xml neue Link-Option der Datei verwenden: type=”link” .

Sie können das Codierungsattribut mit diesem verwenden. Es behandelt spezielle Codierung, die verschiedene Seitenersteller verwenden. Das Codierungsattribut ist normalerweise spezifisch für den verwendeten Page Builder. Es akzeptiert die folgenden Werte:

  • base64 – Visual Composer-Roh-HTML-Shortcode. Der HTML- wird als gespeichert Code base64- String im Shortcode .
  • vc_link Linkformatierung – Spezielle für Visual Composer.
  • av_link Linkformatierung – Spezielle für Enfold.
  • allow_html_tags – Normalerweise werden HTML-Tags aus Shortcode-Attributen entfernt. Setzen Sie die Kodierung auf allow_html_tags, wenn das Shortcode-Attribut HTML-Tags zulassen soll. Dies sollte mit Vorsicht verwendet werden, da das Zulassen von HTML-Tags in einigen Situationen die Formatierung durcheinander bringen und ein Sicherheitsproblem darstellen könnte.

Beispiel für das Hinzufügen eines Shortcode-Link-Attributs: type=“link“

1 2 3 4 5 6 7 8 9 10 11<wpml-config> <shortcode>            <tag>av_button</tag>            <attributes>                <attribute>label</attribute>                <attribute type="link" encoding="av_link">link</attribute>            </attributes></shortcode> </wpml-config>

Wenn Sie über die Verwendung von urlencodierten Shortcodes nachdenken , lesen Sie die Seite unbedingt Übersetzen von urlencodierten Shortcodes . Beispiel für das Hinzufügen von Tag- und Attributlabels

1 2 3 4 5 6 7 8 9 10<wpml-config>    <shortcodes>        <shortcode>            <tag label="My shortcode label">my_shortcode</tag>            <attributes>                <attribute label="Shortcode title">title</attribute>            </attributes>        </shortcode>    </shortcodes></wpml-config>

Durch das Hinzufügen von Labels zu Tags und Attributen können Sie benutzerdefinierte Labels im erweiterten Übersetzungseditor oder im klassischen Übersetzungseditor anzeigen. Dies kann dem Übersetzer helfen, den Kontext der Zeichenfolge besser zu verstehen.

Definieren von benutzerdefinierten Shortcode-Labels im erweiterten Übersetzungseditor
Definieren von benutzerdefinierten Shortcode-Labels im erweiterten Übersetzungseditor

1.2 Medien übersetzen

Sie können WPML Media Translation verwenden, um Bilder in Seitenerstellungsinhalten zu übersetzen. Dies geschieht durch Konvertierung von Bild-IDs und Bild-URLs. Es ist notwendig, dem Page Builder, der Shortcodes verwendet, mitzuteilen, wie diese Konvertierung durchzuführen ist. Der folgende Code ist ein Beispiel, das wir hinzufügen müssen wpml-config.xml in diesem Fall der Datei . Beispiel für das Hinzufügen eines Page Builder-Shortcodes zur Datei wpml-config.xml für die Bildübersetzung

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<wpml-config> <shortcode>    <!-- Convert media IDs in `gallery_ids` attribute, and ignore the shortcode content -->    <tag ignore-content="1">et_pb_gallery</tag>    <attributes>        <attribute type="media-ids">gallery_ids</attribute>    <attributes></shortcode><shortcode>    <!-- Convert the media URL in the content, translate some string attributes for `title` and `alt`, convert media URL in `src` attribute -->    <tag type="media-url">et_pb_image</tag>    <attributes>        <attribute>title_text</attribute>        <attribute>alt</attribute>        <attribute type="media-url">src</attribute>    </attributes></shortcode> </wpml-config>

Sie können die folgenden Werte verwenden:

  • ignore-content – Kann innerhalb eines Tag- Elements verwendet werden. Dieser Wert ist optional und kann entweder 0 oder 1 sein . Sie können dieses Attribut verwenden, um Abwärtskompatibilität für neue Medien-Shortcodes zu erreichen. Wenn der Wert auf gesetzt ist, wird 1 der Inhalt des Shortcodes nicht verarbeitet.
  • type – Kann innerhalb eines Tag- Elements verwendet werden. Sie können auch Shortcode-Inhalte verwenden, die die URL von Medien als optionalen Wert in media-url enthalten .
  • type – kann auch innerhalb eines Attributelements verwendet werden. In diesem Fall kann es einen der folgenden optionalen Werte haben:
    • media-ids – eine durch Kommas getrennte Liste von Medien-IDs.
    • media-url – URL des Mediums
    • link – verweist auf eine andere Seite der Site und WPML konvertiert sie automatisch in die URL der Seitenübersetzung

1.3 Seitenerstellungs-Widgets übersetzen

Ab WPML 4.4.4 können Sie nun Seitenerstellungs-Widgets in Ihrer Sprachkonfigurationsdatei registrieren. Auf unserer Dokumentationsseite erfahren Sie, wie Sie Seitenerstellungs-Widgets für die Übersetzung registrieren .

2. Benutzerdefinierte Felder

Der Name des benutzerdefinierten Felds muss angegeben werden und auch die von WPML erwartete Aktion: übersetzen, kopieren, einmal kopieren, ignorieren.
Beispiel für das Hinzufügen von benutzerdefinierten Feldern zur Sprachkonfigurationsdatei

1 2 3 4 5 6 7 8 9 10 11 12<wpml-config> <custom-fields> <custom-field action="copy">quantity</custom-field> <custom-field action="translate">custom-title</custom-field> <custom-field action="copy">weight</custom-field> <custom-field action="copy-once">bg-color</custom-field> <custom-field action="translate">custom-description</custom-field> <custom-field action="ignore">date-added</custom-field></custom-fields> </wpml-config>

Dieser Block muss unter dem Tag <wpml-config> verschachtelt werden.

Sie können die folgenden Übersetzungsoptionen für benutzerdefinierte Felder festlegen:

  • translate : ermöglicht Ihrem Benutzer, den Wert des benutzerdefinierten Felds zu übersetzen. Diese Felder werden auf dem Bildschirm des Übersetzungseditors angezeigt und können an jeden der professionellen Übersetzungsdienste gesendet werden.
  • copy : Diese Aktion kopiert den benutzerdefinierten Feldwert der Standardsprache in die sekundären Sprachen. Dies bedeutet, dass die Aktualisierung des benutzerdefinierten Feldwerts der Standardsprache immer in die Sekundärsprache kopiert wird. Die zum festgelegten benutzerdefinierten Felder werden Kopieren auf dem Bildschirm des Übersetzungseditors nicht angezeigt.
  • einmal kopieren : Der Wert des benutzerdefinierten Felds wird beim anfänglichen Übersetzungsprozess in die Sekundärsprache kopiert. Die benutzerdefinierten Felder, die die einmalige Aktion verwenden, werden nicht auf dem Bildschirm des Übersetzungseditors angezeigt. Der Benutzer kann jedoch den benutzerdefinierten Feldwert der Sekundärsprache mithilfe des Nachbearbeitungsbildschirms so ändern, dass er sich von der Standardsprache unterscheidet. Es wird bevorzugt, die benutzerdefinierten Felder festzulegen, die Einstellungen wie Hintergrundfarbe, Schriftfarbe, Schriftgröße und andere enthalten. , zum einmaligen Kopieren . Dadurch kann der Benutzer andere Einstellungen für übersetzte Inhalte vornehmen als für die Beiträge und Seiten in der Standardsprache. Der Benutzer möchte beispielsweise festlegen, dass die Hintergrundfarbe desselben Elements in der Standardsprache gelb und in der Sekundärsprache blau ist.Beachten Sie, dass das Bearbeiten eines auf eingestellten einmaliges Kopieren Felds das Feld nicht als markiert Aktualisierungsbedarf . Dies liegt daran, dass das Feld nicht in eine vorhandene Übersetzung kopiert wird, sondern erst beim Erstellen der Übersetzung kopiert wird.
  • ignorieren : Diese Aktion verhindert, dass das benutzerdefinierte Feld in die Sekundärsprache kopiert wird.

Sie können den Attribute hinzufügen <custom-field> -Tags . Diese Attribute passen die Anweisungstexte im erweiterten Übersetzungseditor oder im klassischen Übersetzungseditor an .

  • style kann line , textarea oder visual sein , um eine einzelne Zeile, einen Textbereich oder WYSIWYG anzuzeigen.
  • Beschriftung wird neben dem Feld angezeigt.
  • group gibt an, ob das benutzerdefinierte Feld zu einer Gruppe gehört und wie die Bezeichnung der Gruppe lauten soll. Wenn sich ein Feld in einer Gruppe befindet:

* das Feld wird aus dem benutzerdefinierten Feldbereich entfernt

* das Feld wird dem Abschnitt der zugehörigen Gruppe hinzugefügt Beispiel für benutzerdefinierte Feldattribute

1 2 3 4 5 6 7 8 9<wpml-config>  <custom-fields> <custom-field action="translate" style="line" label="Title">custom-title</custom-field> <custom-field action="translate" style="textarea" label="Description">custom-description</custom-field> <custom-field action="translate" style="visual" label="Some content" group="Custom group">custom-wysiwyg</custom-field> </custom-fields> </wpml-config>

Sie können auch optionale hinzufügen Codierungsattribute , um die Codierung vom Standardwert ( zu ändern keine Codierung) .   Das Codierungsattribut akzeptiert die folgenden Werte:

  • json
  • base64
  • URL-Code

Das Attribut ermöglicht Ihnen die Verwendung mehrerer Codierungen. In diesem Fall müssen die Werte durch ein Komma getrennt werden, zB encoding="json,base64". Beispiel für das Hinzufügen von benutzerdefinierten Feldern zur Sprachkonfigurationsdatei, um die Codierung zu ändern

1 2 3 4 5 6 7<wpml-config> <custom-fields>    <custom-field action="translate" encoding="json,base64">keywords</custom-field></custom-fields> </wpml-config>

Wenn dieser wpml-config.xml- Inhalt verwendet wird, werden diese benutzerdefinierten Felder im angezeigt erweiterten Übersetzungs-Editor oder im klassischen Übersetzungs-Editor , wie in der folgenden Abbildung gezeigt. Erweiterter Übersetzungseditor Klassischer Übersetzungseditor

Benutzerdefinierte Feldbezeichnungen im erweiterten Übersetzungseditor

Benutzerdefinierte Feldbeschriftungen im klassischen Übersetzungseditor

2.1 Unterschlüssel in benutzerdefinierten Feldern übersetzen

WPML übersetzt standardmäßig alle Unterschlüssel in benutzerdefinierten Feldern. Es ist möglich, ein solches Verhalten zu umgehen, indem Sie angeben, welche Unterschlüssel übersetzt werden sollen. Codebeispiel für die Übersetzung von Unterschlüsseln in benutzerdefinierten Feldern

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25<wpml-config> <custom-fields>    <custom-field action="translate">with_attributes</custom-field>    <custom-field action="translate">with_deep_attributes</custom-field>    <custom-field action="translate">no_attributes</custom-field></custom-fields> <custom-fields-texts>    <key name="with_attributes">        <key name="attribute1" />        <key name="attribute2" />    </key>    <key name="with_deep_attributes">        <key name="attribute1" />        <key name="attribute2">            <key name="level1">                <key name="level2"></key>            </key>        </key>     </key></custom-fields-texts> </wpml-config>

Es ist auch möglich, Platzhalter auf die gleiche Weise zu verwenden, wie sie für Admin-Texte verwendet werden :

  • alle Unterfelder ab, die mit dem Gleichen Sie Titel beginnen und Code verwenden:
    <key name="title-*" />
  • Übereinstimmung mit allen Unterfeldern und wird im Allgemeinen verwendet, um einen Array-Index mithilfe von Code abzugleichen:
    <key name="*" />
  • Bekommen [{"title":"First title"},{"title":"Second title"}]Code verwenden Beispiel einer Konfigurationsdatei mit Platzhaltern 1 2 3 4 5 6 7 8 9 10 11 <wpml-config> <custom-fields-texts> <key name="key-name">   <key name="*">     <key name="title" />   </key> </key></custom-fields-texts> </wpml-config>

3. Benutzerdefinierte Bedingungen

Der benutzerdefinierte Begriffsname muss angegeben werden und auch die von WPML erwartete Aktion: übersetzen, kopieren, einmal kopieren, ignorieren. Beispiel für das Hinzufügen von benutzerdefinierten Begriffen zur Sprachkonfigurationsdatei

1 2 3 4 5 6 7 8 9 10<wpml-config> <custom-term-fields>   <custom-term-field action="copy">term_meta_A</custom-term-field>   <custom-term-field action="translate">term_meta_B</custom-term-field>   <custom-term-field action="ignore">term_meta_C</custom-term-field>   <custom-term-field action="copy-once">term_meta_D</custom-term-field></custom-term-fields> </wpml-config>

Dieser Block muss unter dem Tag <wpml-config> verschachtelt werden.

Sie können die folgenden Übersetzungsoptionen für benutzerdefinierte Felder festlegen:

  • translate : ermöglicht Ihrem Benutzer, den Wert des benutzerdefinierten Begriffs zu übersetzen. Diese Begriffe werden auf dem Bildschirm des Übersetzungseditors angezeigt und können an jeden der professionellen Übersetzungsdienste gesendet werden.
  • copy : Diese Aktion kopiert den benutzerdefinierten Begriffswert der Standardsprache in die Sekundärsprachen. Dies bedeutet, dass die Aktualisierung des benutzerdefinierten Begriffswerts der Standardsprache immer in die Sekundärsprache kopiert wird. Die zu benutzerdefinierten Terme werden kopierenden nicht auf dem Bildschirm des Übersetzungseditors angezeigt.
  • einmal kopieren : Der Wert des benutzerdefinierten Begriffs wird beim ersten Übersetzungsprozess in die Sekundärsprache kopiert. Die benutzerdefinierten Begriffe, die die einmalige Aktion verwenden, werden nicht auf dem Bildschirm des Übersetzungseditors angezeigt. Der Benutzer kann jedoch den benutzerdefinierten Begriffswert der Sekundärsprache mithilfe des Nachbearbeitungsbildschirms so ändern, dass er sich von der Standardsprache unterscheidet.
  • ignorieren : Diese Aktion verhindert, dass der benutzerdefinierte Begriff in die Sekundärsprache kopiert wird.

4. Benutzerdefinierte Typen

Die benutzerdefinierten Beitragstypen, die WPML übersetzen soll. Benutzerdefinierte Typen in der Sprachkonfigurationsdatei

1 2 3 4 5 6 7 8<wpml-config> <custom-types> <custom-type translate="1">book</custom-type> <custom-type translate="1">DVD</custom-type></custom-types> </wpml-config>

Sie können dem Tag das Attribut „display-as-translated“ hinzufügen, um die Beitragstypen in der Standardsprache anzuzeigen, wenn keine Übersetzung vorhanden ist. Verwenden des Attributs Als übersetzt anzeigen mit benutzerdefinierten Typen

1 2 3 4 5 6 7<wpml-config> <custom-types> <custom-type translate="1" display-as-translated="1">movie</custom-type></custom-types> </wpml-config>

5. Benutzerdefinierte Taxonomien

Die benutzerdefinierten Taxonomien, die Ihr Plugin möglicherweise verwendet und die bereits bei WP registriert sind. Benutzerdefinierte Taxonomien in der Sprachkonfigurationsdatei

1 2 3 4 5 6 7 8 9<wpml-config> <taxonomies> <taxonomy translate="1">genre</taxonomy> <taxonomy translate="1">type</taxonomy> <taxonomy translate="0">publisher</taxonomy></taxonomies> </wpml-config>

Hinweis: Die Taxonomien, die keine Übersetzung benötigen, können in dieser Liste einfach weggelassen werden.

Sie können dem Tag das Attribut „display-as-translated“ hinzufügen, um die Taxonomien in der Standardsprache anzuzeigen, wenn keine Übersetzung vorhanden ist. Verwenden der Anzeige als übersetztes Attribut mit Taxonomien

1 2 3 4 5 6 7<wpml-config> <taxonomies> <taxonomy translate="1" display-as-translated="1">wild-west</taxonomy></taxonomies> </wpml-config>

6. Gutenberg blocks

Gutenberg ist der neue Editor, der mit der WordPress 5.0 kommt Version . In diesem Editor erstellen Sie Inhalte mithilfe von Blöcken.

Sie können angeben, welche Teile Ihres Gutenberg-Blocks übersetzt werden müssen, indem Sie Einstellungen zu wpml-config.xml hinzufügen .

Xpath wird verwendet, um Textteile zu definieren, die übersetzt werden müssen.

Nehmen wir an, wir haben ein Bild, das mit dem folgenden Code angezeigt wird: Beispiel für ein zu übersetzendes Bild

1 2 3<!-- wp:image {"id":3} --><figure class="wp-block-image"><img src="http://example.com/wp-content/uploads/2018/07/figure-2.png" alt="Image alt text" class="wp-image-3"/><figcaption>Image Caption</figcaption></figure><!-- /wp:image -->

Wir wollen das übersetzen figcaptionund der altAttributwerte dieses Bildes.

Dazu muss der folgende Code in eingefügt werden wpml-config.xml : Beispiel für Einstellungen für die Übersetzung des Gutenberg-Blocks

1 2 3 4 5 6 7 8 9 10<wpml-config> <gutenberg-blocks>    <gutenberg-block type="core/image" translate="1">        <xpath>//figure/figcaption</xpath>        <xpath>//figure/img/@alt</xpath>    </gutenberg-block></gutenberg-blocks> </wpml-config>

Bitte beachten dass der Typ ist core/imageund nicht wp:imageda dies der von der Block-API zurückgegebene Wert ist.

Sie können angeben, welche Gutenberg-Blockfelder Verknüpfungen sind. WPML ersetzt dann alle Links durch ihre Übersetzungen, sofern sie verfügbar sind. Übersetzung von Links in Gutenberg-Blöcken

1 2 3 4 5 6 7 8 9<wpml-config> <gutenberg-blocks>    <gutenberg-block type="core/some-block" translate="1">        <xpath type="link">//a/@href</xpath>    </gutenberg-block></gutenberg-blocks> </wpml-config>

Übersetzung von Blockattributen

Hier ein Beispiel für ein Format zur Definition eines Editorblocks: Format zur Definition eines Editorblocks

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<wpml-config> <gutenberg-blocks>    <gutenberg-block type="my-plugin/my-block" translate="1">        <xpath label="My Block">//p</xpath>        <key name="title" />        <key name="foo">            <key name="bar1" />            <key name="bar2" />        </key>        <key name="/^[^_]\S+$/" search-method="regex" />        <key name="something" search-method="wildcards" />    </gutenberg-block></gutenberg-blocks> </wpml-config>

Sie können das Schlüsselelement genauso verwenden, wie es bei der Admintexte / wp_options Konfiguration verwendet wird. Dies bedeutet auch, dass Sie Schlüsselelemente innerhalb von übergeordneten Schlüsselelementen haben können.

Sie können das Label- Attribut verwenden, um optionale benutzerdefinierte Labels hinzuzufügen, die im erweiterten Übersetzungseditor neben den Blockelementen angezeigt werden. Wenn das Label-Attribut Teil des gutenberg-block- Tags ist, wird es als Fallback-Label für Elemente des Blocks verwendet, für die kein bestimmtes Label definiert ist. Beispiel für ein Fallback-Label

1 2 3 4 5 6 7 8<wpml-config>    <gutenberg-blocks>        <gutenberg-block type="my-plugin/mybutton" translate="1" label="My fallback block label">            <xpath>//span</xpath>            <xpath>//a@href</xpath>        </gutenberg-block>    </gutenberg-blocks></wpml-config>
Fallback-Label im erweiterten Übersetzungseditor
Fallback-Label im erweiterten Übersetzungseditor

Das Attribut search-method kann einen von zwei Werten haben:

  • Platzhalter (Standard)
  • regex.

Wildcards können genauso verwendet werden, wie sie für Admin-Texte verwendet werden. Dies bedeutet, dass im Namensattribut ein Sternchen ( * ) verwendet werden kann. Hier ist ein Beispiel für einen Block: Beispiel für einen Block

1 2 3 4 5 6 7 8 9<!-- wp:my-plugin/my-block    {        "myp": {            "mypTitle":"The title",            "mypContent":"The Content",            "_mypSystem:"Meta attribute to not translate"        }    }/-->

Wir können die Blockdefinition mit einem Platzhalter setzen: Blockdefinition mit Platzhalter

1 2 3 4 5 6 7 8 9 10 11<wpml-config> <gutenberg-blocks>   <gutenberg-block type="my-plugin/my-block" translate="1">      <key name="myp">          <key name="myp*" />      </key>   </gutenberg-block></gutenberg-blocks> </wpml-config>

Dadurch können wir „Der Titel“ und „Der Inhalt“ übersetzen, da dies die einzigen Attribute sind, die mit myp beginnen .

Die Regex ermöglicht es uns, einen regulären Ausdruck im name-Attribut zu haben. Dies kann bei komplexen Konfigurationen äußerst nützlich sein. Hier ist ein Beispiel für einen Block: Komplexe Konfiguration – Beispiel

1 2 3 4 5 6 7 8 9 10<!-- wp:my-plugin/my-block    {        "data": {            "title":"The title",            "_title":"e980759463943209f6f1ae09a239e353",            "content":"The Content",            "_content":"1502a7b825dfe7b789c63830609f1701"        }    }/-->

Wir können die Blockdefinition mit einem regulären Ausdruck setzen: Blockdefinition mit einem regulären Ausdruck

1 2 3 4 5 6 7 8 9 10 11<wpml-config> <gutenberg-blocks>    <gutenberg-block type="my-plugin/my-block" translate="1">        <key name="data">            <key name="/^[^_]\S+$/" search-method="regex" />        </key>    </gutenberg-block></gutenberg-blocks> </wpml-config>

Dadurch können wir „Der Titel“ und „Der Inhalt“ übersetzen, da dies die einzigen Attribute sind, die nicht mit _ beginnen .

Namensraum blockieren

Sie können eine globale Konfiguration für den Blocknamensraum haben. Der Blockname ist kein erforderlicher Bestandteil der Definition mehr.

Wenn die Blockkonfiguration für alle Blöcke in einem Namensraum gleich ist, kann sie wie folgt geschrieben werden: Blöcke in einem Namensraum

1 2 3 4 5 6 7 8 9 10 11<wpml-config> <gutenberg-blocks>    <gutenberg-block type="my-plugin" translate="1">        <key name="data">            <key name="/^[^_]\S+$/" search-method="regex" />        </key>    </gutenberg-block></gutenberg-blocks> </wpml-config>

7. Admin-Texte / wp_options

Strings, die Teil der Optionen sind, die die Plugins oder Designs in der wp_options speichern Tabelle .

Wenn Themes und Plugins get_option verwenden , lesen sie Werte aus der wp_options Tabelle . WPML kann diese Aufrufe filtern und die Werte dieser Optionen übersetzen.

Dies funktioniert, wenn der Datensatz wp_option ein einfacher String ist, aber auch, wenn es sich um ein serialisiertes Array handelt.

Um eine einzelne Option zu übersetzen, fügen Sie einen Schlüsseleintrag hinzu unter admin-texts . Um ein serialisiertes Array zu übersetzen, fügen Sie mehrere Schlüssel unter einem Schlüssel hinzu , wie Sie in sehen können my_plugin_options im Beispiel unten . Admintexte in der Sprachkonfigurationsdatei

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19<wpml-config> <admin-texts> <key name="my_plugins_options">  <key name="option_name_1" />  <key name="option_name_2" />  <key name="options_group_1">   <key name="sub_option_name_11" />   <key name="sub_option_name_12" />  </key>  <key name="options_group_2">   <key name="sub_option_name_21" />   <key name="sub_option_name_22" />  </key> </key> <key name="simple_string_option"/></admin-texts> </wpml-config>

Es ist möglich, den Platzhalter * in Unterschlüsseln wie im folgenden Fall zu verwenden. Beispiel für die Verwendung von Platzhaltern

1 2 3 4 5 6 7 8 9<wpml-config> <admin-texts>  <key name="testing_option">    <key name="*"/>  </key></admin-texts> </wpml-config>

Es entspricht diesem Code:
Der entsprechende Code

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<wpml-config> <admin-texts>  <key name="testing_option">    <key name="sub_key_1"/>    <key name="sub_key_2">      <key name="sub_sub_21">        <key name="sub_sub_211"/>       </key>       <key name="sub_sub_21"/>    </key>    <key name="more_sub_keys"/>  </key></admin-texts> </wpml-config>

Bitte beachten Sie, dass der Platzhalter * NICHT in übergeordneten Schlüsseln funktioniert:
Der Platzhalter funktioniert nicht in übergeordneten Schlüsseln

1 2 3 4 5 6 7 8<wpml-config> <admin-texts>  <key name="some_option_*" />  <key name="*"/></admin-texts> </wpml-config>

8. Konfiguration des Sprachumschalters

Aktiviert eine bestimmte Konfiguration für den in WPML integrierten Sprachumschalter. Es kann auch zum Zurücksetzen der Sprachumschalterkonfiguration verwendet werden, wenn sie vom Backend (von ihren Anfangswerten) geändert wurde.

Um neue Änderungen , klicken Sie Standard unten auf der Seite auf die Schaltfläche anzuzeigen WPML → Sprachen wiederherstellen . Beispiel für das Hinzufügen einer benutzerdefinierten Konfiguration für den integrierten WPML-Sprachumschalter

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80<wpml-config> <language-switcher-settings>    <key name="additional_css">{inline CSS styles}</key>    <key name="link_empty">{0 or 1}</key>    <key name="copy_parameters">{parameter1, parameter2}</key>    <key name="sidebars">        <key name="{sidebar slug}">            <key name="display_flags">{0 or 1}</key>            <key name="display_names_in_current_lang">{0 or 1}</key>            <key name="display_names_in_native_lang">{0 or 1}</key>            <key name="display_link_for_current_lang">{0 or 1}</key>            <key name="widget_title">{widget title}</key>            <key name="template">{template slug}</key>            <!-- color picker keys -->            <key name="background_normal">#{hex color}</key>            <key name="border_normal">#{hex color}</key>            <key name="font_current_normal">#{hex color}</key>            <key name="font_current_hover">#{hex color}</key>            <key name="background_current_normal">#{hex color}</key>            <key name="background_current_hover">#{hex color}</key>            <key name="font_other_normal">#{hex color}</key>            <key name="font_other_hover">#{hex color}</key>            <key name="background_other_normal">#{hex color}</key>            <key name="background_other_hover">#{hex color}</key>        </key>    </key>    <key name="statics">        <key name="footer">            <key name="show">{0 or 1}</key>            <key name="display_flags">{0 or 1}</key>            <key name="display_names_in_current_lang">{0 or 1}</key>            <key name="display_names_in_native_lang">{0 or 1}</key>            <key name="display_link_for_current_lang">{0 or 1}</key>            <key name="template">{template slug}</key>            <!-- color picker keys -->            <key name="background_normal">#{hex color}</key>            <key name="border_normal">#{hex color}</key>            <key name="font_current_normal">#{hex color}</key>            <key name="font_current_hover">#{hex color}</key>            <key name="background_current_normal">#{hex color}</key>            <key name="background_current_hover">#{hex color}</key>            <key name="font_other_normal">#{hex color}</key>            <key name="font_other_hover">#{hex color}</key>            <key name="background_other_normal">#{hex color}</key>            <key name="background_other_hover">#{hex color}</key>        </key>        <key name="post_translations">            <key name="show">{0 or 1}</key>            <key name="display_flags">{0 or 1}</key>            <key name="display_names_in_current_lang">{0 or 1}</key>            <key name="display_names_in_native_lang">{0 or 1}</key>            <key name="display_link_for_current_lang">{0 or 1}</key>            <key name="display_before_content">{0 or 1}</key>            <key name="display_after_content">{0 or 1}</key>            <key name="template">{template slug}</key>            <key name="availability_text">{string like "See post translations: %s"}</key>        </key>        <key name="shortcode_actions">            <key name="display_flags">{0 or 1}</key>            <key name="display_names_in_current_lang">{0 or 1}</key>            <key name="display_names_in_native_lang">{0 or 1}</key>            <key name="display_link_for_current_lang">{0 or 1}</key>            <key name="template">{template slug}</key>            <!-- color picker keys -->            <key name="background_normal">#{hex color}</key>            <key name="border_normal">#{hex color}</key>            <key name="font_current_normal">#{hex color}</key>            <key name="font_current_hover">#{hex color}</key>            <key name="background_current_normal">#{hex color}</key>            <key name="background_current_hover">#{hex color}</key>            <key name="font_other_normal">#{hex color}</key>            <key name="font_other_hover">#{hex color}</key>            <key name="background_other_normal">#{hex color}</key>            <key name="background_other_hover">#{hex color}</key>        </key>    </key></language-switcher-settings> </wpml-config>

Nicht alle dieser Abschnitte müssen in der Konfigurationsdatei vorhanden sein, sondern nur diejenigen, die für Ihr Plugin oder Design gelten.

Verwenden der WPML-Sprachkonfigurationsdatei mit untergeordneten Designs

Wenn Sie ein Child-Theme verwenden, überschreibt die Sprachkonfigurationsdatei des Parent-Themes die im Child-Theme gefundene. WPML bietet eine Konfigurationsseite, auf der Sie dies problemlos mit benutzerdefinierten Einstellungen überschreiben können.

Betrachten wir ein Beispiel, bei dem die Sprachkonfigurationsdatei des übergeordneten Themas den benutzerdefinierten Beitragstyp „Eigenschaft“ als übersetzbar festlegt.

Die Konfigurationsdatei der übergeordneten Sprache legt den benutzerdefinierten Beitragstyp der Eigenschaft zum Übersetzen fest

Wenn Sie ein Child-Theme verwenden und den benutzerdefinierten Beitragstyp „Eigenschaft“ so einstellen möchten, dass er nicht übersetzbar ist, navigieren Sie zur WPML Einstellungen Seite und klicken Sie auf die Benutzerdefinierte XML-Konfiguration Registerkarte . Verwenden Sie den Editor, um den benutzerdefinierten Beitragstyp „Eigenschaft“ so einzustellen, dass er nicht übersetzbar ist. Setzen Sie einfach den des translate- Wert Attributs auf 0 statt auf 1 .

Überschreiben der Sprachkonfigurationseinstellungen des übergeordneten Themes
Überschreiben der Sprachkonfigurationseinstellungen des übergeordneten Themes

Die Einstellungen auf der Benutzerdefinierte XML-Konfiguration Registerkarte haben Vorrang vor den Einstellungen in der Sprachkonfigurationsdatei im übergeordneten Thema.

Inhaltsverzeichnis
Nach oben scrollen