How to configure Joomla Translate, Pro version

Joomla Translate is Joomla extension for automatically translation of Joomla websites with the help of Google, Bing (Microsoft Translator on Azure), Yandex translation API. This article will show you How to configure Joomla Translate Pro version. At the first glance the configuration of Joomla Translate may seem difficult, but all steps are described in details, so follow them and make your Joomla website multilingual. If you have free version of Joomla Translate, please read this tutorial How to configure Joomla Translate, Free version

To start using Joomla Translate, Pro version you need:

1. Install Joomla Translate component. Read the article to make it easier: How to install Joomla Components. Now we need to create Joomla Translate package. This package includes component and module. All of this install with Joomla Translate package. You install it exactly as Joomla component or module.

2. Install Joomla Translate module. Read here to know How to install Joomla Module. Now we created Joomla Translate package. It includes component and module. So you install all by installing Joomla Translate package

3. Go to Extensions → Module Manager → Translate module (Joomla 3) or to System → Site modules (Joomla 4).

Joomla Translate module settings Joomla Translate module settings

3.1. Choose layout for module Joomla Translate.

There are 5 module positions: default (to use standard Joomla position), top, bottom, left and right.

In order to place Joomla Translate module in one of these positions you have to set any standard Joomla position and choose one of predesigned positions of Joomla Translate module

3.2. Set translation method for your website

In Pro version of Joomla translate you may select Instant, jQuery, Redirect.

If you select Instant then your website will be translated without redirect when the user clicks on language flag or chooses language from the drop-down list. If you select jQuery translation, it looks like the method before, but trsnslation will use jQuery JavaScript library and as install Translate API from Google or Bing. And if the Instantmethod is free, jQuery will eat your translate quota. If you select Redirect then your website will be redirected and page will be opened in selected language. If you use Redirect translation method and cache pages, when user is logged in Joomla, their page won't be saved in cache and translation method will be switched to jQuery. This option is necessary for user's data security.

The redirect method - is the best method for SEO. You can create your site Map in any language.

3.3. To set "Remember Language" the website visitors need to press "Translate" for every page of the website. The page will be translated automatically.

3.4. Select whether show or don't show the message that page is not translated

3.5. Set a message that tells the page is not translated

3.6. Use SEF URLs (only for Redirect method). This option is used to correct definition of URLs for translation. If you use search engine friendly URLs on your site, set Yes, if you don't use SEF URLs on your site, set No.

3.7. Hide module. Set to Yes in order to hide module from logged in users. Set to No in order to show module to logged in users. This is necessary to save translation quota.

3.8. Enter languages which you want to display in the flags forms on frontend.

3.9. Images from this module. If you want to merge flags from our Translate module and Joomla language Switcher, choose what flags will be displayed. Set Yes if you want to display flag images from our Translate module (recommended).

3.10. Choose the size of flags. Available sizes:

  • 16px
  • 24px
  • 36px
  • 48px
  • 64px

3.11. Choose style of flags (flat or shiny)

3.12. Choose how you want see languages for translation, You can choose from:

  • Dropdown list
  • Dropdown list with a flag
  • Plain text list
  • Text list with a flag

3.13. Enter languages which you want to display in drop-down list on frontend. If you won't choose any language, drop-down list won't be shown on frontend. This option is available only if you choose default module position.

Go to Components → Translate → Settings → tab General

IMPORTANT: To ensure correct work with Redirect or Sitemap it is necessary to install CURL (php extension) on the server and include options that are in the configuration file (php.ini), which are responsible for supporting the Curl. Joomla Translate component settings need only for USE Redirect and jQuery translate methods.

General settings of Joomla Translate Component General settings of Joomla Translate Component

4.1. In tab "General" field "Main site language". Select main language of your website.

4.2. Translation algorithm (By default 1). You need to check which algorithm works the best for your website.

4.3. On tab "General" field "No translate phrases" insert phrases or words which you don't need to be translated.

4.4. If you don't want to translate some pages, enter their URLs in Untranslatable pages. Each URL should be written from a new line.

4.5. Place to save cache.. This is option to set where all cache will be saved - in files or in database. In the case of saving cache to the DataBase - you will save inode quota for some hosting, also you will have possibility to manual correct page that was translated. "Base url" used as the main page for translation of this URL and this language - without check cookies and post values. Depending on the option you selected where to save cache - you will see pages in "Page manager" (only commerce version) from files or from DataBase.

4.6. You can select which Translate API you need for translation. For now we support Bing translate Api (Microsoft, Axure), Google Translate API and Yandex Translate API. Bing selected as default, because it is free (up to 2,000,000 Characters/month) , but Google supports more languages.

To know how many languages supports each Translator, you can check official documentation:

Yandex is better for cyrillic languages.

4.7. Google API Key. To work with Google Translate service you need to add "API key" on tab "General" field "Google API key". Get started here.

4.8. Bing Translate API. Insert your Bing (Azure) Translate API here. Read How to get Azure Translate API?

4.9. For work with Yandex Translator API subscribe to the Yandex and create billing account. After that you need to create Api Key and add this key to Translate component → General settings → "Yandex security api key"

4.10 On tab "General" field "Remember Language" this is important if you don't want to press Flag in Translate module from website translate every time.

4.11.Joomla multi languages. You need set this option if your website supports native translation from Joomla into other languages. Set this option to YES. But don't use this option together with Joomla FaLang multi languages.

4.12. Falang multi languages. You need to set this option if your site support FaLang translation from Joomla into other languages. Don't use this option together with "Joomla multi languages".

4.13. Translate iFrames. Set to YES if you want to translate iFrames with the help of Joomla Translate. Don't need to set this option if you don't need to translate iFrames or have some errors with iFrame translation.

4.14. Translate URLs. If you want URLs to be translated, set option to YES. You can correct any translated URL manualy or translate in URL manager (only commerce version).

4.15. User IP. Set to Yes if you want to supply the IP address of the end-user on whose behalf the request is being made. This option is used if there are some problems with Google translation. Google limits the translation quota without specifying user IP.

4.16 "Detect language". If the original text on your website is multilangual, set this to Yes

4.17. Debug. Option for error checking. If some page after translation turns to blank page, set this option to Yes in order to check the problem.

Go to Components → SEF Translate → Settings → tab Cache

Cache settings of Joomla Translate Cache settings of Joomla Translate

5.1. Caching. Select Yes to use caching for translated page. This will help you to speed up your website.

5.2. Cache time. Set time (in minutes) after which cache will be refreshed.

5.3. For identification pages of the website (while creating cache) we use POST + COOKIE + URL. If you have pages which after reloading have different value for some keys in POST or in COOKIE (for example Google analytics), please set these keys to be removed from cache page name definition.

In order to ensure website security OrdaSoft Joomla Translate turns off Cache and switches to AJAX automatically when using Redirect while User is logged on the site.

HINT: We usually remove all COOKIES and all POSTS variables from cache.

5.4. Clear Cache. Option gives ability to clear cache.

6. Go to Components → Translate → Settings → tab Site Map

Joomla Translate multilingual Sitemap settings Joomla Translate multilingual Sitemap settings

6.1. SiteMap Component. Select component that is used to generate a sitemap. If you set Not use or choose component that is not installed you will get site map generated only for main menu.

If you choose installed on your site Sitemap component and select some of SiteMap languages, Joomla Translate will translate the Sitemap in all selected languages.

6.2. Sitemap Languages. You need to choose languages in which your website will be translated. This option is required.

6.3. XML Sitemap URL. It is link on XML Sitemap for registration on Search Engines like Google or Yahoo.

6.4. HTML Sitemap URL. It is link to HTML Sitemap for displaying to users.

6.5. Use cache for Sitemap. Select use cache for Sitemap or not.

6.6. If you have huge Sitemap or while creating translation of Sitemap you get errors, you can Add languages on your cached Sitemap.

6.7. Clear cache Sitemap. Click on button to clear cache Sitemap.

IMPORTANT! To see "map site" on different languages, you need add Bing, Yandex or Google Translate API keys.

To view Sitemap you have to create menu item of this component (OrdaSoft Joomla Translate).

IMPORTANT: It is necessary to add this page to Untranslatable pages in Components → Translate → Settings → tab General

To use redirect you need configure redirect with built-in functions joomla or an additional component such as sh404SEF. Next you must add in .htaccess file after RewriteEngine On and activate the option in the settings of joomla responsible for redirect. If you don't have .htaccess file in your website home directory, copy htaccess.txt and rename it to .htaccess

Insert this code in file .htaccess:

RewriteRule ^([a-z]{2})/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^([a-z]{2})$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(pt-PT)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(pt-PT)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(zh-CN)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(zh-CN)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(zh-TW)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(zh-TW)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(bs-Latn)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(bs-Latn)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(ceb)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(ceb)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(hmn)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(hmn)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(mww)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(mww)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(yua)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(yua)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA]

If you want to translate website with subdomain you should insert

RewriteBase /subdomain_name/

before piece of code

RewriteRule ^([a-z]{2})/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA]

IMPORTANT! If you use Joomla Native multi language site or FaLang, for redirect, you need to set exactly for every language what you need to Translate. And don't add redirect for Native languages or FaLang what you set in Joomla content. Below language configure for French, Russian and Chinese - Only These languages Our Joomla Translate component will translate:

RewriteRule ^(fr)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(fr)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(ru)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(ru)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA] RewriteRule ^(zh-CN)/(.*)$ components/com_seftranslate/translate.php?seflang=$1&sefurl=$2 [L,QSA] RewriteRule ^(zh-CN)$ components/com_seftranslate/translate.php?seflang=$1 [L,QSA]

To view translated file (if you save translate to files) - for next manual edit. You need go to file: {yours site}/components/com_seftranslate/translate.php and rows:

//$original_t .= "<!-- sef_translate:".$fileName." -->"; //echo "<!-- sef_translate:".$fileName." -->"; replace to: $original_t .= "<!-- sef_translate:".$fileName." -->"; echo "<!-- sef_translate:".$fileName." -->";

And you at end all yours translated pages will see row like:

<!-- sef_translate:99107586c60db878c4f2430139b387dd.csh --> Where 99107586c60db878c4f2430139b387dd.csh - file with translate from folder: {yours site}/components/com_seftranslate/cache/

Now you may correct translated file content with help "Page manager" - if switch option "save cache" - to "files"

IMPORTANT: Please remember - that file will rewrited - when cache time will expire, if you not set file as "manual transtated" or "base page (only commerce version)".

Read Also more article about Joomla Translate:

»