Funktionsweise

Das Multilang-Add-on erweitert die Importverarbeitung mehrsprachiger Immobilienangebote mit immonex OpenImmo2WP um die folgenden Punkte:

?> * Die Standard-Mapping-Tabellen des OpenImmo2WP-Plugins enthalten deutsch- und englischsprachige Taxonomie- und Custom-Field-Inhalte. Sollen Immobilien in weiteren Sprachen importiert werden, müssen die entsprechenden Übersetzungen in der Mapping-Tabelle ergänzt werden (→ Details).

Immobilienbeiträge (Posts)

Auf der WordPress-Seite wird jedes Immobilienangebot in Form eines eigenständigen Beitrags² (Post) gespeichert, auch dann, wenn es sich hierbei nur um eine Übersetzung (Sprachvariante) handelt. Wird also bspw. ein Objekt in den Sprachen Deutsch, Englisch und Spanisch importiert, werden drei separate Beiträge angelegt, die über eine gemeinsame ID verknüpft sind.

Immobilien-Sprachvarianten im WordPress-Backend

Im OpenImmo-XML-Standard entspricht eine Sprachvariante einem eigenständigen Objekt-Datensatz¹ (Element immobilie). Maßgeblich für die korrekte importseitige Zuordnung von Sprache und Übersetzungen sind die folgenden XML-Elemente:

<anbieter>
    <immobilie>
        <verwaltung_techn>
            <objektnr_intern>KH_123</objektnr_intern>
            <objektnr_extern>123</objektnr_extern>
            <openimmo_obid>OINV4711123-DE</openimmo_obid>
            <sprache>de-DE</sprache>
        </verwaltung_techn>
    </immobilie>
    <immobilie>
        <verwaltung_techn>
            <objektnr_intern>KH_123</objektnr_intern>
            <objektnr_extern>123</objektnr_extern>
            <openimmo_obid>OINV4711123-EN</openimmo_obid>
            <sprache>en-US</sprache>
        </verwaltung_techn>
    </immobilie>
    <immobilie>
        <verwaltung_techn>
            <objektnr_intern>KH_123</objektnr_intern>
            <objektnr_extern>123</objektnr_extern>
            <openimmo_obid>OINV4711123-ES</openimmo_obid>
            <sprache>es-ES</sprache>
        </verwaltung_techn>
    </immobilie>
</anbieter>

Die Sprache eines XML-Objekt-Datensatzes ist im Unterelement verwaltung_techn → sprache in Form eines RFC-1766-Sprachenkürzels hinterlegt, einer Kombination aus dem ISO-639-1-Sprachcode und dem zugehörigen ISO-3166-1-Ländercode (ALPHA-2) (z. B. de-DE oder en-US).

Die Identifizierung einzelner Sprachvarianten erfolgt beim Import anhand der OpenImmo-Objekt-ID (OBID), weswegen diese Angabe immer eindeutig sein muss.

!> Ist seitens des Exportsystems (Maklersoftware) keine Übermittlung eindeutiger OBIDs möglich, d. h. werden alle Sprachvarianten mit einer identischen OBID übertragen, muss diese per Filterfunktion beim Import angepasst werden. (Andernfalls würde bei jedem Import einer Sprachvariante die zuvor importierte Objekt-Übersetzung mit der gleichen ID überschrieben werden.)

Übersetzungs-ID

Für die Verknüpfung untereinander teilen sich alle Sprachvarianten eines Objekts eine gemeinsame Übersetzungs-ID. Das kann entweder die interne (verwaltung_techn → objektnr_intern) oder die externe Objektnummer (verwaltung_techn → objektnr_extern) sein. Alternativ kann hierfür aber auch eine benutzerdefinierte Angabe verwendet werden.

Diese Übersetzungs-ID wird im Rahmen der Importverarbeitung pro Immobilienbeitrag in einem Custom Field namens _immonex_translation_id gespeichert. Standardvorgabe hierfür ist die externe Objektnummer.

Mapping-Eintrag für die Zuordnung der Übersetzungs-ID

Soll eine alternative Angabe verwendet werden, muss der Eintrag in der Mapping-Tabelle³ entsprechend angepasst werden.

?> Noch einmal kurz zusammengefasst: Die OBID muss immer eindeutig sein, die Übersetzungs-ID ist bei allen Sprachvarianten eines Objekts gleich.

Taxonomie-Begriffe

Analog zu den Immobilienbeiträgen werden auch die in der Mapping-Tabelle³ in mehreren Sprachen hinterlegten Taxonomie-Begriffe (Terms) beim Import verarbeitet: Beim Einfügen eines neuen Terms wird dabei anhand der Sprache des zugehörigen Objekts die passende Übersetzung ausgewählt. Zudem werden bereits vorhandene Sprachvarianten des gleichen Begriffs verknüpft.

Taxonomie-Begriffe inkl. Übersetzungen in der Mapping-Tabelle

Alle Standard-Mapping-Tabellen des OpenImmo2WP-Plugins enthalten die englischsprachigen Originalbegriffe in den Spalten Title und Parent sowie die deutschen Übersetzungen in den Spalten Title DE und Parent DE. (Übersetzungen in weiteren Sprachen können in einer eigenen, erweiterten Mapping-Tabelle hinzugefügt werden.)

Neben den Begriffen in der Mapping-Tabelle werden auch identische Terms in unterschiedlichen Sprachen automatisch verknüpft (z. B. Orts-/Städtenamen).

Custom Fields

Mapping-Tabellen beinhalten auch Bezeichnungen und Werte, die beim Import in Form von benutzerdefinierten Feldern (Custom Fields) gespeichert werden.

Die Auswahl der passenden Übersetzung erfolgt hier ebenfalls anhand der Importsprache der aktuell verarbeiteten Immobilie. Eine Verlinkung der Übersetzungen untereinander ist hier aber nicht erforderlich.

Auch hier gilt: Übersetzungen in weiteren Sprachen (außer Deutsch und Englisch) müssen in einer individuellen Mapping-Tabelle hinterlegt werden.

Weitere Infos (OpenImmo2WP-Dokumentation)


¹ Mit objekt_text existiert zwar ein Element, mit dem zusätzliche Beschreibungstexte in alternativen Sprachen im gleichen Datensatz übermittelt werden können, dieses spielt aber in der Praxis keine Rolle.

² Post der Beitragsart (Custom Post Type oder kurz CPT) für Immobilienangebote

³ Mapping-Tabellen enthalten die Zuordnungen für die Übertragung der OpenImmo-XML-Elemente in die WordPress- und Theme-Datenstrukturen.