Zum Inhalt springen
multilify

Ein BeitragJede Sprache

Jede Übersetzung liegt in den Metadaten des Beitrags selbst, nach Sprachcode abgelegt. Es gibt einen Beitrag, und er trägt alle seine Sprachen mit sich.

Eine Übersetzung ist kein zweiter Beitrag.

in den meisten Plugins

Der Beitrag wird pro Sprache einmal geklont. Fünf Sprachen bedeutet fünf Beiträge, die synchron bleiben müssen, fünf Meta-Datensätze und fünf Dinge, die man beim Bearbeiten des einen vergisst.

hier

Nichts wird geklont. Jede Sprachfassung liegt in den Metadaten des Originalbeitrags, nach Sprachcode abgelegt, und ein Satz Rewrite-Regeln löst jede lokalisierte Adresse dorthin auf.

Ein Beitrag, vier Adressen

Der ganze Entwurf besteht aus zwei Gedanken, alles andere folgt daraus.

^tr/([^/]+)/?$→index.php?name=$matches[1]&lang=tr

Die Standardsprache behält die präfixfreien URLs von WordPress, also hat jeder Beitrag genau eine kanonische Adresse.

  1. Übersetzungen liegen am Beitrag

    Jede Sprachfassung wird in den Metadaten des Originalbeitrags gespeichert, nach Sprachcode abgelegt. Es gibt einen Beitrag, und er trägt alle seine Übersetzungen mit sich.

  2. Eine lokalisierte URL kommt an

    Jemand ruft die türkische Adresse auf. Es wurde nichts dupliziert, also gibt es keinen zweiten Beitrag zu suchen und kein Paar abzugleichen.

  3. Rewrite-Regeln lösen sie auf

    Regeln pro Sprache verweisen die lokalisierte URL zurück auf den Originalbeitrag, und die dort gespeicherte Übersetzung wird ausgegeben.

Drei Schritte

Von einer einsprachigen Website zu einer übersetzten.

  1. Sprachen anlegen

    Wähle im Einstellungsbildschirm die Sprachen, in denen du veröffentlichst. Jede bekommt ein Adresspräfix.

  2. Inhalte übersetzen

    Schreibe jede Übersetzung im gewohnten Editor, im Feld am Beitrag selbst.

  3. Den Umschalter zeigen

    Setze den Shortcode in einen Beitrag oder rufe den Template-Tag aus deinem Theme auf.

Sprache hinzufügen, Präfix vergeben, und jeder Beitrag bekommt ein Übersetzungsfeld dafür. Danach antwortet derselbe Eintrag unter einer Adresse pro Sprache.

Was es macht

Sechs Dinge, benannt nach dem, was sie berühren.

  • Unbegrenzt viele Sprachen

    So viele wie nötig. Es gibt keine Stufe, die die Anzahl begrenzt.

    Einstellungen

  • Eigene Slugs pro Sprache

    Für jede Sprachfassung eines Beitrags ein eigener, übersetzter Slug, verschachtelte Seiten eingeschlossen.

    die URL

  • Eine Abfrage aus dem Cache

    Die Slug-Suche liegt im Object Cache und ist indiziert, und der Cache wird verworfen, sobald sich ein Slug ändert.

    die Abfrage

  • Bleibt auf deinem Server

    Keine Übersetzungs-API von Dritten, keine ausgehenden Aufrufe, keine Anmeldung.

    das Netz

  • hreflang und lang

    Alternate-Tags mit x-default, ein lang-Attribut, das der Seite folgt, und ein passender Content-Language-Header.

    der Head

  • Gutenberg und Classic

    Die Übersetzungsfelder erscheinen im Editor, den du ohnehin benutzt, direkt am Beitrag.

    der Editor

Was nicht übersetzt wird

Hier, nicht erst nach der Installation. Danach ist es zu spät, um es zu erfahren.

  • Page-Builder, die aus eigenen gespeicherten Daten rendern, etwa Elementor. Multilify übersetzt, was durch the_content läuft, und das deckt Block-Editor und Classic Editor ab.

  • Menüs und Widgets. Vorerst nur Beitrags- und Seiteninhalte.

  • WooCommerce-Preise, -⁠Attribute und -⁠Varianten. Produkttitel und -⁠beschreibung werden übersetzt, der Rest sind WooCommerce-eigene Daten.

(von einer Übersetzung) auf dem Server bleiben, auf dem sie geschrieben wurde.

Keine Übersetzungs-API, keine ausgehende Anfrage, keine Pro-Version, keine Anmeldung.

wp plugin install multilify --activate