it-swarm.com.de

Übersetzen Sie Inhalte, nicht Instanzen, per Post

TL; DR: Ich suche nach einer Möglichkeit, nur den Inhalt eines bestimmten Posts in eine andere Sprache zu übersetzen, nicht alles, was gesagt wird post (wie das 'meta' und das 'search' Feld wie scheint diese Lösung zu tun ).

Längere Version: Ich verwalte derzeit eine statische HTML-Website für eine kleine Firma, die alle paar Wochen mit einem neuen Beitrag aktualisiert wird. Einige dieser Beiträge sind in Französisch (Standardsprache) und Englisch verfasst, andere auch in Deutsch oder sogar Spanisch. Derzeit wird jede Version jedes Posts zuerst geladen, während alle nicht französischen Versionen von display:none ausgeblendet werden. Jeder Beitrag hat rechts eine Reihe von Flags, die den verfügbaren Übersetzungen entsprechen. Der Benutzer klickt auf eines dieser Flags und mit ein wenig Query-Magie wird die Eigenschaft display entsprechend umgeschaltet, wobei der Inhalt des Posts durch das lokalisierte Gegenstück ersetzt wird. Einfach.

Ich versuche jetzt, all dies auf WordPress zu portieren, um beispielsweise die Verwaltung der Website an eine andere Person zu übergeben, die möglicherweise vollständig mit dem Computer umgehen kann. Ich versuche verzweifelt, eine elegante Lösung zu finden, die sowohl den Code vereinfacht als auch für manche Redakteure einfach zu verstehen ist. Wenn jemand eine Idee hat, in die ich mich vertiefen könnte, wäre das sehr dankbar.

P .: Es ist wichtig zu beachten, dass wir uns nicht um SEO kümmern, da die Besonderheiten unseres Geschäfts dies nicht erfordern.

3

Am einfachsten wäre es, benutzerdefinierte Felder auf der Bearbeitungsseite zu haben: ein Textfeld für jede Sprache, die Sie verwenden möchten (und möglicherweise unterschiedliche Titelfelder?). Dazu könnten Sie ein Plugin wie ACF verwenden . Dies würde eine einfache Schnittstelle für nicht-technische Redakteure bieten.

Angenommen, Sie erstellen ein eigenes Thema, können Sie die benutzerdefinierten Felder in Ihre Vorlage integrieren. Zeigen Sie immer den französischen Text an, testen Sie, ob Felder für andere Sprachen leer sind, und schließen Sie sie gegebenenfalls mit ein. Schalten Sie dann wie gewohnt mit jQuery um.

Wenn Sie ein Design eines Drittanbieters verwenden, müssen Sie in functions.php ein untergeordnetes Design mit einem Filter erstellen, der die benutzerdefinierten Felder zu einem normalen Aufruf von the_content (und the_title) hinzufügt und die CSS- und die jQuery-Funktion zum Umschalten der Anzeige enthält. So was:

$spanish_content = '<div class="spanish">' . get_field('spanish_content') . '</div>';
apply_filters('the_content',$spanish_content);

(Hinweis: Der Aufruf von get_field ist spezifisch für das ACF-Plugin.)

1
cjbj