Contact form 7 with qtranslate

I am using qTranslate for bilingual WordPress. One problem I have is with Contact Form 7 contact pages. I need the Arabic texts as options in the Contact 7 form, only when the user is seeing the site in Arabic.

Lets say I have the following:

Read More
[radio paymethod "VISA" "MASTERCARD" "AMEX"]  

I need to show these values in Arabic when its Arabic mode. Also need to get the error/success messages in the other languages (ie: when the language is switched).

I tried changing settings.php of the plugin. It was

    return (string) $wpcf7_request_uri;```
and now is
```php
    $lang = "&lang=" . qtrans_getLanguage();
    return ((string) $wpcf7_request_uri) . $lang;

It changes my url to: http://example.com/contact-us/&lang=ar#wpcf7-f289-t1-o1 and that results in a 404.

qTranslate has three configs for language.

  1. query string
  2. pre-Path Mode (puts /en/ in front)
  3. en.yoursite.com.
    I am using 2.

Related posts

Leave a Reply

1 comment

  1. I have found the solution.

    The contact forms can be created using a locale at the beginning. I contacted the Plugin Author and he directed to this page

    I also made changes to the settings.php of the Contact form 7 as the following:

        function wpcf7_get_request_uri() {
           global $wpcf7_request_uri;
           if (($GLOBALS['q_config']['hide_default_language'] == 1) AND ($GLOBALS['q_config']['default_language'] != $GLOBALS['q_config']['language']))
            return ((string) '/' . $GLOBALS['q_config']['language'] . $wpcf7_request_uri);
        }