You generally have to ways to create multi-lingual sites in TYPO3:
Create one page tree which contains a single page for each language, i.e. using TYPO3's language overlay concept.
Create multiple page trees, one for each language. In this case you want the visitor to start at different pages depending on the preferred language.
Installing this extension is fairly easy. Just download it via the Extension Manager (EM) and click on the install button.
You may want to install the suggested extensions to enable language check by IP address, especially GeoIP Libraries (ml_geoip): http://typo3.org/extensions/repository/view/ml_geoip/current/ Please read the GeoIP Libraries manual to set up this extension properly.
Set up the Website Languages for your site as you would normally do.
If you have the extension static_info_tables installed (which you should, as it's highly recommended), choose the right ISO code for the Website Language when you set it up (as you can see in the next screenshot):
If you do not have the extension static_info_tables installed, you'll have to use the “old-fashioned” way. See below.
You can also specify that you want to use the “old-fashioned” way explicitly by setting useOldOneTreeConcept = 1 in TypoScript.
You create your web site's languages just as normal. You only have to define the additional languages, your default language (Website Language UID=0) will be used whenever no other language seems to fit. So if your website has German as default language and provides English and Spanish language versions too, your Website Languages list might look as follows:
Instead of choosing a descriptive title like "english" or "german" you'll have to use the two-letter language codes defined in ISO 639-1 (see: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
The rule in the TYPO3 community is that L as a parameter in the URL means language. If you are using another parameter, you can set the languageGPVar property in TypoScript.
You should define which language is your default language, i.e. the ISO code of the language which will be shown with the parameter L set to zero. See the TypoScript Reference for the property defaultLang below to see how how to set the default language.
So you need different structures for each language? Then you will likely choose the multiple page tree method (this method is explained on this page at typo3.org).
In order to enable it, you'll have to add some TypoScript to the setup field of your root template. Just have a look at the example:
plugin.tx_rlmplanguagedetection_pi1 {useOneTreeMethod = 0
multipleTreesRootPages {de = 216
en = 120
es = 482
}
}
First you disable the One-Tree-Method by setting useOneTreeMethod = 0. Then you define the unique ids of those pages being the root page for each language.
In our example visitors who prefer spanish will automatically guided to the page with the id 482 if they enter the website.

