Mehrsprachige Webseite

ganz ohne Sprachplugin

Kann man Polylang, WPML oder TranslatePress ersetzen?

Sie übersetzen nicht automatisch, zumindest nicht auf einem akzeptablen Niveau, und man muss weiterhin alle Sprachen separat pflegen.

Sie sparen keinen Webspace, da auch weiterhin alle Seiten und Beiträge kopiert werden.
Sie verlangsamen Ihre Website, weil alle komplexen Plugins dies tun.
Sie sind fehleranfällig. Zumindest verwirrt mich ihre Struktur und Funktionalität immer wieder auf Neue und ich muss am Ende alles noch mal machen. Wenn es nicht 100%ig korrekt angewandt wird, findet man nach jeder kleinen Bearbeitung Wortfolgen in der falschen Sprache auf der ganzen Seite verstreut wieder.

Ich gebe zu, dass es einen richtigen Weg gibt und dann wirklich alles einwandfrei funktioniert. Aber als ich den Auftrag erhielt, eine Website mit 5 Sprachen zu erstellen, kam mir die Frage in den Sinn: "Kann ich eine mehrsprachige Website eigentlich ganz ohne ein Sprach-Plugin erstellen und mir die Frustrationen ersparen?

Ist eine mehrsprachige Website ohne Sprach-Plugin möglich?

Die Antwort auf diese Frage lautet nicht nur Ja, sondern mit Oxygenbuilder ist es auch erstaunlich einfach zu bewerkstelligen. Alles, was ich brauchte, waren 2 benutzerdefinierte Felder, 2 Bedingungen, 1 dynamisches Datum und 1 Main Template.

Nehmen wir an, Sie möchten eine Website mit Seiten und einem benutzerdefinierten Beitragstyp namens "Sights" entwickeln. Dieser Beitragstyp benötigt einen Header. Als Nächstes fügen Sie Kategorien mit den Namen "sights en", "sights de" und "sights it” für Englisch, Deutsch und Italienisch usw hinzu. Eine für jede Sprache auf der Website.

Sprachauswahl und Sprachumschaltung mit ACF einrichten

Erstellen Sie nun 2 benutzerdefinierte Felder mit der kostenlosen Version von ACF.

Das erste Feld nennen wir “language picker”. Machen Sie es zu einem Optionsfeld (Radio Button). Fügen Sie für jede Sprache eine Auswahl hinzu, z. B. “main en”, “main de” und “main it”. Als Regel setzen Sie 'Post type is equal to Page'.

Das zweite benutzerdefinierte Feld ist die Sprachumschaltung. Machen Sie es zu einem URL-Feld. Dann duplizieren Sie das Feld, bis Sie 1 pro Sprache haben. Sie können sie “language switch en”, “language switch de” usw. nennen. Die erste Regel ist die gleiche wie oben 'Post type is equal to Page'.

Darüber hinaus müssen Sie eine Regel für jeden Beitragstyp hinzufügen, der eine Überschrift erfordert. In unserem Beispiel setzen Sie eine Regel 'Post type is equal to Sights'. Das ist ganz einfach, denn WordPress zeigt Ihnen alle Beitragstypen an, die Sie erstellt haben, und Sie müssen nur den richtigen auswählen.

Öffnen Sie nun Ihre Hauptvorlage im Oxygenbuilder. Normalerweise haben Sie dort mindestens einen Header, einen Footer und vielleicht ein Modal. Wenn Sie im Struktur-Panel auf "Collapse all" klicken, sehen Sie nur die Sektionen.

Wählen Sie nun im Struktur-Panel die erste Sektion aus. Klicken Sie dann auf das Bedingungssymbol in der oberen linken Ecke Ihres Bildschirms. Das ist das hell erleuchtete Icon.
Klicken Sie dann auf "Set Conditions" und vergewissern Sie sich, dass dort "Show Element if ANY of these conditions are true" steht.

Um die erste Bedingung festzulegen, klicken Sie auf das linke Feld und wählen Sie "Dynamic Data".
Klicken Sie dann auf 'Advanced Custom Field'.
Klicken Sie dann auf 'language picker'. Dies ist das erste der beiden benutzerdefinierten Felder, die wir zuvor erstellt haben.
Lassen Sie das == so wie es ist.
In das Feld auf der rechten Seite geben Sie einen der 5 definierten Werte ein, in unserem Beispiel 'main en'.

Für die zweite Bedingung wählen Sie post_category im linken Feld. Lassen Sie das == unverändert. Klicken Sie auf das rechte Feld und wählen Sie 'sights en'.

Legen Sie diese Bedingungen für jede Sektion fest, die Text oder Links enthält.

Wenn Sie eine neue Seite hinzufügen, werden Sie nun die 2 benutzerdefinierten Felder sehen. Da wir unsere Website auf Englisch entwickeln, sollten Sie 'main en' wählen. Damit werden die englischen Header und Footer im Frontend der Seite angezeigt. Wenn Sie keine der Optionen auswählen, wird diese Seite ohne Header und Footer angezeigt.

Es gibt auch 5 leere Felder, in die Sie URLs eingeben sollten. Um nicht durcheinander zu kommen, verwende ich diese Namenskonvention für meine Slugs. Wenn die URL dieser Seite www.my-website.com/services/ lautet, würde ich sie in alle 5 Felder einfügen. Dann würde ich Anhänge hinzufügen. Die Seite mit den deutschen Diensten hieße dann www.my-website.com/services-de/ und so weiter. Die gleichen Namenskonventionen würde ich auch für Beiträge verwenden. Sie können das tun, auch wenn diese URLs noch nicht existieren.
Das machen Sie bei allen Seiten und Beiträgen, die eine Überschrift wie "Sehenswürdigkeiten" benötigen. Wenn Sie den Slug zu SEO-Zwecken umbenennen müssen, können Sie dies später mit einem Plugin namens Better Search Replace tun. (Sie können auch gleich den richtigen Slug verwenden, das ist nur etwas verwirrender).

Gehen Sie nun zurück zum Main Template in Oxygen. Nehmen wir einmal an, dass Sie Flaggen anzeigen, um zwischen den Sprachen zu navigieren. Klicken Sie den Link-Wrapper für die englische Flagge an. Gehen Sie nun in das URL-Feld auf der linken Seite von Oxygen und klicken Sie auf Data. Wählen Sie "language switch en". Wiederholen Sie diesen Vorgang für den Link-Wrapper mit der deutschen Flagge, wählen Sie jedoch "language switch de". Und so weiter.
Entwickeln und gestalten Sie nun Ihre Website, bis Sie mit der Struktur und dem Inhalt zufrieden sind. Sind Sie wirklich schon zufrieden mit dem Layout, dem Design, den Bildern usw.? Ist auch Ihr Kunde damit zufrieden? Nach dem nächsten Schritt müssen Sie alle Änderungen, die Sie vornehmen, an so vielen Stellen vornehmen, wie Sie Sprachen haben.

Zunächst sollten Sie das Main Template mit Header und Footer bearbeiten. Wie bereits erwähnt, bringen wir alle Header und Footer in diesem einen Template unter. Duplizieren Sie nun jeden Abschnitt, so dass Sie einen pro Sprache haben. Neben der Übersetzung des Textes müssen Sie auch die Links in den Menüs ändern. Hier kommt wieder meine Slug-Namenskonvention zum Tragen. Je nachdem, ob Sie die nativen WP-Menüs verwenden oder ob Sie ein benutzerdefiniertes Menü erstellt haben, fügen Sie ein zusätzliches WP-Menü hinzu oder bearbeiten die benutzerdefinierten Links.
Nun müssen Sie auf jeden Fall noch die Bedingungen anpassen . Das ist aber einfach. Ersetzen Sie einfach 'main en' durch 'main de', 'main it' usw., und 'sights en' durch 'sights de' und 'sights it' usw. Vergessen Sie nicht, die Bedingungen auf jede einzelne Sektion deMain Templates anzuwenden.

Nun müssen Sie die Seiten und alle Beiträge duplizieren, die eine Überschrift wie z.B. 'sights' benötigen. Achten Sie darauf, dass Sie den Slug entsprechend der Namenskonvention ändern. Ändern Sie dann die Sprachauswahl auf die richtige Sprache. Veröffentlichen Sie nun die Seite, damit Sie den Inhalt mit dem Oxygenbuilder übersetzen können. (Oder machen Sie das mit ACF oder im Gutenberg-Editor, aber das ist ein anderes Thema)
Kampot Web Solutions
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram