How to configure SEF Translate (Pro)

At first glance the configuration of SEF Translate Joomla extension 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 SEF Translate, please read this tutorial How to configure SEF Translate (Basic)
Before you start please read this note.

IMPORTANT:
SEF Translate component does not work together with component JoomFish.

To start use SEF Translate Pro you need:

  1. Install SEF Translate component. Read How to install Joomla Component?
  2. Install SEF Translate module. Read How to install Joomla Module?
  3. Go to Extensions -> Module Manager -> module SEF Translate
  4. Joomla SEF Translate module settings
    Joomla SEF Translate module settings

    3.1. Choose layout for module SEF Translate.
    There are 5 module positions: default (to use standard Joomla position), top, bottom, left and right. In order to place SEF Translate module in one of these positions you have to set any standard Joomla position and choose one of predesigned positions of SEF Translate Joomla module.
    3.2. Set translation method for your site
    If you select jQuery then your site will be translated without redirect when the user clicks on language flag or chooses language from the drop-down list.
    If you select Redirect then your website will be redirected and page will be opened on selected language.
    If you use Redirect translation method and cache pages, when user is logged in Joomla, his page won't be saved in cache and translation method will be switched to Jquery. This option is necessary for security of user's data.
    3.3. Select whether or not show the message that page is not translated
    3.4. Enter message that page is not translated
    3.5. Use SEF URLs (only for Redirect method). This option is used for 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.6. 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.7. Enter languages which you want to display in the form of flags on frontend.
    3.8. SEF Translate images. If you want to merge flags from SEF Translate and Joomla language Switcher, choose what flags will be displayed. Set to Yes if you want to display flag images from SEF Translate (recommended).
    3.9. Choose the size of flags. Available sizes: 16px, 24px, 36px, 48px, 64px
    3.10. Choose style of flags (flat or shiny)
    3.11. Enter languages which you want to display in drop-down list on frontend. If you choose no language, drop-down list won't be shown on frontend. This option is available only if you choose default module position.

  5. Go to Components -> SEF Translate -> Settings -> tab General
  6. General settings of SEF Translate Joomla Component
    General settings of SEF Translate, Joomla translation component

    4.1. Website main language. Select main language of your website.
    4.2. Translation algorithm (By default 1). You need to check what algorithm works the best for your website.
    4.3. If you don't want to translate some pages, enter their URLs in Untranslatable pages. Each URL should be written from new line.
    4.4. Place to save cache. You can save cache in Files or in Database. If you save cache in Database, you will save quota for hosting, also you will have opportunity to manually correct pages which were translated and set these pages as base. Base URLs are used as main page for translation for this URL and this language - without checking cookies and post values.
    4.5. Choose Bing or Google Translate API. For now we support Bing translate API and Google Translate API. Bing is selected as default, because it is free (up to 2,000,000 Characters/month) and supports such languages. Google provides paid Translate API, but it supports almost all languages. See pricing here.
    4.6. Google API Key. If you have chosen to use Google Translate API, get started here.
    4.7. Bing Translate API. Insert your Bing Translate API here. Read How to get Bing Translate API?
    4.8.Joomla multi languages. If you want to merge flags from SEF Translate and Joomla language Switcher in one string of flags, set this option to YES
    4.9. Translate iFrames. Set to YES if you want to translate iFrames with help of SEF Translate.
    4.10. Translate URLs. If you want URLs to be translated, set option to YES.
    4.11. 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. Goggle limits the translation quota without specifying user IP.
    4.12. 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.

  7. Go to Components -> SEF Translate -> Settings -> tab Cache
  8. Cache settings of SEF Translate Joomla translation extension
    Cache settings of SEF Translate Joomla translation extension

    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 reload 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 SEF Translate turns off Cache and switches to AJAX automatically when using Redirect while User is logged on the site.

    HINT: We usually remove from cache all COOKIES.

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

  9. Go to Components -> SEF Translate -> Settings -> tab Sitemap
  10. Joomla multilingual Sitemap in SEF Translate Joomla translator
    Joomla multilingual Sitemap in SEF Translate Joomla 3 translation component
    IMPORTANT: To ensure correct work of Sitemap it is necessary to install SOAP client (php extension) on the server and included options that are in the configuration file (php.ini) and which are responsible for supporting the SOAP.

    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, SEF Translate will translate the Sitemap on all selected languages.
    6.2. Sitemap Languages. You need to choose languages on 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 for HTML Sitemap for displaying to users.
    6.5. Use cache for Sitemap. Select use cache for Sitemap or not.
    6.6. If you have very long Sitemap or while creating translation of Sitemap you have error you can Add languages on you cached Sitemap.
    6.7. Clear cache Sitemap. Click on button to clear cache Sitemap.

  11. To view Sitemap you have to create menu item of SEF Translate component.
  12. IMPORTANT: It is necessary to add this page to Untranslatable pages in Components -> SEF Translate -> Settings -> tab General

  13. If you choose Redirect you need configure redirect with built-in functions of Joomla or an additional component such as sh404SEF.
    Next you have to add in .htaccess file following piece of code after words RewriteEngine On and activate the option in the settings of Joomla. 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:
  14. 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]


    If you have Joomla Native multi language site, better not to redirect every language, but to redirect languages from SEF Translate only. Languages that you set in Joomla content (native Joomla languages) shouldn't be redirected. Below is example of language configuration for French, Russian and Chinese languages (that is used in SEF 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]

  15. To view translated file (if you choose place to save cache Files in Components -> SEF Translate ->
    -> Settings -> tab General
    ) and edit it manually you need to go to:
  16. {your site}/components/com_seftranslate/translate.php
    At the end of all your translated pages you will see a row:
    sef_translate:99107586c60db878c4f2430139b387dd.csh
    where 99107586c60db878c4f2430139b387dd.csh - file with translation from the folder:
    {yours site}/components/com_seftranslate/cache/
    IMPORTANT: Please remember - this file will be rewritten when cache time will expire. It refers both to File and Database.

Read also How to edit translated pages manually

Choose your version of SEF Translate and make your website multilingual!

What are you looking for?
Anti-spam question: How many eyes has a typical person?