Translator Revolution WordPress Plugin

Reach millions of people around the world with just a simple couple of clicks


1How can I request support?

Support is provided only via e-mail. To contact us, please use the contact form in from our profile page:

Proper way:

  • Describe what’s happening, and what you expect to happen.
  • Send a link/URL where the problem can be seen.
  • If necessary, include a screenshot and/or steps on how to reproduce the issue.

Correct sample message:

I'm having an issue with the translator. On desktop it's displayed correctly, but when I access the site on a mobile device, it doesn't show up. Here's link where you can see it: And just in case you need it, this is my Item Purchase Code: f4b3ae24-d23f-42a3-80a6-41c37ced6961

Bad sample message:

I'm having an issue with the translator. It doesn't work on mobile devices.

Proper support requests will have priority: the last correct support request will be replied before any other incomplete message.

2I have left a few support requests, but I haven't had a reply. Why?

First, make sure your support request complies with the items listed above. We promise to reply within two business days. In reality, we reply much faster than that. So most likely the replies are already in your SPAM folder.

3What are the supported languages?

There are 103 languages supported:

Afrikaans, Albanian, Amharic, Arabic, Armenian, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian, Catalan, Cebuano, Chichewa, Chinese Simplified, Chinese Traditional, Corsican, Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Filipino, Finnish, French, Frisian, Galician, Georgian, German, Greek, Haitian Creole, Hausa, Hawaiian, Hebrew, Hindi, Hmong, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Korean, Kurdish, Kyrgyz, Lao, Latin, Latvian, Lithuanian, Luxembourgish, Macedonian, Malagasy, Malay, Malayalam, Maltese, Maori, Marathi, Mongolian, Burmese, Nepali, Norwegian, Pashto, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Serbian, Sesotho, Sinhala, Slovak, Slovenian, Somali, Samoan, Scots Gaelic, Shona, Sindhi, Spanish, Sundanese, Swahili, Swedish, Tajik, Tamil, Telugu, Thai, Turkish, Ukrainian, Urdu, Uzbek, Vietnamese, Welsh, Xhosa, Yiddish, Yoruba, Zulu.

4Can I edit the translations?

Yes, there's an admin panel dedicated to such matter. See the screenshots.

Simply select the URL you'd like to modify the translations for, select the language and make the changes. Also, if you'd like to make adjustments for many pages at the same time, you can import translations too. You may want to read this whole thread too:

5Do I need to translate the pages after installing the plugin?

No, this is an automatic translation plugin. The pages will be automatically translated when someone clicks on a language.

6What's the procedure to update the plugin?

From version 2.0, the plugin can be updated from its admin panel with a single click. Prior to this version, is needed to uninstall the old version and then install the newer one in the traditional way.

7Does it work with Visual Composer & Slider Revolution?

Yes, it works fine with both. It also works fine with all the other visual builders, as well as all the other sliders.

8Does it work on smartphones?

Yes, it works on smartphones. It works on Anddroid, iOS and Windows Mobile.

9Does this plugin work with the Genesis framework?

Yes, it works with the Genesis framework.

10Will it work with my theme? What if it doesn't work?

This plugin has been improved over the years and it's safe to say that it'll work fine with every theme. In the exceptional case that it doesn't work, then we can arrange a refund with Envato Market.

11I managed to place the translator in the location I wanted, but it's not visible when viewed on mobile devices. Why?

Most likely the theme is hiding the selected area for mobile devices, you should place the translator in a location that's always visible.

12Can you help me to place the translator in a special place?

The theme you're using has been carefully crafted, so it should include a placeholder or widget area to place a language switcher. If your theme doesn't have a placeholder for a language switcher, there are a few things you can try before requesting a customization:

- If you want to place the translator in a menu, you may try to use the following free plugin:

- Contact your theme provider to create this placeholder in your desired location.

- If you know how to place a shortcode in your desired location, you can do something similar with the translator:

  • Place an empty HTML container with a unique id, for instance:
    <div id="translator_desktop"></div>
  • Then in:
    Advanced Settings > General > Location > Custom > Custom location (jQuery), use:
  • If the location for desktop and mobile are different, you should also place:
    <div id="translator_mobile"></div>
  • Then in:
    Advanced Settings > General > Location > Custom > Custom location (jQuery), use:
    #translator_desktop:visible, #translator_mobile

- If you have a good knowledge of web languages, the translator can be placed anywhere using the advanced positioning settings:

Advanced Settings > General > Location > Custom

- If you're unable to do any of the above options, you can request a customization and we'll place the translator in your desired location. We'll ask you to take a screenshot(s) and visually explain us where would you like to place the translator. We're asking you this because some times is not too easy to come up with the procedure, and then it turns out that the solution isn't exactly what the client wanted.

Every operating system has a simple graphic editing tool, so basically you should:

  • Take a screenshot of the site.
  • Draw a rectangle or write a text in the desired area.
  • Different themes behave in different ways when displaying their content in different resolutions and mobile devices. Make sure to provide additional screenshots for different locations. You may contact your theme provider if you're not sure how to check how the theme looks like in different resolutions and devices.
  • Upload the screenshots to an online file hosting and keep the uploaded urls. You can use a free image file hosting, such as:
  • Make sure the Online Backups tab is enabled in the plugin's admin panel.
  • Send all the information by going to:
    1. Provide a temporary WordPress admin access:
      Login URL:
      Double check the user has proper access before sending it.
    2. Provide the links to the uploaded screenshots. Make sure to check the screenshots are accurate and correct.
    3. Specify whether you'd like to make the payment using PayPal or Bitcoin or Ethereum.
  • How to calculate the cost:
    Each provided screenshot represents a different location. Each location costs 5 EURO, plus a 2 EURO flat fee. For instance, if you're sending 2 screenshots, the cost of the customization will be: (2 x 5 EURO) + 2 EURO = 12 EURO
  • If later on you decide to add 1 new location/screenshot, it'll be a new customization, so the cost will be: (1 x 5 EURO) + 2 EURO = 7 EURO

13Can I use this plugin on a development site, and then transfer the license to the actual site? Or do I need to buy two licenses?

Each site requires one license, after the development site is ready to be deployed, you can use the same license on the live site. There's no need to buy a second license.

14The translator only shows up when I'm logged in. Why?

Most likely you have enabled the test mode:

Advanced settings > General > Test mode

Disable it and it should work fine.

15How can I have a link to a translated page?

It's possible to fire the translation to a language, but the content will always load in its original language, then after a couple of seconds, it'll get translated.

a) Advanced Settings > General > Javascript callbacks > On before initialize callback, use (replacing the current content):

function(translator, options) {

	var get_url_parameter = function(_name) {
		return decodeURIComponent((new RegExp('[?|&]' + _name + '=' + '([^&;]+?)(&|#|;|$)').exec(||[,""])[1].replace(/\+/g, '%20')) || null;

	var is_empty = function(_string) {
		var extra = arguments[1] || null;
		if (!extra) {
			return _string == null || _string.length == 0;
		else {
			return _string == extra;

	var lang_parameter = "lang";
	var to = get_url_parameter(lang_parameter);

	translator._force_translate_to = is_empty(to) ? null : to;
	if (translator._force_translate_to == options.from) {
		translator._force_translate_to = null;

b) Advanced > General > Javascript callbacks > On initialize callback, use (replacing the current content):

function(translator, options) {

	setTimeout(function() {

		if (translator._force_translate_to == null) {

		var language = translator._container.find("." + translator._options.languageSelectorClass + translator._force_translate_to);

		if (language.length > 0) {

	}, 200);

c) You should be able to use this code by adding a language parameter to any link, for instance:

16How can I hide either the flags or the language names depending on the device's resolution?

You should go to:

Advanced settings > General > Custom CSS

To hide the flags, use:

@media screen and (max-width: 800px) {
	.translator-sub-container td a img {
		display: none !important;

To hide the language names, use:

@media screen and (max-width: 800px) {
	.translator-sub-container td a span {
		display: none !important;

Notice the value: 800px. Will be effective for devices which resolution are equal or lower than this value.

17Is there a shortcode I can use?

There's no way to place a php line of code nor a shortcode, but there's something that works in a similar way:

You should place an empty HTML container with a unique id, for instance:

<div id="translator"></div>

Then in:

Advanced Settings > General > Location > Custom > Custom location (jQuery):



18Does this plugin support RTL languages? Can I use a different font depending on the selected language?

The plugin only translates text, it doesn't perform any kind of CSS alignment when translated to a RTL language. However, it's possible to assign a class style attribute (to any HTML element) with the current selected language, for instance:

You should go to:

Advanced > General > Javascript callbacks > On complete callback

Replace the content of the field with:

function(filtered_elements, translation, source, from, to, options, restore) {
	var body = document.getElementsByTagName("body")[0];
	var style = "translated-to-";
	var regex = new RegExp("\b" + style + "([a-zA-Z\-]{2,6})\b");
	body.className = body.className.replace(regex, "");
	if (!restore) {
		body.className += " " + style + to;

This will add a class style attribute to the body element, in the form of:

translated-to-{{ language code }}

Now, when you translate to, lets say, Arabic, the body element will be like this:

<body class="home other-styles translated-to-ar">

The styles have to be applied under the translated-to-ar style class, for instance:

You should go to:

Advanced > General > Custom CSS

To change to RTL, use:

body.translated-to-ar {
	direction: rtl;
	unicode-bidi: embed;

To change the font, use:

body.translated-to-ar {
	font-family: "Open Sans",Arial,sans-serif;
	font-size: 14px;

If it doesn't work as you expect and/or if you don't understand how it works, then you can contact the author of your theme to help you do this, as how the text is displayed is within the theme scope.

19Can I display my website in another language without having the user to actually choose a language?

You can automatically fire the translation when the page loads. You should go to the plugin's admin page and then to:

Advanced settings > General > Javascript callbacks > On initialize callback

Copy/paste the following code (replacing the current content):

function(translator, options) {
	if (jQuery.cookie("translator-" + + "-to") != undefined) {
	setTimeout(function() {
		var lang = "es";
		translator._links.filter("." + options.languageSelectorClass + lang).click();
	}, 200);

This code will fire the translation to Spanish. For other languages, please follow this link.