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=trDie Standardsprache behält die präfixfreien URLs von WordPress, also hat jeder Beitrag genau eine kanonische Adresse.
Ü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.
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.
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.
Sprachen anlegen
Wähle im Einstellungsbildschirm die Sprachen, in denen du veröffentlichst. Jede bekommt ein Adresspräfix.
Inhalte übersetzen
Schreibe jede Übersetzung im gewohnten Editor, im Feld am Beitrag selbst.
Den Umschalter zeigen
Setze den Shortcode in einen Beitrag oder rufe den Template-Tag aus deinem Theme auf.
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_contentlä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