GTranslate Enterprise Documentation

Adding a CNAME record

DNS is the component of the Internet which converts human-readable domain names (such as into computer-readable IP addresses (such as It does this according to DNS zone files that reside on your server and tie domain names to IP addresses.

CNAME record stands for "canonical name record." This record creates an alias, allowing a querying server to continue the DNS lookup under the new name.

It may take up to 48 hours to add the record. Usually it takes less than 5 minutes. You can use nslookup command line tool to test if the record has been added.

cPanel hosting

  1. Go to Simple DNS Zone Editor.
  2. Add new record
  3. Type in the Name and CNAME of the record.
  4. Click Add CNAME Record.

Plesk hosting

  1. Go to DNS Settings page.
  2. Add Record
  3. Select CNAME record type.
  4. Type in the domain name and canonical name of the record.
  5. Click OK

Other control panels

If you cannot find the DNS management in your hosting panel, please consult your hosting how to add new DNS record. They should be able to do it for you if there is no place to manage your DNS records in the hosting control panel.

Removing non-www to www redirect for our network

RewriteCond %{HTTP:X-GT-Lang} ^$ # requests from our network will have X-GT-Lang header
RewriteCond %{HTTP_HOST} ^
RewriteRule (.*)$1 [R=301,L]

Enable URL Translation

To enable URL translation feature for your website you need to add the following code into the head tag of your pages.

<meta name="uri-translation" content="on" />

If you have specified a canonical URL, make sure that it is below the above meta tag.

Editing Translations

In order to edit the translations you need to go to the language you want to edit and then add ?language_edit=1 to the URL. If you already have ? in the URL you need to add &language_edit=1 to the URL.You will be able to visually see the difference of already edited texts and automatically translated texts in edit mode. The texts with the red pencil icons are edited texts. Automatically translated texts are with the green pencil icons.

With the arrow icon you can edit the translated URLs.

Detecting selected language

You can find the current selected language code from X-GT-Lang request header. If your site is written in PHP you can find it in _SERVER['HTTP_X_GT_LANG'] variable.

Upgrading from Pro version

You need to remove the old rewrite rules from your .htaccess file.

To keep the indexed translated pages you can use the following rewrite rule.

RewriteRule ^([a-z]{2}|zh-CN|zh-TW)/(.*)$ http://$$2 [R=301,L,QSA]

Enable JSON format translation

In modern web applications data is being transferred through AJAX requests using JSON format. To be able to translate JSON we need to know which keys we may translate to not break the application. Let's say you have the following JSON data which needs to be translated:

    "description":"test description",
    "months": ["January","February","March"],
    "content":"<i>Hello world</i>",
    "user": {
        "bio":"test user"

You need to specify the keys to be translated in the JSON object by using special key gt_translate_keys. Like this:

    "description":"test description",
    "months": ["January","February","March"],
    "content":"<i>Hello world</i>",
    "gt_translate_keys": ["name", "description", {"key": "months", "format": "list"}, {"key": "content", "format": "html"}],
    "user": {
        "bio":"test user",
        "gt_translate_keys": [{"key": "bio", "format": "text"}]

As you can see from this example, gt_translate_keys should be array. It may simply specify the name of the key which value should be translated or specify also the format of the value. Possible formats are list, html or text which is the default format if not specified.

After it is translated it will look like this:

    "description":"тестовое описание",
    "months": ["Январь","Февраль","Март"],
    "content":"<i>Привет мир</i>",
    "user": {
        "bio":"тестовый пользователь"


What is a Translation Delivery Network?

Translation Delivery Network (TDN) aka Foreign Content Delivery Network (FCDN) is similar to Content Delivery Network (CDN) which is responsible for your static content delivery (images, videos, etc.). TDN will deliver your translations and make your site multilingual.

It means that you don't need to install any software on your server and maintain it to make your website multilingual.


How it works?

You just need to change your DNS records to add sub-domains or domains dedicated to your languages to our Translation Delivery Network.

So when someone visits the new added sub-domain it will show the translated clone of your website.

After that you can just configure and place the GTranslate Free widget on your site to enable language selection.


What are the server requirements?

There are no server requirements! Your website can be written in any programming language and hosted on any web server.

What about updates?

Updates are done seamlessly. Since the translations are hosted on our server we take care about updates. You just use up to date service every day.

Can I test before making a payment?

You can test the free version.

Can I use it on SSL / HTTPS website?

Absolutely! By default we provide a self signed certificate, but if you want we can setup verified certificate purchased by you.

Can I exclude some parts from being translated?

Yes, you need to wrap the text you don't want to be translated with <span class="notranslate"></span>. You can add class="nturl" to the "a" tag if you don't want the destination URL to contain the language code.

How it differs from the Pro version?

Pro version is a software hosted on your own server while Enterprise is a Translation Delivery Network which doesn't require software to be installed on your server.


Do I need to pay for Google Translate API key usage?

No, with Enterprise version we provide the automatic translations for free.