Lösung gefunden
Hallo,
Nach unzähligen Stunden auf der Suche nach der Ursache habe ich nun endlich eine Lösung gefunden.
So gehts:
Wer das Contact Form 7 Plugin zusammen mit dem langswitcher plugin verwendet muss auf folgendes achten:
Die language Datei des CF7 plugins muss entsprechend der WPLANG Konstante benannt sein. Wenn WPLANG=de ist dann heißt die Sprachdatei des CF7 wpcf7-de.mo.
Soweit vielleicht nichts neues. Nun muss man im Frontend von WP mittels langswitcher die Sprache umschalten z.B. in deutsch. Danach kann man ins Backend und alles sollte nun deutsch erscheinen (dazu benötigt man natürlich auch noch die de.mo im language ordner von WP).
Nun erstellt man mit CF7 ein Formular. Das komplette Formular mit allen Beschriftungen und Formular-Fehlermeldungen wird nun von CF7 in der Datenbank gespeichert. Damit wäre ein deutsces Kontaktformular erstellt. Nun geht man ins Frontend, schaltet die Sprache auf z.B. englisch um. Geht wieder ins Backend und erstellt mit CF7 ein zweites Formular. Alle Beschriftungen und Formular-Fehlermeldungen werden nun von CF7 in englisch in der Datenbnka gespeichert.
Nun erstellt man einen neuen Post/Page, wo man das Formular einbindet. Und dieser Post sieht dann etwas so aus:
[lang_de][contact-form 1 "deutsches Kontaktformular"][/lang_de]
[lang_en][contact-form 2 "englisches Kontakformular"][/lang_en]
Wobei "deutsches Kontaktformular" der Name des CF7-Formulars ist, das man erstellt hat, als die Sprache im Backend deutsch war (also in meiner Beschreibeung das erste Formular). Und "englisches Kontaktformular" entsprechend das englische.
Ja, das klingt kompliziert und ich weiß nicht, ob mans versteht, wie ich es jetzt beschrieben habe. Der wichtigste Punkt ist, dass CF7 die verschiedenen Formulare komplett (also alle Beschriftungen und alle Formular-Fehlermeldungen) in der Datenbank speichert und dabei die Sprachdateien verwendet. Wenn ein CF7 Formular aufgerufen wird im Frontend werden also die Beschriftungen nicht mehr aus den Sprachdateien geholt, sondern aus der Datenbank. Das Formular wird also im Frontend nicht mehr sprachlich angepasst, sondern nur beim Erstellen des Formulars im Backend.
Hoffe, ich erspare damit jemandem Stunden an Arbeit, die es mich gekostet hat.
Gruß
Orangeblue