On my recent project I had to create multilingual site and we decided to add multiple languages using qTranslate plugin.
The site of course has “Contact us” page and we decided to use Contact Form 7 plugin because it’s rich and flexible plugin for creating contact forms.
So far so good, but we detected that when the language is different than the default one, the form submission is redirecting to the default language page and because the forms are different they didn’t handle properly the errors as well as the thankyou message.
The solution is very simple. Go and add this code in functions.php under your theme folder (if you don’ have such file, create it).
The short explanation: It create a filter which is applied the the Contact Form 7 action in the form tag. Using the qtrans_convertURL() the Request URI will be converted and it will use the currently selected language. I’ve added a validation if the qtrans_convertURL if some day the plugin is disabled.